提交 6ff1fe72 编写于 作者: zhangsiyuan's avatar zhangsiyuan

Add new file

上级 0e439889
// User-defined Variables:
def ip = "192.168.121.117"
// Git Repository
def repoUrl = "$git"
// Email Address:
//def emailTo = "siyuan.zhang@picahealth.com"
// -------------------------------------------------------------------------------------
// Public Variables
def CREDENTIALSID = "1fa6bf2e-e790-4262-8632-e119f8919bb9"
// Sonar
def SONAR_HOST_URL = "http://192.168.140.201:9000"
// vue 环境变量
def ENV_MAP = ["dev": "dev", "test": "testing", "itest":"pre","pre": "pre","prod": "production","release": "production"]
def vueAppEnv = ENV_MAP."${envProfile}"
// Set default variable IMAGE_TAG
def IMAGE_TAG = "1.0.0" //for dev
pipeline{
agent any
parameters{
gitParameter branchFilter: 'origin/(master|hotfix.*|feature.*|dev.*|.*est|release.*|pre|prod)', defaultValue: 'release', name: 'refVar', type: 'PT_BRANCH',useRepository: "$repoUrl"
choice(name: 'tagType', choices: ['Patch', 'Minor', 'Major'], description: 'Tag Type')
choice(name: 'envProfile',choices: ['dev','test','uat','prod'],description: 'Environment Type')
}
// Skip Declarative: Checkout SCM stage
options {
skipDefaultCheckout true
}
stages{
stage("print variables"){
steps{
sh """
echo refVar: $refVar
echo tagType: $tagType
echo profile: ${envProfile}
printenv
"""
}
}
stage("checkout scm"){
steps{
checkout([
$class: "GitSCM",
branches: [[name: "$refVar"]],
userRemoteConfigs: [[url: "$repoUrl", credentialsId: "${CREDENTIALSID}"]]])
}
}
stage('npm install') {
parallel {
stage('install') {
steps {
nodejs('nodejs-12.22.0') {
sh """
npm config ls -l
npm i yarn -g
yarn config set registry http://192.168.110.93:4873/
yarn install --verbose
"""
}
}
}
}
}
stage('npm build') {
steps {
nodejs('nodejs-12.22.0') {
sh """
npm run core
npm run build:${envProfile} versionType:${tagType}
node oss-error.js mode ${vueAppEnv}
node oss-error.js check ${vueAppEnv}
"""
}
}
}
stage('read version file'){
steps{
script{
versionFile = ".${vueAppEnv}.version"
IMAGE_TAG = readFile versionFile
}
echo "${IMAGE_TAG}"
}
}
// Update app
stage('deploy'){
when { expression { envProfile ==~ /prod|uat/ }}
steps{
sh label: '', script: """
rsync -av $WORKSPACE/dist/* root@$ip:/usr/share/nginx/html/phome/$JOB_NAME/
"""
}
}
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册