Jenkins Node Agent Yükleme

Deniz TÜRKMEN
4 min readDec 19, 2022

--

Merhabalar,

Bu yazımda var olan Jenkins’imize node agent kurulumu inceliycez. Bu agentlar;

  • Jenkins kurulu olduğu 192.168.1.9 “master-agent-java” isminde
  • Başka bir VM’deki makineye 192.168.1.2 “slave-agent-netcore” isiminde iki tane agent kurulu gerçekleştircez.

Eğer localinizde jenkins kurulu değil ise diğer yazımından kuruluma okuyabilirsiniz.

Ilk olarak Jenkins kurulu olduğu makineye master-agent-java adında bir agent kuralım. Bunun için ilk olarak bir tane ssh keygen oluşturuyoruz. Jenkins kurulu olduğu makine üzerine ilk agent kuracağımız için java kurulu ve jenkins isminde sudo yetkisine sahip bir kullanacımız mevcuttur. Şimdide jenkins’in kurulu olduğu master olarak belirlediğimiz node’dan bir tane ssh keygen oluşturalım Bunun için,

su - jenkins 

ssh-keygen -t rsa -b 2048 -C "adding node agent for jenkins"

Node bağlanmak ssh keygen’imiz oluştu.

  • id_rsa -> private key
  • id_rsa.pub -> public key

Şimdide bu ssh key ile bir tane global credentials oluşturalım. Bunun Jenkins UI’dan;

  • Manage jenkins -> Global credentials geçip Add credentials diyoruz.
  • Kind: SSH Username with private key
  • Scope: Global
  • Username: jenkins
  • Private key: Jenkins kullanıcıs ile oşuturduğumuz ssh keygendeki id_rsa alıyoruz.

Evet böylece bir tane global tipinde credentials oluşturduk.

Buradan sağ menüden Manage jenkins ordan da Manage and Cloud Nodes geçiyoruz.

Görüldüğü gibi şuan sadece Jenkins kurulu olduğundaki Build Node aktif. New node deyerek bir agent node oluşturmaya başlayalım. Burada ki keyword’leri biraz bahsetmek gerekirse,

  • Name: Node’unuza bir tane isim belirliyorsunuz.
  • Permanent Agent: Node kalıcı olark işaretliyoruz.
  • Number of executors: Burası biraz önemli seçtiğiniz executers ilk oluşan build Node executer sayısından az olmak zorundadır. Aslında bildiğiniz makinenin kaç core kullanacağını belirliyorsunuz.
  • Remote root directory: Jenkins oluşturacağı build ( .jar ) dosyaları burada belirlediğiniz folder altına gerçekleşecektir.
  • Labels: Agent bilgilendirme label’ı giriyoruz.
  • Usage: İki seçenek mevcuttur. Biri node her türlü kullanmak için. ikincisi ise bir label ile eşleştiğinde pipeline koşmasıdır. bir ikinci metot ile ilerliycez.
  • Launch method: Ssh ile ilerliyceğimiz için ssh seçiyoruz.

Şeçtikten sonra karşımıza böyle bir ekran gelmektedir.

  • Host: Hostname yada IP adresi
  • Credentials ise bir tane oluşturmamız gerekiyor. Add butonu ile oluşturalım.

Passphrase: Kısmında ise bizden bir password istiyor ama biz ssh keygen oluşturduğumuzda password belirtmediğimiz için bu alanı boş geçiyoruz.

Evet görüldüğü gibi ilk agent bağlandı.

Şimdi de farklı bir VM’deki node agent kuralım ama öncesinde bir jenjins user ve java’nın yüklü olması grekmektedir.

sudo apt install software-properties-common apt-transport-https -y

sudo add-apt-repository ppa:openjdk-r/ppa -y

sudo apt-get install -y openjdk-11-jdk

java --version

Jenkins user oluşturalım.

sudo adduser jenkins

sudo adduser jenkins sudo

id jenkins

Şimdide master olarak kullandığımız node’dan ssh keygen kopyalayalım bunun için,

Note: Masterdan agent kurulu olacağı node.

ssh-copy-id jenkins@192.168.1.2

Keygen kopyaladıktan sonra Jenkins UI’dan bir tane node ekliyoruz.

ve

Gerekli bilgileri girdikten sonra. agent loglarına baktığımızda,

Bağlantı kurulduğu gözükmektedir.

--

--

Deniz TÜRKMEN
Deniz TÜRKMEN

Responses (1)