CICD/Jenkins

[Jenkins] 젠킨스 agent 노드 추가 (젠킨스 분산빌드)

2mukee 2021. 12. 15. 01:35
320x100
320x100

Jenkins agent Node 

: Master - Slave 구조로 관리는 Master 노드에서 빌드는 Agent 노드에서 진행하는 방식

: Jenkins Agent 설치 파일을 배포하여 Master 노드에 대한 1:1 연결

 

 

 

 

1. 마스터 노드에서 노드관리 접속

 

 

 

 

 

 

 

2. 신규노드 생성

 

 

 

 

 

 

 

3. 노드명 및 영구적인 Agent 체크 후 Create

 

 

 

 

 

 

4. 정보 입력

Name = Agent로 사용할 node의 이름
Number of executors = Agent node의 동시 job 실행 개수
Remote root directory = agent를 설치할 jar 파일이 위치해야 할 곳
Launch method = Agent로 사용할 곳의 접속정보 (JAVA / SSH 등 방법 존재)

=> JAVA를 통한 접속 설정 (Launch agent by ~~) 후 SAVE

 

 

 

 

 

 

 

5. 생성된 노드 이름 클릭

 

 

 

 

 

 

6. 안내사항에 따라 Agent 노드로 사용될 서버에 설치

: 파란글씨의 agent.jar 우클릭 -> 링크 주소 복사

: cd Agent_노드로_설정한_루트_디렉터리

: wget 복사한링크 

: 이후 안내 사항에 따른 명령어 실행 (nohup 과 & 사이에 명령어를 실행할 것)

: Run from agent ~~~, with the secret ~~아래 명령어 사용을 권장

=> 마스터 노드의 50000포트가 열려있어야함 (Jenkins 내부 설정 포트)

 

 

 

 

 

7. 연결상태 확인

 

 

 

 

 

 

 

 

agent와 프로젝트 연결

1. 프로젝트 > 구성

 

 

 

2. 아래와 같이 설정

 

 

 

 

3. 프로젝트와의 연결상태 확인

 

 

 

 

 

 

Agent Node 자동실행 설정

vi ~~~/jenkins-agent.sh
java -jar agent.jar -jnlpUrl http://~~~~ -secret @secret-file -workDir "~~~"

chmod 700 ~~~/jenkins-agent.sh
vi /usr/lib/systemd/system/jenkins-agent.service
[Unit]
Description=jenkins agent
After=syslog.target network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=~~~/jenkins-agent.sh -d
WorkingDirectory=~~~

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl enable jenkins-agent
systemctl start jenkins-agent

300x250
728x90