jenkins 20

[Jenkins] 프로젝트에 여러 스케쥴 설정 걸기

개요 주기적으로 실행해야 하는 젠킨스 프로젝트가 있다. 기존에는 KST 기준 매주 화요일 오후 2시 (UTC 05시)에 동작해야 했는데, 스케쥴링 주기가 아래처럼 변경되었다. - KST 매주 화요일 오전 11시 (UTC 화요일 02시) - KST 매주 금요일 오전 8시 (UTC 목요일 23시) 한 프로젝트에 여러 스케쥴을 설정할 수 있나……? 확인해본다. 주기적 빌드(스케쥴링) 설정 Jenkins 프로젝트의 스케쥴링을 설정하는 방법은 다음과 같다. 1. 프로젝트 > 구성으로 접근 2. 빌드 유발 > Build periodically 체크 박스 선택 Build periodically를 선택하고 스케쥴 설정은 cron 형식으로 지정한다. 스케쥴링 추가 설정 보통 cron 형식의 스케쥴을 crontab에서 많..

Jenkins 2023.07.17

[Helm/Jenkins] CAcert를 이용한 LDAPS 적용

개요 2022.05.16 - [Jenkins] LDAP 연동으로 Jenkins에 LDAP 적용을 했었는데, 이번에는 인증서를 이용한 LDAPS 적용이 필요해 방법을 정리한다. 쿠버네티스 클러스터에 Helm으로 설치한 Jenkins로, 사용한 Chart는 이미 deprecated 된 https://github.com/helm/charts/tree/master/stable/jenkins이다. init container를 이용해 컨테이너 환경 변수로 전달한 인증서를 적용하는 방법으로, https://github.com/helm/charts/issues/23374를 참고하여 진행했다. 적용 방식 1. 공유 공간으로 cacerts-share이라는 이름의 emptyDir volume 생성 2. jenkins 컨테이..

Jenkins 2023.03.20

[Jenkins] SSH 원격 서버에서 쉘 실행하기

개요 어떤 서버에 위치하고 있는 쉘 스크립트를 Jenkins를 이용해 실행시키려고 한다. 물론 Jenkins가 동작하고 있는 서버에 스크립트를 옮기는 것을 먼저 생각했지만, 이 글의 Jenkins는 쿠버네티스 환경에서 동작하고 있어 적용이 쉽지 않았다. 다행히 SSH 플러그인을 이용하면 Jenkins가 원격 서버에 SSH로 연결하여 쉘을 실행할 수 있다고 한다. 크게 아래와 같은 절차로 적용할 수 있다. SSH 플러그인 설치 Credential 설정 SSH Remote Host 추가 프로젝트에 적용 순서대로 방법을 정리한다. 1. SSH 플러그인 설치 Jenkins 관리 > 플러그인 관리로 이동하여 SSH 플러그인이 설치되어 있는지 확인한다. 설치되어 있지 않으면 설치한다. 2. Credential 설정..

Jenkins 2022.05.27

[Jenkins] 쉘 실행(Execute shell) 프로젝트 생성 및 실행

Jenkins의 기본적인 프로젝트 생성 방법을 정리하기 위해 쉘을 실행하는 프로젝트를 생성하고 실행해보려고 한다. 생성 방법 1. 왼쪽 메뉴에서 새로운 Item 클릭 2. 이름과 아이템 유형 설정 유형은 Freestyle project를 선택한다. OK를 클릭하면 빈 프로젝트가 생성된 것을 볼 수 있다. 이 화면은 프로젝트의 구성 페이지에 해당한다. 3. 프로젝트 구성 페이지에서 Build > Add build step > Execute shell 클릭 4. 실행할 명령어 작성 후 저장 실행 프로젝트 메뉴에서 Build Now를 클릭한다. 아래의 Build History에서 빌드 진행 및 성공 여부를 확인할 수 있다. 실행 결과 확인 빌드 히스토리에서 결과를 확인할 빌드 번호를 선택한다. Console ..

Jenkins 2022.05.26

Helm으로 배포한 Jenkins 인코딩 설정

온프레미스 쿠버네티스 환경에 HelmRelease로 설치한 Jenkins를 사용 중이다. 최근 한글 처리가 정상적으로 이뤄지지 않는 것 같아 확인해보니 인코딩이 ANSI로 설정되어 있었다. 이 설정을 UTF-8로 변경해보려고 한다. Helm Chart 정보 Repository: https://charts.helm.sh/stable Name: jenkins Version : 1.16.0 참고로 Jenkins 버전은 2.303.1이다. 인코딩 설정 확인 Jenkins 관리 > System Information : 시스템 정보로 접근하면 확인할 수 있다. 바로 시스템 정보 페이지로 가고 싶다면 jenkins URL 끝에 /systemInfo를 붙이면 된다. file.encoding이 ANSI_X3.4-1968..

Jenkins 2022.05.21

[LDAP] error code 32 - 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_OBJECT), data 0, best match of:

2022.05.16 - [Jenkins] LDAP 연동에서 정리한 내용대로 설정값을 입력한 뒤 테스트를 했더니 에러가 발생했다. 입력한 설정값은 대충 아래와 같다. (보안 문제로 블로그 글에서는 적당히 변경하여 작성한다.) Server : 192.168.10.45 root DN : OU=CDX부문(000000),OU=Domestic(Korea),OU=CDX Users,DC=CDX,DC=net User search filter : cn={0} Manager DN : tistory.help@tistory.com Manager Password : 비밀번호 테스트 결과 검색해보니 'LDAP: error code 32 - 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_..

Jenkins 2022.05.17

[Jenkins] LDAP 연동

Jenkins는 기본적으로 내부 사용자 데이터베이스를 사용하기 때문에 각 사용자를 수동으로 생성해야 한다. 다만 LDAP 플러그인을 설치하여 구성하면 OpenLDAP과 같은 외부 LDAP 서버를 이용해 사용자를 이용할 수 있다. 이 글에서는 Jenkins와 LDAP 연동 방법을 간단히 정리한다. 방법 1. LDAP 플러그인 설치 LDAP 연동을 하기 위해서는 LDAP 플러그인 설치가 필요하다. 관리자 계정으로 로그인한 뒤, Jenkins 관리 > 플러그인 관리로 이동한다. 설치된 플러그인 목록에 LDAP이 존재하는지 확인한다. 설치되어있지 않다면 설치 가능 목록에서 찾아 설치한다. 2. LDAP 설정 구성 Jenkins 관리 > Configure Global Security 로 이동한다. Security..

Jenkins 2022.05.16

[k8s] org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Unknown client name 에러

2022.03.07 - [Jenkins] HelmRelease로 설치 시, curl: (60) SSL certificate problem: certificate has expired 에러 이 글에 이어서 Jenkins 관련 문제를 하나 더 정리한다. 현상 쿠버네티스 클러스터 환경에서 동작하는 Jenkins에서 Pipeline을 구성하여 빌드했는데, 아래와 같은 출력과 함께 빌드가 완료되지 않았다. Jenkins 웹에서 확인할 수 있는 pipeline build console output 내용이다. Started by user passwd [Pipeline] Start of Pipeline [Pipeline] podTemplate [Pipeline] { [Pipeline] node Created Pod: ..

Jenkins 2022.03.16

[Jenkins] Build 히스토리 삭제 - 2

2021.05.23 - [Jenkins] Build 히스토리 삭제 - 1 위 글에서는 웹 상에서 특정 Job의 특정 Build를 삭제하거나, 터미널 상에서 빌드 이력을 삭제하는 방법에 대해 정리했다. 이 글에서는 젠킨스 기본 기능인 오래된 빌드 삭제 (Discard Old Builds) 기능을 이용해 빌드 히스토리를 삭제하는 방법을 정리한다. 오래된 빌드 삭제 (Discard Old Builds) 설정된 빌드 삭제 조건에 따라 빌드 이력을 삭제하는 젠킨스의 기본 기능 각 프로젝트의 구성 설정에서 기능을 활성화/비활성화할 수 있다. 기능을 활성화한 후 적용하면 다음 빌드부터 동작한다. 플러그인 - Discard Old Builds 젠킨스의 기본 기능보다 복잡하고 세부적인 삭제 조건을 지원하는 플러그인 당연..

Jenkins 2021.12.12

[Jenkins] Build 히스토리 삭제 - 1

Jenkins는 빌드 후, 그 결과에 대한 파일을 아래의 경로 밑에 빌드 번호 디렉터리를 생성해서 저장한다. JENKINS_JOBS/JOB_NAME/builds # 기본 경로 /var/lib/jenkins/jobs/JOB_NAME/builds 이렇게 저장된 파일은 아래 사진처럼 웹에서 빌드 결과를 조회할 때 사용되는데, 오래된 빌드 결과는 가지고 있어 봐야 크게 쓸 곳은 없다. 특히 실시간에 가깝게 처리하는 Job은 디스크 용량이나 파일 수를 감당할 수 없어 정리가 필요하다. 따라서 이 글은 Jenkins 빌드 결과 삭제 방법에 대해 다룬다. 1. 웹 상에서 1.1 특정 빌드만 삭제 삭제할 작업의 삭제할 빌드를 선택해 들어간다. 표시한 빌드 삭제 버튼을 클릭하면 된다. 1.2 오래된 빌드 삭제 기능 사용..

Jenkins 2021.05.23
1 2