이 문서는 Jenkins Frog Plugin을 이용하여 Jenkins와 JFrog Artifactory를 구성 및 연동하는 방법에 대한 가이드를 공유하기 위해 작성되었다.
도구명 | JFrog Artifactory |
---|---|
문서 작성 기준 버전 | 7.84.14 |
지원 Edition | COMMUNITY PRO PRO X ENTERPRISE X ENTERPRISE + |
목차
Jenkins Frog Plugin 설치하기
이 플러그인에는 현재 Jenkins 2.159 버전 이상이 필요합니다.
Jenkins Artifactory Plugin v4.0.0 출시
최근 Jenkins Artifactory Plugin의 주요 버전인 4.0.0이 출시되었습니다.
이 버전에서는 중요한 변경사항이 포함되어 있습니다:
Gradle 6.8.1 미만 버전을 사용하는 빌드는 더 이상 지원되지 않습니다.
Manage Jenkins 관리 > Plugins 관리 로 이동하여 Available 탭을 클릭 하고 jfrog를 검색합니다. jfrog 플러그인을 설치합니다.
Jenkins Artifactory Plugin 구성하기
Jenkins 관리 | 시스템 구성 으로 가서 JFrog 플랫폼 세부 정보를 구성 후 저장합니다.
JFrog CLI를 도구로 구성하기
파이프라인 작업에서 JFrog CLI를 사용하려면 Jenkins 관리 | Tools 구성 으로 이동하여 Jenkins에서 도구로 구성해야 합니다 . 다음 설치 옵션 중 하나를 사용할 수 있습니다.
- release.jfrog.io에서 자동 설치 (인터넷이 가능한 환경일 경우)
- Artifactory에서 자동 설치 (인터넷이 불가능한 환경일 경우)
- 수동 설치
release.jfrog.io에서 자동 설치
에이전트가 인터넷에 접속할 수 있다면 아래 스크린샷과 같이 https://releases.jfrog.io 에서 JFrog CLI를 자동으로 다운로드하도록 설치 프로그램을 설정할 수 있습니다.
Artifactory에서 자동 설치
에이전트가 인터넷에 접속할 수 없는 경우, Jenkins 관리 | System 구성 에서 구성한 JFrog 인스턴스에서 JFrog CLI를 자동으로 다운로드하도록 설치 프로그램을 설정할 수 있습니다.
1. Artifactory에서 JFrog CLI를 다운로드하기 위한 일반 원격 저장소를 만듭니다.
기본 탭 에서 저장소 URL을 다음과 같이 설정합니다. https://releases.jfrog.io/artifactory/jfrog-cli/
고급 탭 에서 아티팩트를 로컬에 저장 옵션의 선택을 취소합니다.
2. Jenkins 관리 | Tools 구성 에서 Artifactory에서 설치 옵션을 선택후 저장소 정보를 입력합니다.
수동 설치
빌드 에이전트에 JFrog CLI를 수동으로 설치한 다음 아래 스크린샷에 표시된 대로 jf 실행 파일이 포함된 디렉토리로 경로를 설정합니다.
파이프라인 작업에서 JFrog CLI 사용하기
파이프라인 작업에서 JFrog CLI 명령을 실행하려면 파이프라인 스크립트에 다음을 추가합니다.
1. 구성한 도구 이름을 사용하여 JFrog CLI를 도구로 정의합니다. 예를 들어, 도구 이름을 jfrog-cli 로 지정한 경우 스크립트에 다음을 추가합니다.
tools { jfrog 'jfrog-cli' }
2. 다음과 같이 jf 단계를 사용하여 JFrog CLI 명령을 실행합니다.
// Upload all files in the target directory to the my-repo Artifactory repository. jf 'rt u target/ my-repo/'
JFrog CLI 명령에 공백이 포함된 인수가 있는 경우 다음과 같이 인수를 목록으로 제공할 수 있습니다.
jf(['mvn', 'clean', 'install', '-Ddeploy.testProperty=Property with space'])
위의 목록 구문을 사용하면 문자열 구문에 필요한 따옴표가 위에 표시된 대로 목록의 각 항목을 감싸는 따옴표로 바뀝니다. 위의 단계는 다음 셸 명령과 동일합니다.
jf mvn clean install -Ddeploy.testProperty='Property with space'
빌드 이름 및 빌드 번호 설정
플러그인은 다음 환경 변수를 자동으로 설정합니다. JFROG_CLI_BUILD_NAME 및 JFROG_CLI_BUILD_NUMBER 는 각각 Jenkins의 작업 이름과 빌드 번호입니다. 따라서 빌드 관련 JFrog CLI 명령에서 빌드 이름과 빌드 번호를 지정할 필요가 없습니다. 기본값을 변경하려면 파이프라인 스크립트에 다음 코드를 추가합니다.
environment { JFROG_CLI_BUILD_NAME = "my-build-name" JFROG_CLI_BUILD_NUMBER = "18" }
JFrog Platform 인스턴스 설정
environment { // JFrog Artifactory 서버 설정 JFROG_CLI_SERVER_ID = 'my-jfrog-instance' // Configure this ID in Jenkins }
여러 JFrog Platform 인스턴스 사용
여러 JFrog Platform 인스턴스가 구성된 경우 –-server-id
인스턴스에 대해 구성한 서버 ID와 함께 명령 옵션을 사용할 수 있습니다.
jf 'rt u test-file my-repo –-server-id server-1' jf 'rt u test-file my-repo –-server-id server-2'
빌드 정보 게시 및 엑세스
빌드 정보 는 빌드의 메타데이터입니다. 여기에는 버전 기록, 아티팩트, 프로젝트 모듈, 종속성 및 빌드를 만드는 데 필요한 모든 것을 포함하는 세그먼트로 구분된 빌드에 대한 모든 세부 정보가 포함됩니다. 파이프라인 작업에서 빌드 정보를 게시하는 방법을 아래에서 확인하세요. 이 섹션은 빌드에 사용된 JFrog CLI 명령을 실행한 후 작업 내부에 배치해야 합니다.
stage('Publish build info') { steps { jf 'rt build-publish' } }
코드로 Jenkins 구성
Jenkins Configuration as Code에서 이 플러그인을 구성하려면 다음 섹션을 jenkins.yaml에 추가하세요.
JFrog 플랫폼에 대한 연결 세부 정보 구성
unclassified: jFrogPlatformBuilder: jfrogInstances: - serverId: "artifactory-x" url: "https://artifactory-x.curvc.com" artifactoryUrl: "https://artifactory-x.curvc.com/artifactory" distributionUrl: "https://artifactory-x.curvc.com/distribution" xrayUrl: "https://artifactory-x.curvc.com/xray" credentialsConfig: credentialsId: "artifactory-secret-recipe"
JFrog CLI 도구 추가
release.jfrog.io에서 자동 설치
tool: jfrog: installations: - name: "jfrog-cli" properties: - installSource: installers: - "releasesInstaller"
Artifactory에서 자동 설치
tool: jfrog: installations: - name: "jfrog-cli" properties: - installSource: installers: - artifactoryInstaller: repository: "jfrog-cli-remote"
수동 설치
tool: jfrog: installations: - name: "jfrog-cli" home: "/path/to/jfrog/cli/dir/"