#后台微服务项目是用流水线类型构建,脚本如下:
node {
//定义变量
def mvn="/var/jenkins_home/updates/apache-maven-3.6.3/bin/mvn"
def full_project_name = "sass-${project_name}"
def shellSh = "./deploy_sass.sh ${mode} ${project_name}"
//第一阶段,拉取代码
stage('Pull code') { // for display purposes
// Get some code from a GitHub repository
//这里语法可以借助jenkins生成,不过我们要先添加好对应的凭证
git credentialsId: 'code', url: 'https://e.coding.net/heyinkj/sass/sass-entire.git'
} //第二阶段,构建代码,将代码打包成对应的jar
stage('Build code'){
sh "${mvn} clean install -pl sass-common -am"
sh "${mvn} -f ${full_project_name} clean package"
}
//第三阶段,部署代码,将jar部署起来
stage('Deploy code'){
sh "ssh root@120.78.237.91 \"cd /mydata/sh/;${shellSh}\""
}
}
#前端项目是用自由风格软件项目类型构建,脚本如下:
构建环境勾选 "Provide Node & npm bin/ folder to PATH"
选择node13.7 (这个node插件需要在插件管理安装node插件,然后在全局工具配置选择自动安装node)
增加构建步骤,选择"执行shell"
npm install
npm run build:stage
ssh root@120.78.237.91 "cd /mydata/sh/;./deploy_admin.sh"
#前端项目升级为pipeline流水线来部署
node {
//第一阶段,拉取代码
stage('Pull code') { // for display purposes
if (env.environment == 'develop') {
git branch: "develop",credentialsId: 'code', url: 'https://e.coding.net/heyinkj/sass/sass-admin-front.git'
} else {
git branch: "release",credentialsId: 'code', url: 'https://e.coding.net/heyinkj/sass/sass-admin-front.git'
}
} //第二阶段,构建代码,将代码打包成对应的jar
stage('Build code'){
//使用nodejs环境
nodejs("node13.7"){
sh 'npm install'
sh 'npm run build:stage'
}
}
stage('Deploy code'){
if (env.environment == 'develop') {
sh "ssh root@120.78.237.91 \"cd /mydata/sh/;./deploy_admin.sh dev\""
} else {
sh "ssh root@120.78.237.91 \"cd /mydata/sh/;./deploy_admin.sh prd\""
}
manager.addShortText(manager.getEnvVariable("environment"))
}
}