본문 바로가기

Jenkins git rollback Jenkins 에서 예전 빌드로 배포하는 방법을 좀 찾아봤다. 흔히 말하는 롤백.배포되지 말아야 할 소스가 배포되었다거나, 잠시 이벤트성 수정이 들어갔다거나 할 경우 꼭 필요한 기능!빌드 리스트 세부 메뉴에 Re-Build Now 라는 메뉴가 하나 더 있어서 그 당시 리비전으로 빌드/배포되면 차암~ 좋을거 같았는데... 없네...Jenkins 에는 알아서 롤백해주는 머 그런건 아직 없는 듯... 하지만 수고+1 정도를 추가하면 가능하긴 하다. 바로 [SCM] - [Branch Specifier] 항목을 이용하면 된다.Branch 를 지정할 경우 해당 Branch 의 최신 리비전을 가져오지만,Tag 로 지정할 경우 해당 Tag 의 리비전을 가져오니, 롤백이 가능하다는 말쌈. 그리고 Git Tag Messa..
Jenkins + Slack Jenkins 에서 빌드 실패 / 성공에 관한 여러가지 알림 이벤트를 슬랙으로 받을 수 있다. 1. App Directory 에서 Jenkins CI 검색 -> 설치 -> 채널 선택2. Jenkins 대시보드에서 Slack Notification Plugin 설치3. 시스템 설정에서 팀 도메인 / 토큰 / 채널 입력4. 해당 프로젝트 설정의 빌드 후 조치 추가(Post-build Actions) - [Slack Notifications] 에서 필요한 알림 이벤트 체크 기본 메시지는 [프로젝트 네임] - [빌드 넘버] 정도로 단순하다.[고급] - [Include Custom Message] 를 선택하여 원하는 변수로 메시지를 작성할 수도 있다. (환경 변수 참조) Build #$BUILD_NUMBER Br..
Jenkins build Freestyle project 의 UI 에서 설정한 빌드/배포 등을 pipeline script 로도 작성할 수 있다.또한 Multibranch Pipeline item 을 사용하여 Jenkinsfile 과 함께 작성할 수도 있다. 하지만 결론부터 얘기하자면... 난 script 로 작성하는 것을 실패했다 ㅜ빌드까지는 문제 없었지만 Publish Over SSH 플러그인을 사용하여 배포하는 부분을 script 로 변환하는데 실패했다. 내공 부족 ㅜ일단 Freestyle project UI 만으로 Product/Development 코드 분리와 모듈별 web/api/cms 부분을 빌드하는데 별 문제가 없으니 일단은 그냥 진행하는걸로...; Build 기존에는 Product/Development 코드를 b..
Freestyle project Jenkins 설치를 진행하여 Jenkins 웹UI에 접속할 수 있었다. 영어와 한글이 혼합되어 있는 이 모습이 썩 맘에 들진 않는다;암튼 다음 할 일은 Pipeline 을 생성하고 설정하여 우리가 하려는 CI 기능을 동작시키는 것이다.Pipeline 이란 것은 빌드나 테스트, 배포 등의 단계를 구성하는 하나의 프로젝트 정도로 봐도 될 것 같다. Pipeline 을 정의하는 방법은 두가지가 있다.- 웹UI 를 이용하는 방법- Jenkinsfile 을 이용하는 방법 어느 것을 사용하던 동작은 동일하다.웹UI를 따라서 선택하고 입력한 것이나, Jenkinsfile 에 DSL 코드로 작성하는 것이나 동일한 동작을 하게 할 수 있다.SCM 을 이용하여 협업 등을 이유로 메뉴얼에서는 Jenkinsfile 의 사용..
Jenkins install 프로젝트의 자동 빌드 및 배포를 목적으로 CI/CD (Continuous Integration/Deployment) 를 적용하기로 했다.CI tool 중 가장 많이들 사용하는 jenkins 와 AWS 에 최적화 된 우리에게 적합한 CodeDeploy 를 테스트하고 비교해 보기로 했다. [필수 요구 조건] - 하나의 VCS 에서 모듈 별로 배포가 가능해야 한다.- 운영/개발 서버별로 배포가 가능해야 한다.- 배포시 특정 서버를 선택할 수도 있어야 한다. 현재는 로컬에서 빌드하고 S3에 업로드 하고 각 서버들에서 배치파일을 실행하여 배포가 되는 식이다.이것을 VCS 에서 특정 모듈을 특정 서버로 자동 배포하는 방식으로 바꾸려는 것이다. 1. Jenkins 란 Jenkins 는 Java 로 제작된 CI 오픈소..