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의 연결을 확인할 수 있다.