728x90
반응형
jenkins-node1 Docker 서버 추가 및 실행
> docker run --privileged --name jenkins-node2 -itd -p 40022:22 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup --cgroupns=host edowon0623/docker:latest /usr/sbin/init
> ssh root@localhost -p 40022
기동된 서버 ip Address 확인하기!
ncurses git / JDK 설치
# yum install -y ncurses git
# yum list java*jdk-devel
# yum install -y java-11-openjdk-devel.x86_64
Master 서버에 Node2 Keygen 복사하기 (이 설정을 해야 Jenkins에서도 Master에서 Node2에 접속이 가능해진다.)
[복사하기]
ssh-copy-id root@172.17.0.5
[연결 동의하기]
yes
[패스워드 입력]
P로시작하는 패스워드 입력
Node 추가하기
: https://u-it.tistory.com/entry/Jenkins-Multi-nodes-%EA%B5%AC%EC%84%B1-MasterSlave
- Node Name : slave2
- Description : Add a server as the second slave machine
- Number of executors: 2
- remote root directory : /root/slave2
- Labels: slave2
- Usage: User this node as much as possible
- launch method : Launch agent via SSH
- Host : 슬레이브 서버 IP주소 등록
- Port : 22
- Credentials : 이전에 추가한 크레덴셜 root/password 선택
Remote root Directory를 /root/slave2로 수정한 후 Node2 서버에서 해당 디렉토리 경로를 생성해준다.
나머지 정보 입력
Nodes가 정상적으로 추가되었다.
Pipeline 설정 (Third Pipeline 수정)
기존 Pipeline Script를 수정한다.
아래 코드를 추가한다.
agent {
label 'slave1'
}
agent any와 SonarQube는 임시 주석처리한다.
pipeline{
// agent any
agent {
label 'slave1'
}
tools {
maven 'Maven3.8.5'
}
stages{
stage('github clone') {
steps {
git branch: 'main', url: 'https://github.com/YooHyeok/docker_jenkins_deploy_project_example'
}
}
stage('build') {
steps {
sh '''
echo build start
mvn clean compile package -DscipTests=true
'''
}
}
// stage('SonarQube analysis') {
// steps {
// withSonarQubeEnv('SonarQube-server') {
// sh 'mvn sonar:sonar'
// }
// }
// }
// stage('deploy') {
// steps {
// deploy adapters: [tomcat9(credentialsId: 'deployer_user', path: '', url: 'http://192.168.0.31:8080')], contextPath: null, war: '**/*.war'
// }
// }
// stage('ssh publisher') {
// steps {
// sshPublisher(publishers: [sshPublisherDesc(configName: 'docker-server', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'docker build --tag=maerong/ssibal -f Dockerfile .', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '.', remoteDirectorySDF: false, removePrefix: 'target', sourceFiles: 'target/*.war')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
// }
// }
}
}
slave2로 빌드해보기
agent {
label 'slave2'
}
728x90
반응형
'CI CD InfraStructure > Jenkins' 카테고리의 다른 글
[Jenkins] Multi nodes 구성 (Master/Slave) (0) | 2023.07.12 |
---|---|
[Jenkins] Sonarqube 연동 및 Pipeline 사용 (0) | 2023.07.12 |
[Jenkins] Pipeline Syntax - Maven Build / 배포(Tomcat, Docker컨테이너) (0) | 2023.07.11 |
[Jenkins] Pipeline Item 생성, Pipeline script 작성 (0) | 2023.07.10 |
[Jenkins] Delivery Pipeline 구축 및 시각화 플러그인 설정 (0) | 2023.07.10 |