개발/젠킨스 (11) 썸네일형 리스트형 Jenkins Global 환경변수 젠킨스의 어떤 Job에서 사용할 수 있는 변수들 환경변수들을 확인할 pipeline Job 생성 예제 Declarative Scriptedpipeline { agent any stages { stage('Example1') { steps { sh 'printenv' } } } } 빌드하고 로그 통해서 환경변수들 확인 Web UI로 등록해보기 Jenkins 관리 => 시스템 설정 => Global properties 항목 새로 추가할 환경 변수 저장 위에서 만든 Job으로 추가한 환경 변수들 확인 Scripted 에서 환경변수 추가하고 사용하기 최상위 파이프라인 블록에 사용되는 environment directive는 파이프라인 내의 모든 단계에 적용 stage 내에 정의된 e.. Jenkins Pipeline에서 shell 사용하기 Scripted Pipeline으로 작성하던 Declarative Pipepline 작성하던간에 step 단계에서 shell 명령어를 실행시킬 수 있다. Scripted Pipeline 에서는 별도의 step 단계가 없다. 기본 홑따옴표를 사용하던 쌍따옴표를 사용하던 상관없다.node { stage('Stage 1') { sh 'pwd' sh 'node -version' } } 옵션 returnStdout output을 반환node { stage('s') { def output = sh(encoding: 'UTF-8', returnStdout: true, script: 'java -version') echo output.. Jenkins pipeline 사용해보기 Jenkins pipeline 이 뭐냐? 젠킨스의 플러그인들 중 하나. 그러니까 플러그인 어떤 역할을 해주는 플러그인이냐? 연속적인 이벤트 또는 Job의 그룹을 실행시킬 수 있다고 한다. 그러니까 하나의 Job에서 여러 가지 일들을 할 수 있도록 도와주는거? 왜 필요한거지? 단순한 Job들이 많아지는 경우 Job을 관리하기가 힘들어진다고 함. 그럴 것 같다 이걸 파이프라인으로 작성하여 하나의 Job으로 묶으면 관리도 편해지고 진행 상황도 알 수 있고 직관적인 파익이 가능하다고 함 젠킨스 공식 사이트에서의 소개하는 Jenkins 파이프라인에서 쉽게 모델링할 수 있는 CD 시나리오의 예 Pipeline Concept Pipeline Agent/Node Stage Step 어떻게 하는거야? pipeline 전.. jenkins에 job 등록하기(Webhook과 Poll SCM) 깃허브와 젠킨스를 연동하여 깃허브 브랜치에 push가 되면 젠킨스 빌드가 실행되도록 하는게 것이 목표 테스트에 사용할 코드 준비 git hub에 테스트에 사용할 repository를 생성하고 로컬에 클론해서 로컬에도 생성해 둔다 project.sh 파일을 만들고 파일 내용 echo "깃허브 웹훅과 젠킨스 좝 연동하여 빌드하기" 작성하여 두자ngrok 설정 로컬 호스트 주소를 외부에서 접속할 수 있도록 해주는 프로그램 ec2나 서버에 있는 젠킨스를 사용하는 것이라면 ngrok 필요없으므로 넘어가도 됨* 나는 로컬에 젠킨스를 도커로 설치하였기에 필요함 ngrok 사이트에 가입 https://ngrok.com/download 에서 다운로드 터미널에서 ngrok 명령어 입력 후 설치 확인 ngrok에 로그인 후.. 매개변수를 입력받는 Job 새로운 Job 생성 General 탭에서 이 빌드는 매개변수가 있습니다(This project is paramterized) 체크 선택박스에서 파라미터 타입 선택 테스트로 String Paramter 선택 Choice Paremater를 선택하면 빌드 시 파라미터를 몇 개를 선택할 수 있게 해줌 매개 변수명과 기본 값 작성 이전 포스트에서 작성했던 것처럼 build 부분에 아래와 같이 작성하여 입력받은 파라미터를 확인할 수 있음 echo "전달받은 파라미터는 ${env}" 이전 포스트와는 다르게 Build Now가 아니고 Build with Paramters 라고 메뉴명이 나온다. Build with Paramters 를 클릭하면 아래 그림처럼 위에서 작성한 파라미터 이름과 기본 값이 보여진다 파라미터 .. 원격 빌드 트리거(remote build trigger) 원격에서 빌드 실행 시키기 웹브라우저 접속으로 빌드 실행 시키기 이전 포스트 참고하여 새로운 Job 생성 설명란에 설명 작성하고 빌드 유발(Build Triggers) 빌드 유발 탭에서 빌드를 원격으로 유발 선(Trigger builds remotely) 토큰 작성, uuid로 생성할 문자를 넣든 JWT 문자를 넣든 아무거나 입력 /job/remote_build_trigger_job/build 복사 Build 내용 작성 빌드 시키기 웹브라우저 주소에 http://테스트하고있는젠킨스서버주소/job/remote_build_trigger_job/build?token=remote-build-trigger-token 입력하고 엔터 빌드 히스토리 확인 Scheduling Job 스케줄링 Job 만들어 보기 Cron Expression에 대해 먼저 알아야 함 잘 모르면 여기 참고해서 학습 앞 포스트에서 한 것처럼 새로운 아이템 생성하고 설명란에 설명 작성 빌드 유발(Build Triggers) 탭에서 Build periodically 체크하고 cron expression 작성 2분마다 빌드해라~ */2 * * * * 이전 포스트에서 한 것처럼 Build 탭에서 execute shell 선택하고 쉘 명령어 입력하고 저장 결과 확인 빌드하지 않았지만 2분마다 빌드가 실행 됨 Free Style Job 생성하기 Create a Job 클릭 또는 왼쪽 메뉴에서 새로운 아이템 클릭 아이템 이름 작성하고 Freestyle project 클릭 General 탭의 설명 항목에 설명글 작성 빌드(Build) 탭에서 add build step 클릭하고 Execute shell 선택 Command 부분에 쉘 명령어 작성하고 저장 echo "첫 번쨰 프리스타일 Job 실행" Job 상세 화면에서 Build Now 클릭해서 빌드 실행 빌드하면 왼쪽 하단 Build History에 빌드 기록 남음. 첫 번째 빌드인 #1 클릭 첫 번째 빌드 히스토리 화면에서 Console Output 클릭 빌드 내용 확인 빌드 내용처럼 /var/jenkins_home/workspace/first freestyle job 경로에서 빌드 내용 확인 가능 이전 1 2 다음