一、总体步骤流程概览

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_前端

二、配置Job任务

1、在compass-jobs-test标签下新建Job任务

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_jenkins_02

 2、填写创建任务信息

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_运维_03

3、配置任务

3.1、配置任务丢弃旧的构建

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_前端_04

3.2、编写Pipeline流水线脚本

pipeline 脚本文件

pipeline {
    agent any

    environment {
        // 应用名称
        APPLICATION_NAME = "looksky-compass-web"

        // 项目项目名称,为项目工程模块名称,主要用于拼接路径
        PROJECT_NAME = "looksky-compass-web"
        // 项目部署路径
        DEPLOY_DIR = "/usr/local/nginx/html/web/www/${env.APPLICATION_NAME}"
        // 项目部署目录归属的用户和用户组
        DEPLOY_DIR_USER = "compass_web"

        // npm已经打包好的主目录
        TARGET_HOME_DIR = "${env.WORKSPACE}"
        // npm已经打包好的包路径
        TARGET_WAR_DIR = "${env.TARGET_HOME_DIR}/dist"

        // 需要部署的远程机器
        DEPLOY_REMOTE_SERVER = "root@172.18.75.175"
        // 需要部署编译的环境 test: 测试环境 prod: 正式环境
        DEPLOY_BUILD_EVN = "test"
    }

    stages {
        stage('拉取Git代码') {
            steps {
                echo "\n--------------- 拉取Git代码 start ---------------\n"

                // 拉取Git上的最新代码
                git branch: '${compass_web_test_build_branch}', credentialsId: 'bb8bae6b-4812-445b-8e39-caef8db7343b', url: 'https://codeup.aliyun.com/5ff9448b10dfd380901661ec/looksky_compass_repos/looksky-compass-web.git'

                echo "\n--------------- 拉取Git代码 end ---------------\n"
            }
        }

        stage('npm打包构建') {
            steps {
              // 调用yarn脚本进行打包编译
              sh "${env.TARGET_HOME_DIR}/jenkins/yarn-build.sh"
            }
        }

        stage('部署启动工程') {
            steps {
                echo "\n--------------- 部署启动工程 start ---------------\n"

                echo "复制部署目录 [${env.TARGET_WAR_DIR}] to [${env.DEPLOY_DIR}] ... start"

                // 复制最新的dist打包的文件到部署目录
                sh "scp -r ${env.TARGET_WAR_DIR}/* ${env.DEPLOY_REMOTE_SERVER}:${env.DEPLOY_DIR}"

                echo "复制部署目录 [${env.TARGET_WAR_DIR}/**] to [${env.DEPLOY_DIR}] ...ok"

                // 使用root权限 scp过去的文件和目录,通过浏览器域名访问出现403权限问题

                echo "\n修改部署目录权限及用户组 [${env.DEPLOY_DIR}] ... start"

                // 这里使用的是root用户操作,复制过去的文件权限是root用户,需要修改为web归属的用户和用户组
                sh "ssh ${env.DEPLOY_REMOTE_SERVER} chown -R ${env.DEPLOY_DIR_USER}:${env.DEPLOY_DIR_USER} ${env.DEPLOY_DIR}"

                // 修改目录和子目录、文件权限全部未 755
                sh "ssh ${env.DEPLOY_REMOTE_SERVER} chmod -R 755 ${env.DEPLOY_DIR}"

                echo "\n修改部署目录权限及用户组 [${env.DEPLOY_DIR}] ... ok"

                echo "\n--------------- 部署启动工程 end ---------------\n"
            }
        }
    }
}

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_前端_05

 二、创建Tasks任务

Task任务任务可以添加多个Job任务,如有H5工程、Web工程,每个工程打包可以定义为一个Job,多个Job可以组合成一个Task进行打包执行。

1、在compass-tasks-test标签下新建Task任务 

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_运维_06

2、填写创建任务信息

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_Vue_07

3、配置任务信息

3.1、配置任务丢弃旧的构建

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_前端_08

3.2、配置多Job任务

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_运维_09

 

使用jenkins打包java项目 服务器CPU飙升 jenkins打包web项目_运维_10