【Docker容器技术,jenkins流水线构建docker镜像-哔哩哔哩】 https://b23.tv/dLuYYVJ
参考项目dockerfile,jenkins:
https://gitee.com/wang-huamao/course
jenkins 脚本:
import java.text.SimpleDateFormat
pipeline {
agent any
options {
timestamps()
}
parameters {
choice(name: 'Run',choices: ['build', 'copy', ],description: '部署类型 (copy:直接复制上次部署的文件, build:重新构建)')
booleanParam(name: 'Base', defaultValue: true, description: '部署基础模块')
booleanParam(name: 'Install', defaultValue: false, description: '下载新的依赖')
choice(name: 'Env',choices: ['dev', 'test', ],description: '部署环境')
}
stages {
stage('构建基础模块代码') {
when { expression { return params.Base } }
steps {
echo "=========================构建基础模块代码========================="
script{
if ("${params.Run}" == "copy") {
echo "copy"
}else{
echo "Build"
if("${params.Install}" == "true") {
sh "rm -rf node_modules"
sh "npm install --registry=https://registry.npmmirror.com"
}
sh "rm -rf dist"
sh "npm run build:${params.Env}"
sh "cp -r ./dist/* /usr/share/nginx/html"
}
}
}
}
stage('构建镜像') {
steps {
echo "=========================构建镜像========================="
//script{
//sh "docker build -t 127.0.0.1:8082/base-system/nginx:dev -f ./Dockerfile ."
//}
}
}
stage('推送镜像') {
steps {
echo "=========================推送镜像========================="
//script{
//sh "docker login https://127.0.0.1:8082 -u admin -p QWEasd123"
//sh "docker push 127.0.0.1:8082/base-system/nginx:${params.Env}"
//}
}
}
stage(" dev环境部署"){
when { expression { return params.Env == "dev" } }
steps {
echo "部署dev镜像"
}
}
stage(" test环境部署"){
when { expression { return params.Base == "test" } }
steps {
echo "部署test镜像"
}
}
}
}
欢迎来撩 : 汇总all