前端项目持续集成Jenkinsfile样例
env.PROJ_DIR="${JENKINS_HOME}/workspace"
env.PROJ_URL="git@github.***.com:devops/PerformanceManagementSystem.git" //项目URL
env.PROJ_NAME="PerformanceSystem" //项目名
env.HARBOR="dimage.***.com/justtest" //镜像仓库的URL
env.INAME="*******" //制作的镜像名(自定义时不要使用大写字母)
node {
stage('Get Code') { //npm build,ssh到远程服务器构建,后面的命令需要"mkdir..."包含,$JOB_NAME是jenkins任务名
git "${PROJ_URL}"
tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
}
withEnv(["IMAGE_TAG=${tag}"]) {
stage('Npm Build') {
sh '''
ssh root@10.2.**.** "rm -rf /opt/$JOB_NAME/*" //远程登录harbor服务器
scp -r ${PROJ_DIR}/$JOB_NAME r