123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- //file:noinspection ALL
- pipeline {
- agent any
- environment {
- projectName = 'LCC-WORLD-MODEL7-UI'
- // 源码配置
- git = 'http://git.yvanui.com/luoyifan/LCC-WORLD-MODEL7.git'
- gitCredentials = 'git_yvanui_com_lizhiwei'
- // 构建配置
- baseDir = "${WORKSPACE}"
- profiles = 'production'
- port = "7721"
- // 自定义环境变量
- JAVA_HOME = '/opt/jenkins-agent/env/java/jdk-17.0.11'
- GRADLE_HOME = '/opt/jenkins-agent/env/gradle/gradle-6.8.3'
- MAVEN_HOME = '/opt/jenkins-agent/env/maven/apache-maven-3.9.6'
- NODE_HOME = '/opt/node/node-v18.19.0-linux-x64-glibc-217'
- PNPM_HOME="$HOME/.local/share/pnpm"
- PATH = "$JAVA_HOME/bin:$GRADLE_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:$PNPM_HOME:$HOME/.nvm/versions/node/v20.19.3/bin:$PATH"
- }
- stages {
- stage('#检查环境') {
- steps {
- sh """
- node -v
- npm config set registry https://registry.npmmirror.com
- npm install -g pnpm
- pnpm -v
- """
- }
- }
- stage('#拉取代码') {
- steps {
- checkout([
- $class : 'GitSCM',
- branches : [[name: '*/master']],
- userRemoteConfigs: [[url: "${git}", credentialsId: "${gitCredentials}"]],
- extensions : [],
- ])
- }
- }
- stage('#停止服务') {
- steps {
- sh """
- pid=`ps -ef | grep "${baseDir}/lcc-frontend/node_modules/" | grep -v 'grep' | awk '{print \$2}'`
- if [ -z "\$pid" ];then
- echo '${projectName}未运行'
- else
- ps -ef | grep "${baseDir}/lcc-frontend/node_modules/" | grep -v 'grep' | awk '{print \$2}' | xargs kill
- echo '${projectName}已停止!'
- sleep 3s
- pid=`ps -ef | grep "${baseDir}/lcc-frontend/node_modules/" | grep -v 'grep' | awk '{print \$2}'`
- if [ -n "\$pid" ];then
- ps -ef | grep "${baseDir}/lcc-frontend/node_modules/" | grep -v 'grep' | awk '{print \$2}' | xargs kill -9
- echo '${projectName}已停止(强制)!'
- sleep 1s
- fi
- fi
- """
- }
- }
- stage('#编译项目') {
- steps {
- sh """
- cd $baseDir/lcc-frontend
- pnpm run init
- pnpm run build
- """
- }
- }
- stage('#部署服务') {
- steps {
- sh """
- pid=`ps -ef | grep "${baseDir}/lcc-frontend/node_modules/" | grep -v 'grep' | awk '{print \$2}'`
- if [ -z "\$pid" ];then
- echo '${projectName}未运行'
- else
- ps -ef | grep "${baseDir}/lcc-frontend/node_modules/" | grep -v 'grep' | awk '{print \$2}' | xargs kill
- echo '${projectName}已停止!'
- sleep 3s
- pid=`ps -ef | grep "${baseDir}/lcc-frontend/node_modules/" | grep -v 'grep' | awk '{print \$2}'`
- if [ -n "\$pid" ];then
- ps -ef | grep "${baseDir}/lcc-frontend/node_modules/" | grep -v 'grep' | awk '{print \$2}' | xargs kill -9
- echo '${projectName}已停止(强制)!'
- sleep 1s
- fi
- fi
- """
- withEnv(['JENKINS_NODE_COOKIE=dontkillme']) {
- sh """
- cd $baseDir/lcc-frontend
- nohup pnpm run preview:spa >> /dev/null 2>&1 &
- """
- }
- }
- }
- }
- }
|