编写jenkins流水线脚本
pipeline {
agent any
stages {
// 拉取代码
stage('pullCode') {
}
stage('WebBuild') {
steps {
script {
docker.image('node:lts-buster').inside('-u 0:0 -v /var/jenkins_home/.npm:/root/.npm')
sh """
ls /root/.npm
npm config set unsafe-perm=true
npm config list
npm config set cache /root/.npm
npm config set registry https://registry.npm.taobao.org
npm config list
cd demo && npm install --unsafe-perm=true && npm run build && ls -l /dist
"""
}
}
}
stage('BuildImage') {
steps {
script {
sh """
# 构建镜像
docker build -t demo/demo-web-app:1.1.1 .
# 上传镜像
docker push
"""
}
}
}
}
}
编写dockerfile
在前端的项目目录里面添加dockerfile
FROM nginx:latest
COPY dist /usr/share/nginx/html
Harbor中镜像清理
如果不清理以前构建的镜像的话,会导致磁盘占用的磁盘空间越来越多