pipeline {
? ? agent any
? ? environment {?
? ? def ITEMNAME = "erp"
? ? def DESTPATH = "/home/ops/testpipe"
def codePATH="/var/lib/jenkins/workspace/test_pipeline"
? ? }
? ? stages { ? ?
? ? ? ? stage('代碼拉取'){
? ? ? ? ? ? steps {
? ? ? ? ? ? echo "checkout from ${ITEMNAME}"
? ? ? ? ? ? git url: ' git@gitlab.1***.cn:fangxin-tech/erp.git', branch: 'master'
? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? stage('目錄檢查') {
? ? ? ? ? ? steps {
? ? ? ? ? ? ? ? echo "檢查${DESTPATH}目錄是否存在"
? ? ? ? ? ? ? ? script{
? ? ? ? ? ? ? ? ? ? def resultUpdateshell = sh script: 'ls ${DESTPATH}'
? ? ? ? ? ? ? ? ? ? if (resultUpdateshell == 0) {
? ? ? ? ? ? ? ? ? ? ? ? skip = '0'
? ? ? ? ? ? ? ? ? ? ? ? return
? ? ? ? ? ? ? ? ? ? } ??
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? } ? ? ??
? ? ? ? stage('服務檢查') {
? ? ? ? ? ? steps {
? ? ? ? ? ? ? ? echo "檢查nginx進程是否存在"
? ? ? ? ? ? ? ? script{
? ? ? ? ? ? ? ? ? ? def resultUpdateshell = sh script: 'ps aux|grep nginx|grep -v grep'
? ? ? ? ? ? ? ? ? ? if (resultUpdateshell == 0) {
? ? ? ? ? ? ? ? ? ? ? ? skip = '0'
? ? ? ? ? ? ? ? ? ? ? ? return
? ? ? ? ? ? ? ? ? ? } ??
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
stage('supserver檢查') {
? ? ?steps {
? ? ? echo "檢查supserver是否存活"
? script{?
?def resultUpdateshell = sh script: 'ps -ef |grep supervisor|grep -v grep'?
?if (resultUpdateshell == 0) {
? ? skip = '0'
return
}
}
}
}
? ? ? ? stage('發布確認') {
? ? ? ? ? ? steps {
? ? ? ? ? ? ? ? input "檢查完成,是否發布?"
? ? ? ? ? ? }
? ? ? ? } ? ? ? ? ? ? ? ? ??
? ? ? ? stage('代碼推送') {
? ? ? ? ? ? steps {
? ? ? ? ? ? echo "code sync"
? ? ? ? ? ? sh "cp ${codePATH}/* ?${DESTPATH}/ -fr"
? ? ? ? }
? ? ? ? }
stage('gulp檢查') {
? ? ?steps {
? ? ? echo "編譯css和js文件"
? script{?
? ? // def resultUpdateshell1 = sh script: 'cp -fr /home/ops/erp/node_modules ${DESTPATH}/'
// def resultUpdateshell2 = sh script: 'cp -fr /home/ops/erp/.env ${DESTPATH}/'
? ? ?def resultUpdateshell3 = sh script: 'cd ?${DESTPATH} && ?composer install'
?def resultUpdateshell4 = sh script: 'cd ?${DESTPATH} && /home/ops/testpipe/node_modules/.bin/gulp'
?def resultUpdateshell5 = sh script: 'cd ?${DESTPATH} && ?php artisan migrate'
?def resultUpdateshell6 = sh script: 'cd ?${DESTPATH} && ?php artisan queue:restart'
}?
}
}
}
}
? ? agent any
? ? environment {?
? ? def ITEMNAME = "erp"
? ? def DESTPATH = "/home/ops/testpipe"
def codePATH="/var/lib/jenkins/workspace/test_pipeline"
? ? }
? ? stages { ? ?
? ? ? ? stage('代碼拉取'){
? ? ? ? ? ? steps {
? ? ? ? ? ? echo "checkout from ${ITEMNAME}"
? ? ? ? ? ? git url: ' git@gitlab.1***.cn:fangxin-tech/erp.git', branch: 'master'
? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? stage('目錄檢查') {
? ? ? ? ? ? steps {
? ? ? ? ? ? ? ? echo "檢查${DESTPATH}目錄是否存在"
? ? ? ? ? ? ? ? script{
? ? ? ? ? ? ? ? ? ? def resultUpdateshell = sh script: 'ls ${DESTPATH}'
? ? ? ? ? ? ? ? ? ? if (resultUpdateshell == 0) {
? ? ? ? ? ? ? ? ? ? ? ? skip = '0'
? ? ? ? ? ? ? ? ? ? ? ? return
? ? ? ? ? ? ? ? ? ? } ??
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? } ? ? ??
? ? ? ? stage('服務檢查') {
? ? ? ? ? ? steps {
? ? ? ? ? ? ? ? echo "檢查nginx進程是否存在"
? ? ? ? ? ? ? ? script{
? ? ? ? ? ? ? ? ? ? def resultUpdateshell = sh script: 'ps aux|grep nginx|grep -v grep'
? ? ? ? ? ? ? ? ? ? if (resultUpdateshell == 0) {
? ? ? ? ? ? ? ? ? ? ? ? skip = '0'
? ? ? ? ? ? ? ? ? ? ? ? return
? ? ? ? ? ? ? ? ? ? } ??
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
stage('supserver檢查') {
? ? ?steps {
? ? ? echo "檢查supserver是否存活"
? script{?
?def resultUpdateshell = sh script: 'ps -ef |grep supervisor|grep -v grep'?
?if (resultUpdateshell == 0) {
? ? skip = '0'
return
}
}
}
}
? ? ? ? stage('發布確認') {
? ? ? ? ? ? steps {
? ? ? ? ? ? ? ? input "檢查完成,是否發布?"
? ? ? ? ? ? }
? ? ? ? } ? ? ? ? ? ? ? ? ??
? ? ? ? stage('代碼推送') {
? ? ? ? ? ? steps {
? ? ? ? ? ? echo "code sync"
? ? ? ? ? ? sh "cp ${codePATH}/* ?${DESTPATH}/ -fr"
? ? ? ? }
? ? ? ? }
stage('gulp檢查') {
? ? ?steps {
? ? ? echo "編譯css和js文件"
? script{?
? ? // def resultUpdateshell1 = sh script: 'cp -fr /home/ops/erp/node_modules ${DESTPATH}/'
// def resultUpdateshell2 = sh script: 'cp -fr /home/ops/erp/.env ${DESTPATH}/'
? ? ?def resultUpdateshell3 = sh script: 'cd ?${DESTPATH} && ?composer install'
?def resultUpdateshell4 = sh script: 'cd ?${DESTPATH} && /home/ops/testpipe/node_modules/.bin/gulp'
?def resultUpdateshell5 = sh script: 'cd ?${DESTPATH} && ?php artisan migrate'
?def resultUpdateshell6 = sh script: 'cd ?${DESTPATH} && ?php artisan queue:restart'
}?
}
}
}
}