Ch 06. AWS Server
- 18. Jenkins Pipe Line 만들기 1
- 19. Jenkins Pipe Line 만들기 2
Jenkins Pipe Line 만들기
기존 젠킨스
기존의 젠킨스는 소스를 내려받고 빌드하고 배포하는 모든 과정을 단 하나의 JOB 으로 진행을 했었다.
젠킨스 파이프라인
파이프라인은 이벤트 혹은 Job의 그룹이다. 기존 젠킨스와의 다른점은 각각의 영역이 분리되어 있다는 점이다. 분리된 영역에서
시간이 얼마나 걸렸는지 알 수 있고 가시적으로 확인이 가능하다.
파이프라인 생성
좌측 메뉴 중 새로운 Item 항목을 클릭한다.
이름을 입력하고 Pipeline항목을 클릭한다.
파이프라인
Pipeline 항목을 클릭하면 script를 입력할 수 있는 에디터를 확인할 수 있다.
우측의 try sample Pipeline항목을 클릭하면 샘플코드를 확인할 수 있다.
아래는 강의 영상에서 제공하는 샘플 script코드이다. 단계별로 하나하나 살펴보겠다.
파이프라인에서 스테이지가 의미하는건 각각의 단계들을 의미하고 steps 들은 그 세부적인 단계로 나눈 과정이다.
pipeline {
agent any
tools {
maven "maven" // 메이븐 기존에 세팅한 명칭
}
stages {
stage('git Pull') {
.
.
}
.
.
.
stage('RESTART'){
steps {
.
.
}
}
}
}
1. maven 설정
tools {
maven "maven" // 메이븐 기존에 세팅한 명칭
}
젠킨스 메인 화면 좌측 Jenkins 관리 -> Global Tool Configuration -> Maven 항목을 확인한다.
2. git 설정
github 또는 bitbucket에 올라가있는 소스의 경로를 세팅해준다.
stage('git Pull') {
steps {
git [git pull 주소] // 세팅한 git 주소
}
}
3. build 설정
- sh : 터미널에서 해당 명령어를 입력하겠다.
- mvn : 메이븐 빌드를 실행하는 명령어이다.
-D : 메이븐 테스트가 빌드 실패시에도 무시
-f : pom.xml 의 위치
clean, package : 빌드 후 패키징
stage('Build') {
steps {
sh "mvn -Dmaven.test.failure.ignore=true -N -f review/pom.xml clean package" // 빌드하기, pom.xml 의 위치
}
}
4. 배포 설정
이전에 젠킨스에서 배포를 했던 방식은 빌드후 조치에 Send build artifacts over SSH 를 선택해서 값들을 세팅해 주었다.
이번에 사용한 방식은 scp 라는 명령어로 파일 전송을 시도한다.
stage('Deploy'){
steps {
sh "scp -i [pem 파일 경로] [복사하고자 하는 로컬 디렉토리 혹은 파일 명] [ec2계정명]@[dns or pulbic ip]:[복사 받고자 하는 aws 디렉토리]" // WAR 파일 복사 구문
}
}
5. 재시작
stage('RESTART'){
steps {
sh "ssh -i [pem 파일 경로] [복사하고자 하는 로컬 디렉토리 혹은 파일 명] [ec2계정명]@[dns or pulbic ip] sudo systemctl restart tomcat" // 재시작 명령어
}
}
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'AWS' 카테고리의 다른 글
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 17일차 (0) | 2021.09.22 |
---|---|
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 16일차 (0) | 2021.09.21 |
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 14일차 (0) | 2021.09.19 |
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 13일차 (0) | 2021.09.18 |
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 12일차 (0) | 2021.09.17 |
댓글