[Jenkins] 젠킨스 agent 노드 추가 (젠킨스 분산빌드)
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