개요
2023.11.03 - [Jenkins] Pipeline - Credentials 사용 1에서는 withCredentials 블록을 이용해서 Credentials를 사용해 봤는데, 이번 글에서는 credentials() 지시문을 이용해보려고 한다.
credentials 생성 부분은 생략한다.
credentials()
credentials 메소드는 Jenkins에 정의되어 있는 자격 증명에 접근하는 기능을 제공한다. pipeline 또는 stage 블록 내에 사용할 수 있으며, 매개변수로 사용할 credentials의 이름을 전달한다.
credentials('<CREDENTIALS_NAME>')
# 예시
user_info = credentials('jenkins-admin-user')
지원하는 credentials 타입과 변수에 저장되는 방식은 다음과 같다.
- Secret Text :
텍스트 내용이 변수에 저정된다. - Secret File :
파일 경로가 변수에 저장된다. - Username and password :
변수가 username:password 형식의 값으로 저당되고, 추가로 MYVARNAME_USR과 MYVARNAME_PSW라는 변수가 자동으로 초기화된다. - SSH with Private Key :
변수에 SSH 키 파일 경로가 저장되고, 추가로 MYVARNAME_USR과 MYVARNAME_PSW라는 변수가 자동으로 초기화된다.
사용 예시
아래는 credentials을 환경 변수로 설정하고, 출력하는 간단한 파이프라인 예시다.
pipeline {
agent any
environment {
user_info = credentials('jenkins-admin-user')
}
stages {
stage('hello') {
steps {
echo "$user_info"
echo "$user_info_usr"
}
}
}
}
실행 결과
참고로 secret에 해당되는 정보를 echo 하면 경고 메시지와 함께 값이 별표로 마스킹되어 출력된다.
참고 문서
https://www.jenkins.io/doc/book/pipeline/syntax/#environment