관리 메뉴

Jacob Baek's home

Jenkins Slave with SSH 본문

DevOps/System&Tools

Jenkins Slave with SSH

jacobbaek Jacob_baek 2020. 9. 9. 17:38

Kubernetes 환경에서 Jenkins helm chart로 Jenkins를 사용하니 ssh를 통한 node 등록이 default로 활성화 되어 있지 않았다.

하여 plugin 설치와 함께 ssh를 통한 node(slave) 등록 방법에 대하여 알아보도록 하겠다.

 

plugin 설치

아래 plugin이 설치되어 있어야 한다.

node(slave) 추가

위 plugin 설치가 완료되면 new node항목을 클릭하여 node를 추가한다. 

이름을 추가하고 지속적으로 사용할 예정이기에 Permanent Agent 를 선택하고 name을 추가하여 생성을 진행한다.

 

 

아래와 같이 Launch agents via SSH 라는 메뉴가 활성화 되어 있어야 한다.

host은 ssh로 접속할 ip 주소를 입력한다.

여기서 credential을 생성해야 하며 해당 정보는 ssh-keygen 명령어로 생성한 private key를 등록해야 한다.

생성방법은 master(jenkins server)에서 접속할 것이기에 해당 서버에 들어가서 ssh-keygen 명령을 통해 생성해도 되고 

혹은 기존에 사용하던 ssh-key가 있다면 기존에 사용하던 key중 public key를 접속하고자 하는 node(slave)에 authorized_keys 파일내에 추가해 놓으면 된다. (참고로 ssh-copy-id 명령을 사용해도 무방하다.)

 

위와 같이 credentail까지 생성하고 생성을 진행한다.

아래와 같이 생성된 node를 확인할수 있다.

 

해당 node를 활용한 jenkinsfile(pipeline)을 생성하고자 한다면 아래와 같은 node 의 label을 지정하면 된다.

pipeline {
  agent {
    node {
      label 'oxxxxxxxxxxxxxxxxx'
      customWorkspace "workspace/"
    }
  }
  ...

 

'DevOps > System&Tools' 카테고리의 다른 글

Jenkins Slave with SSH  (0) 2020.09.09
Jenkins Directories  (0) 2020.08.14
How to use minio as Terraform backend  (0) 2020.05.28
Helm usage  (0) 2020.01.23
Use ssh with jenkinsfile as scripted pipeline  (0) 2019.12.11
How to use GitLab API  (0) 2019.11.27
0 Comments
댓글쓰기 폼