Jenkinsfile 기본 문법
제목 | 내용 |
pipeline{} | jenkinsfile 최상단에 선언됨 파이프라인 안에 모든 단계가 작성되어야함 |
environment{} | 파이프라인에서 사용될 환경변수를 등록함, key-value style로 파이프라인 내부에서 사용 |
agent{} | any, none, label, node, docker, dockerfile, kubernetes를 파라미터로 포함할 수 있음 agent가 none일경우 각 stage에 포함 시켜줘야함 |
options{} | pipeline의 옵션을 선택적으로 집어 넣을 수 있음 |
stages{} | stage의 모음 |
stage() | stage 네이밍을 해서 관리할 수 있음 |
steps{} | stage내부에서 사용됨 여러번 호출 가능함 |
container() | 컨테이너에 내려받을 이미지를 내려받고 관련된 코드를 실행해줌 |
post{} | 특정 스테이지 이전 혹은 이후에 실행될 코드 |
- jenkinsfile에 각 stage마다 직접적으로 행동을 명시해주면 코드가독성이 떨어지기 쉽기때문에 파일 최상단에 @Libaray를 통해 가독성 높게 코드를 관리할 수 있습니다.
@Libaray('저장소이름@브랜치명') _
- 추가로 가독성을 높이는 방법으로는 함수나 메서드 호출 방식으로 기능을 구현할 수 있음
stage(""){
steps{
container('') {
ready() # ready.groovy파일을 생성해서 파일 호출 방식으로 기능을 구현할 수 있음
}
}
}
- 기능 생성을 한 파일을 다른 파일 코드에서 쉽게 불러올 수 있습니다. (파일명.함수명 , ex: util.log)
-기본형-
#!groovy
@Library('저장소이름@브랜치명') _
pipeline{
environment {
}
agent {
}
options {
}
stages{
stage(""){
steps{
container('') {
}
}
}
}
post{
}
}