728x90
1.Pipeline 생성
jenkins에서 새로운 아이템을 Pipeline으로 생성해줍니다.
2.Maven 버전 설정
jenkins 관리 ->Tools ->Maven installations에 Maven이 설정되있는지 확인합니다.
3. Pipeline Script 생성
pipeline {
agent any
tools {
maven 'maven3.9.2'
}
stages {
stage('github clone') {
steps {
// Get some code from a GitHub repository
git branch: 'main', credentialsId: 'jenkins_maven', url: 'https://github.com/yougeun6021/Jenkins_maven_war'
}
}
stage('build'){
steps{
sh '''
echo build start
mvn clean compile package -DskipTests=true
'''
}
}
}
}
2번에서 확인한 maven을 maven script에 넣어주고 git의 Repository를 가져와 maven build하는 script를 작성해줍니다.
3-1 Pipeline Syntax 사용
Pipeline Script 구성 이미지에서 Pipeline Syntax버튼을 누른 후 git repository에 관한 설정을 입력하면 자동으로 script를 생성해줍니다.
4. 빌드 확인
빌드에 성공하면 #3처럼 모든 stage가 초록색인 것을 볼 수 있습니다.
5. tomcat 서버에 배포하기
stage('deploy'){
steps{
deploy adapters: [tomcat9(credentialsId: 'deployer_user', path: '', url: '[tomcatUrl]')], contextPath: null, war: '**/*.war'
}
}
pipeline syntex를 이용하여 deploy script를 만들고 3번의 Pipeline Script에 deploy stage를 추가 후 빌드합니다.
6.Docker 서버에 배포하기
stage('ssh publisher'){
steps{
sshPublisher(publishers: [sshPublisherDesc(configName: 'docker-host', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''docker build -t docker-server-script -f Dockerfile .;
docker run -d -p 8080:8080 --name maven_project docker-server-script:latest''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '.', remoteDirectorySDF: false, removePrefix: 'target', sourceFiles: 'target/*.war')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
pipeline syntex를 이용하여 ssh publisher script를 만들고 3번의 Pipeline Script에 ssh publishe stage를 추가 후 빌드합니다.
7.docker 서버 배포 확인
docker-server-script로 컨테이너가 가동된것을 볼 수 있다.
728x90
'devops' 카테고리의 다른 글
Linux Ec2에 docker 설치 (0) | 2024.03.22 |
---|---|
Linux Ec2에 Jenkins 설치 (0) | 2024.03.20 |
docker ssh server 설치 및 설정 (0) | 2024.03.11 |
Jenkins 빌드 파일 다른 서버에 배포(maven,war) (0) | 2024.03.11 |
Jenkins Poll SCM설정 (0) | 2024.03.11 |