Documents

Add multi-nodes

ssh key 처음 생성하기

$ mkdir ~/.ssh && chmod 700 ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t rsa -C "JenkinsAgentRSA" -f "jenkinsAgent_rsa"
$ ls
jenkinsAgent_rsa  jenkinsAgent_rsa.pub
  • 이 키는 한번 만들어두면 여러 slave 서버에 사용할 수 있다.

Slave 서버에 public key 등록하기

$ cat jenkinsAgent_rsa.pub >> ~/.ssh/authorized_keys

Jenkins에 private key 등록하기 (jenkins mgmt, master node)

  1. credentials 생성

    1. Add Credentials 로 추가

      • Username: 접속하고자 하는 서버의 계정

      • Private Key: 서버에서 생성한 private key

      • Passphrase: ssh key 생성시 입력한 passphrase

Jenkins에 Slave 노드 추가하기

  • # of executors 갯수는 전체 코어 갯수보다 적게 설정해야 한다. → lscpu 명령어로 cpu 정보 확인 가능
    https://stackoverflow.com/a/9626974/3793078

  • Username: 접속하고자 하는 jenkins-slave 의 계정

  • Passphrase: ssh key 생성시 입력한 passphrase

  • Host Key Verification Strategy 값은 Manually trusted key Verification Strategy 로 설정해줘야 한다.

  • launcher agent로 설치

Troubleshooting

Failed to create parent directories for tracking file

[WARNING] Failed to write tracking file /home/user/.m2/repository/...
  • 원인: 빌드가 동작하는 노드가 예전에 docker로 jenkins를 띄웠었는데, 그 때 m2 디렉토리 권한을 root로 변경시킴

  • 해결방법: $ chown -R user:user ~/.m2

도커 슬레이브 설치시 슬레이브 서버에 yum 업데이트할 때 커널 제외하기 * https://www.cyberciti.biz/faq/yum-update-except-kernel-package-command/