pipeline {
agent any
stages {
stage('build-prod') {
when { branch 'master' }
agent { docker {
image 'node:6.3.0'
reuseNode true
}
}
steps {
sh 'npm --version'
sh 'npm install'
sh 'npm run build'
echo '版本构建完成'
}
}
stage('deploy for prod') {
when { branch 'master' }
steps {
echo '----开始构建镜像----'
sh 'docker build -f Dockerfile . -t xxxx仓库地址'
echo '----开始push镜像到仓库---'
sh 'docker push xxxx仓库地址'
echo '-----推送成功了远程仓库-------------'
sh '''
echo 'backup image...'
bak_tag="$(date '+%Y%m%d_%H%M%S')"
echo ${bak_tag}
docker tag 原来的镜像地址/xxxx:latest 备份后的镜像地址/xxxxxx:$bak_tag
docker push 推送到镜像仓库地址/xxx:$bak_tag
echo '----备份完成---'
'''
}
}
}
}
FROM nginx:latest
COPY dist/ /usr/share/nginx/html/project/xxx/
基于前端nodedocker自动化构建脚本脚本包括如何构建node和如果通过docker打包镜像如何发布到远程仓库然后备份镜像等等第上面是jenkinesfile的编写下面是Dockerfile的编写