728x90
반응형
빌드 시 디렉토리 지정
- script 안에 dir 을 선언해서 빌드 할 소스 상에서의 위치를 정의할 수 있다.
stage('도커 이미지 빌드') {
steps {
script {
dir("api") {
// 브랜치에 따라 이미지 이름 변경
DOCKER_IMAGE = docker.build(DOCKER_IMAGE_NAME)
}
}
echo "Built: ${DOCKER_IMAGE_NAME}"
}
}
Golang 빌드
- Go를 빌드하여 컴파일 된 바이너리 파일을 배포하고자 한다.
- 때문에 빌드 시에 go 언어 컴파일이 가능하게끔 시도하였다.
- 때문에 go 언어 도커 이미지를 받아와 빌드하려고 한다.
- 이 때 golang 이미지는 go.mod 에 명시된 go 버전을 사용해야만 한다.
- 때문에 빌드 시에 go 언어 컴파일이 가능하게끔 시도하였다.
stage('도커 이미지 빌드') {
agent {
docker {
image 'golang:1.23.4' // go.mod 의 버전과 동일하게
args '-v /tmp:/tmp' // 권한 문제로 인해, 쓰기 권한이 있는 디렉토리 설정
}
}
steps {
script {
dir("backup") {
sh '''
export GOCACHE=/tmp/go-build-cache
mkdir -p $GOCACHE
GO111MODULE=on CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o backup .
'''
}
echo "Built Backup Binary"
}
}
}
728x90
반응형
'데브옵스 devOps > Jenkins' 카테고리의 다른 글
[Jenkins] 실제 CI/CD 배포 세팅 (2) | 2024.10.29 |
---|---|
[Jenkins] 젠킨스란? (2) | 2024.10.07 |