CI & CD

Jenkins Slave Node

코드파고 2024. 12. 4. 19:33

Jenkins Slave Node 를 만들어보자.

현재 프리티어 EC2(ubuntu)를 만들어 둔 상태이며, 인바운드는 SSH 정도를 허용해 둔 상태이다.

마스터 노드에서 슬레이브 노드로 SSH로 붙어야 하기 때문에 pem 키로 접속하여 기본 설정을 잡아주도록 한다

Slave Node Server(EC2) 설정

EC2 직접 접속

ssh -i my.pem ubuntu@<public-ip4-DNS>

 

기본 설치

sudo apt-get upgrade
sudo apt install openjdk-17-jdk # 원하는 버전 설치

 

Master가 접근할 디렉토리 생성 및 권한 부여

sudo mkdir /home/jenkins
sudo chown ubuntu:ubuntu /home/jenkins

 

private key, public key 생성

ssh-keygen -t rsa -b 2048 -C "jenkins-ssh" -f ~/.ssh/jenkins_key

 

cat ~/.ssh/jenkins_key.pub
echo [jenkins_key.pub 내용] >> ~/.ssh/authorized_keys

Master Node Jenkins 설정

Master Node는 편의상 로컬의 Docker로 실행해 둔 상태이다

Credential 생성

Dashboard > Jenkins 관리 > Credentials > System > Global credentials (unrestricted)

Node 생성

Dashboard > Jenkins 관리 > Nodes -> New Node

Host IP 에는 EC2의 public IP를 기입해주자

옵션이지만 Disk Space Monitoring Threshold를 기입 시 Slave의 상태를 모니터링할 수 있게 된다.

결과

Slave Node의 연결을 확인할 수 있다.