前端项目延续集成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 [email protected].**.** "rm -rf /opt/$JOB_NAME/*" //远程登录harbor服务器
scp -r ${PROJ_DIR}/$JOB_NAME [email protected].**.**:/opt/;
ssh [email protected].**.** "cd /opt/$JOB_NAME;
cat << EOF > Dockerfileenv.PROJ_DIR="${JENKINS_HO