본문 바로가기

자동화

(3)
jenkins - pipe line build job(3) 여러개의 서버의 소스를 배포하고 관리하는 과정에서 pipe line을 사용했습니다. aws cloud에 세팅 되어있는 서버들은 모두 다른 instance에 존재했습니다. jenkins의 하나의 job 안에서 서로 다른 서버에 소스를 배포하는 방법을 찾던 차에 pipe line을 알게되어 사용하게 되었습니다. pipe line은 여러개의 stage를 두어 pipe line의 script를 실행하는 것 뿐만이 아니라 jenkins에서 생성해둔 job(item)을 직접 실행시킬 수도 있었습니다. 이번 포스팅에서는 pipe line을 통해서 기존에 생성했던 job을 실행하는 예제입니다. job을 실행하기 전에 지난번 포스팅에서 다루었던 input을 통해 변수를 받고 다음 job에서 파라미터로 받아 실행해보도록 ..
jenkins - pipe line input, modal(2) 지난 포스팅에서는 jenkins pipeline에서 제공하는 hello world 예제를 통해 pipeline을 작성 기초를 실습해 보았습니다. 이번 시간에는 조금더 심화된 내용으로 접근에 보겠습니다. pipeline은 groovy 문법으로 된 Declarative 코드를 사용하여 작성할 수 있습니다. 지난번 포스팅에 이어서 작성한 pipeline을 수정하면서 진행하겠습니다. 아직 pipeline을 만들지 않았다면 지난 포스팅을 참고해주세요. jenkins - pipe line 사용하기 기본(1) 이번 포스팅에서 해볼 작업은 다음과 같습니다. 1. stage 추가 2. input 키워드로 modal 띄워서 문자열 입력받기 pipeline { agent any stages { stage('Hello') {..
jenkins - pipe line 사용하기 기본(1) 소스코드를 실제 서버에 배포를 하는 작업은 비즈니스 로직을 구현하는 일 만큼이나 복잡한 작업일 때가 있습니다. 여러가지 job 순차적으로 또는 조건에 따라 다른 작업을 수행할 수 도 있습니다. 저도 이전에 작성한 글에서와 같이 간단한 api 서버를 각각 배포하는 일만 하다가 최근 블록체인의 여러개 노드를 jenkins로 구성하고 업데이트하는 작업을 한 적이 있습니다. 각각의 job은 큰 작업이 아니었지만 원격의 6개 서버에 각각 순서에 맞게 docker swarm 세팅을 하고 그 작업이 끝난 후에 master 노드에서 각각의 서버에 docker를 up 하는 꽤나 번거로운 작업이었습니다. 결과적으로 코드는 단순했지만 이 또한 다른 작업들과 마찬가지로 "모르면 어렵지만 알면 쉬운 작업" 이었기에 또 한 번 ..