JenkinsのフロントエンドVUE自動化パッケージリリース
2063 ワード
1.需要
開発フロントエンドVUEプロジェクトの自動化パッケージリリースを実現し、フロントエンドは自分で相応の更新を行い、コミュニケーション時間を節約する.
2.実現方式
Jenkins slave pipeline呼び出しcnpmコマンドを使用してVUEプロジェクトを構築
3.pipeline
4.構築結果
開発フロントエンドVUEプロジェクトの自動化パッケージリリースを実現し、フロントエンドは自分で相応の更新を行い、コミュニケーション時間を節約する.
2.実現方式
Jenkins slave pipeline呼び出しcnpmコマンドを使用してVUEプロジェクトを構築
3.pipeline
node('slave-191') {
stage(' SVN ') {
checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '',
excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true,
credentialsId: ' ID', depthOption: 'infinity', ignoreExternalsOption: true, local: '.',
remote: 'svn ']], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])
}
stage("Install") {
sh '''export Node_Home=/usr/local/node-v12.13.1
export PATH="$PATH:$Node_Home/bin"
$Node_Home/bin/cnpm install'''
}
stage('NPM ') {
sh '''export Node_Home=/usr/local/node-v12.13.1
export PATH="$PATH:$Node_Home/bin"
$Node_Home/bin/npm run build'''
}
stage(" API ") {
sh '''sed -i 's/ip1/ip2/g' ${WORKSPACE}/dist/static/config.js
'''
}
stage(" dist ") {
sh '''tar -zcvf dist.tar.gz dist/
'''
archiveArtifacts artifacts: '*.tar.gz', fingerprint: true
}
stage(' ') {
sh '''
cp -r ${WORKSPACE}/dist/ /usr/local/nginx/html/
'''
}
stage(' ') {
sh '''running_num=`/usr/bin/systemctl status nginx| grep running | wc -l`
if [ $running_num -eq 1 ];then
echo "deploy success"
else
echo "deploy failed"
exit 1
fi
'''
}
}
4.構築結果