Ch 04. AWS Server
46. 지라 이슈 ID, BitBucket 연결 - 1
47. 지라 이슈 ID, BitBucket 연결 - 1
48. Jenkins Pipe Line 만들기 - 1
49. Jenkins Pipe Line 만들기 - 2
Jira와 bitbucket 연결
Jira와 bitbucket을 연결하여 push 하면 jira 이슈가 등록되고 jira에서 이슈 처리를 하면 bitbucket에서 반영이 되도록 설정해본다.
bitbucket OAuth생성
bitbucket으로 이동하여 oauth키를 생성한다. bitbucket 하단의 메뉴에서 all workspaces를 클릭한다.
manage버튼을 클릭
왼쪽 oauth consumers를 새롭게 생성한다.
생성된 consumers정보를 bitbucket에 연결한다.
JIra에 Bitbucket OAuth 적용
JIra에서 응용프로그램 메뉴로 이동한다.
왼쪽 메뉴의 DVCS accounts로 이동하여 bitbutcket oauth정보를 입력한다.
권한 설정을 확인한다.
Jira와 연결할 저장소를 선택한뒤 동기화를 진행한다.
Jira프로젝트로 돌아가서 화면을 보면 오른쪽에 개발 영역이 생성되었다.
Jenkins Pipe Line 만들기
새로운 아이템을 생성하여 파이프라인을 만든다.
사용할 이름을 입력하고 ok버튼을 클릭한다.
파이프라인을 작성하는 영역으로 이동한다. pipeline scm과 pipeline script 두 가지 메뉴가 존재한다. pipeline scm은 제공되는 옵션을 선택하여 원하는 작업을 생성하는 방식이고 pipeline script는 직접 명령어를 작성하여 작업을 생성하는 방식이다. pipeline scm 방식에는 jenkin에서 지원하는 작업만 생성이 가능하므로 제한이 많은 단점이 있다. 자율적인 작업을 생성하기 pipeline script를 작성한다.
강의에서 아래 예시 pipeline script를 제공 받았다. 처음부터 살펴보면 maven을 사용한 build 작업이다.
- git에서 소스코드를 동기화한다.
- maven으로 빌드를 시작한다.
- ssh 명령어를 통해 *. war 파일을 업로드한다.
- 톰캣을 재시작한다.
pipeline {
agent any
tools {
// 메이븐 기존에 세팅한 명칭
maven "maven"
}
stages {
stage('git Pull') {
steps {
// 세팅한 git 주소
git 'https://dooyeoung@bitbucket.org/dooyeoung/reviewaws.git’
}
}
stage('Build') {
steps {
// 빌드하기, pom.xml 의 위치
sh "mvn -Dmaven.test.failure.ignore=true -N -f review/pom.xml clean package"
}
}
stage('Deploy'){
steps {
// WAR 파일 복사 구문
sh "scp -i \"/Users/jinhobae/Documents/key/chicken.pem\" review/**/*.war ec2-user@13.209.48.204:/opt/tomcat/webapps"
}
}
stage('RESTART'){
steps {
// 재시작 명령어
sh "ssh -i \"/Users/jinhobae/Documents/key/chicken.pem\" ec2-user@13.209.48.204 sudo systemctl restart tomcat"
}
}
}
}
pipeline script에서 maven의 내용은 jenkins 관리에서 global tool configuration 메뉴에 maven 영역의 정보다.
파이프라인 생성 후 build를 시작하면 stage별 상황을 확인할 수 있다.
12일 차 마무리
jenkins 빌드 후 작업들을 추가하여 pipeline을 만드는 방법을 학습했다. 코드 작성 후 업로드, 빌드, 서버 배포 작업은 반복되는 작업을 시각적으로 관리할 수 있는 점과 다양한 script를 추가하여 관리 가능한 점이 jenkins를 실무에 꼭 활용해봐야겠다는 생각이 든다.
현재 수강 중인 강의는 아래와 같다
올인원 패키지 : AWS/Docker 클라우드 서버구축👉https://bit.ly/3bFlm0e