반응형

DevOps/Jenkins 9

[Jenkins] Launch agents via SSH 분산 빌드 환경 구축 방법

Launch agents via SSH 경우 Jenkins 마스터 서버 -> 슬레이브  서버로 SSH 접속하여 제어한다.아래 [JNLP 분산 빌드 환경 구축 방법]과 다른 점만 설명하도록 하겠다. SSH로 접속하기 때문에 TCP 포트 설정은 필요 없다 대신 SSH key를 등록해 줘야 한다. 2024.08.20 - [DevOps/Jenkins] - [Jenkins] JNLP 분산 빌드 환경 구축 방법 [Jenkins] JNLP 분산 빌드 환경 구축 방법Jenkins에서 분산 빌드 환경을 구성하지 않으면 순차적으로 빌드하게 되지만, 분산 빌드 환경을 구성하게 되면 동시에 처리하므로 빌드 속도가 빨라진다. 또한, 빌드 작업을 여러 서버에 분산시켜cocococo.tistory.com   1.  SSH key..

DevOps/Jenkins 2024.08.21

[Jenkins] JNLP 분산 빌드 환경 구축 방법

Jenkins에서 분산 빌드 환경을 구성하지 않으면 순차적으로 빌드하게 되지만, 분산 빌드 환경을 구성하게 되면 동시에 처리하므로 빌드 속도가 빨라진다. 또한, 빌드 작업을 여러 서버에 분산시켜 Jenkins 마스터 서버의 부하가 줄고, 시스템 리소스를 효율적으로 사용하게 된다.      1. 분산 빌드 구성 환경 종류1-1. Launch agent by connecting it to the controller - JNLP (Java Network Launch Protocol)에이전트(슬레이브)가 JNLP를 통해 마스터에 스스로 연결되는 방식이다.특징:에이전트가 JNLP 파일을 통해 Jenkins 마스터에 직접 연결Java 필요에이전트는 HTTP/HTTPS를 통해 JNLP 파일 다운로드 하고, Jenki..

DevOps/Jenkins 2024.08.20

[Jenkins] 외부에서 원격 빌드하는 방법(Token)

빌드 방법은 크게 두 가지 있다. 사용자 계정 Token 사용한 인증 방법과, Job(Item) 인증 토큰을 사용해 빌드하는 방법.   1. 사용자 계정 Token 인증 방법1-1) 계정 ID -> 설정 -> API Token// 발급 받은 Tokens을 base65 인코딩해 줘야 한다. // ex ) admin:112cda48189a0d3360ab73ea564226a6edkey name:Tokenkey:Token 전체 인코딩 해줘야 한다. 1-2) Curl 테스트curl -X POST {JENKINS_HOME}/job/{JOB_NAME}/build \--user admin:112cda48189a0d3360ab73ea564226a6ed    2. JOB Token 인증 방법인증 없이 사용하기 위해서는 플..

DevOps/Jenkins 2024.04.29

[Jenkins] 폐쇄망 Jenkins 수동 설치 방법

인터넷이 안 되는 환경에서 수동 설치하기 위해서는 인터넷이 되는 pc에서 Jenkins rpm 파일과 사용하는 플러그인 파일을 수동으로 다운로드해 폐쇄망으로 들고 와 설치해야 한다.   1. Jenkins rpm 다운로드Java 버전을 고려해 원하는 버전의 Jenkins rpm을 다운로드한다. 최신 jenkins 버전의 경우 systemd 패키지가 필요하기 때문에 해당 패키지를 설치하거나 jenkins 버전을 낮춰서 설지해야한다(2.414 버전 이전까지는 없어도 설치 가능)https://get.jenkins.io/redhat-stable/ Redhat Jenkins PackagesJenkins Redhat Packages To use this repository, run the following comm..

DevOps/Jenkins 2024.03.29

[Jenkins] Pipeline Maven 패키징 방법

Jenkins 서버에 maven을 설치하게 되면 동일한 버전을 모든 프로젝트에 적용되기 때문에 프로젝트마다 상황에 맞게 사용하기 위해 특정 maven 버전들을 등록해 상황에 맞게 사용한다. 1. Maven 등록[Jenkins 관리] -> [Global Tool Configuration] -> Maven 항목 [Add Maven] 클릭Jenkins는 별도로 도구(JDK, Maven)를 관리한다. 특정 버전 maven으로 실행하고 싶을 때 아래의 작업을 진행하게 되며 만약, 서버에 설치되어 있는 Maven 버전을 사용하고 싶다면 이 작업은 건너 띄고 Pipeline Script에서도 tools 부분을 제외한다.Name : Piepline에서 호출할 때 사용할 이름Version : Maven 패키징 버전을 설..

DevOps/Jenkins 2024.03.28

[Jenkins] Pipeline publish over ssh 사용한 배포 방법

1. Publish over SSH 플러그인 설치 [Jenkins 관리] -> [Plugins] -> [Available plugins] -> Publish over SSH 검색 후 설치 2. SSH 서버 등록(배포 대상 서버) [Jenkins 관리] -> [System] -> [SSH Servers] 항목 Name : SSH 서버를 호출할 때 사용하는 이름 Hostname : 접속할 서버 IP Useranme : 서버 접속할 때 계정명 Remote Directory : 접속 후 기본 경로 아무것도 입력하지 않으면 해당 계정의 홈 디렉터리 경로로 설정된다. 3. SSH 서버 접속 방법 등록 [고급] 클릭 여기서 등록 방법이 두가지로 나뉜다 개인키를 사용한 접속 방법, Password를 사용한 방법 개인키..

DevOps/Jenkins 2024.03.27

[Jenkins] 스케줄(Schedule)을 사용한 자동 실행 방법

1. 스케줄 설정 [프로젝트] 선택 => [구성] 선택 => [빌드 유발 or Build Triggers] => [Build periodically] 선택 2. 작성밥법 작성 방법은 Cron과 동일 * * * * * | | | | | | | | | +-- 요일(0-7, 0과 7은 일요일, 1은 월요일, ...) | | | +---- 월(1-12) | | +------ 일(1-31) | +-------- 시(0-23) +---------- 분(0-59) * (별표): 모든 값에 일치한다. 모든 분/시간/일/월/요일을 나타낸다. - (대시): 범위를 나타낸다. 예를 들어, 1-5는 1부터 5까지의 값에 일치한다. , (쉼표): 특정 값들을 나타낸다. 예를 들어, 1,3,5는 1, 3, 5에 일치한다. / (..

DevOps/Jenkins 2023.12.15

[Jenkins] 작업공간(Workspace) 경로 변경

1. config.xml 파일 수정 Jenkins 설치 경로에 있는 config.xml에서 workspace 경로를 수정한다. // 1) Jenkins 설치 경로 cd /var/lib/jenkins // 2) 수정 sudo vi config.xml JENKINS_HOME : 기본적으로 jenkins 설치 경로가 설정되어 있다. ITEM_FULL_NAME : 프로젝트명이 들어온다 /home/server/jex/studio30/workspace/${ITEM_FULL_NAME} 홈 디렉터리를 변경하지 않을 거라면 위와 같이 workspace 경로를 수정한다. 2. 권한 설정 새로 변경한 workspace의 소유자와 그룹을 jenkins으로 변경한다. sudo chown jenkins:jenkins worksp..

DevOps/Jenkins 2023.12.14

[Jenkins] 파이프라인(Pipeline) 활용한 빌드 배포 환경 구축

1. JenkinsJenkins는 CI/CD 파이프라인을 구축하고 관리하는 데 사용되는 도구 중 하나로 소프트웨어 개발 과정에서 자동화된 빌드, 테스트, 배포를 관리하는 오픈 소스 자동화 도구다. 이를 통해 개발자들은 코드 변경 사항을 통합하고, 자동으로 테스트하며, 배포하는 과정을 효율적으로 관리할 수 있다.CI : 여러 개발자들이 작업한 코드를 정기적으로 하나로 통합하고, 그 과정에서 자동화된 테스트를 거쳐 소프트웨어가 기존 코드와 함께 잘 동작하는지 확인하는 것CD : CI의 일부로, 소프트웨어가 테스트를 통과하고 배포 가능한 상태가 되면, 이를 자동화하여 프로덕션 환경에 자동으로 배포하는 프로세스를 가리킨다.   2. 구조도로컬에서 해당 SVN 리포지토리에 push 하고, Jenkins를 사용해 ..

DevOps/Jenkins 2023.12.13
반응형