62 lines
1.5 KiB
Groovy
62 lines
1.5 KiB
Groovy
pipeline {
|
|
agent {
|
|
docker {
|
|
image 'golang:1.22-alpine'
|
|
}
|
|
}
|
|
|
|
environment {
|
|
GOOS = 'linux'
|
|
GOARCH = 'amd64'
|
|
APP_NAME = 'go-dy-linux-amd64'
|
|
APP_PATH = '/opt/go-dy'
|
|
DOCKER_NETWORK = 'go-dy-net'
|
|
}
|
|
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
git branch: 'main',
|
|
url: 'http://47.95.203.241:3000/ReeseLin/golang-dy-back.git',
|
|
credentialsId: '932fcb89-1c39-4005-b664-15e862f09e20' // 替换成你的凭据ID
|
|
}
|
|
}
|
|
|
|
stage('Build') {
|
|
steps {
|
|
sh '''
|
|
go mod tidy
|
|
go build -o ${APP_PATH}/${APP_NAME} ./...
|
|
'''
|
|
}
|
|
}
|
|
|
|
stage('Deploy') {
|
|
steps {
|
|
sh '''
|
|
docker stop go-dy || true
|
|
docker rm go-dy || true
|
|
docker run -d \
|
|
--name go-dy \
|
|
--restart=always \
|
|
--network ${DOCKER_NETWORK} \
|
|
-p 8090:18080 \
|
|
-v ${APP_PATH}/${APP_NAME}:/app/go-dy \
|
|
-v ${APP_PATH}/.env:/app/.env \
|
|
--workdir /app \
|
|
golang:1.22-alpine ./go-dy
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
success {
|
|
echo '部署成功!'
|
|
}
|
|
failure {
|
|
echo '流水线失败,请检查日志'
|
|
}
|
|
}
|
|
}
|