Files
coal/Jenkinsfile

85 lines
1.2 KiB
Groovy

pipeline{
agent any
options {
disableConcurrentBuilds()
}
triggers {
pollSCM 'H/3 * * * * '
}
stages{
stage("打包"){
steps{
withCredentials([usernamePassword(credentialsId: 'harbor-ci', passwordVariable: 'p', usernameVariable: 'u')]) {
sh "docker login -u ${u} -p ${p} 192.168.0.118"
}
sh "docker build . -t coal:${env.BRANCH_NAME}"
}
}
stage("打标签"){
steps{
sh "docker tag coal:${env.BRANCH_NAME} 192.168.0.118/coal/coal:${env.BRANCH_NAME}"
}
}
stage("推送到仓库"){
steps{
sh "docker push 192.168.0.118/coal/coal:${env.BRANCH_NAME}"
}
}
stage("清理无用的层"){
steps{
sh "docker image prune -f"
}
}
stage("重新部署"){
steps{
sh "kubectl --kubeconfig=homelab.yaml apply -k k8s/${env.BRANCH_NAME}/"
sh "kubectl --kubeconfig=homelab.yaml rollout restart deployment/coal-api --namespace coal-${env.BRANCH_NAME}/"
}
}
}
}