LCC-WORLD-MODEL7.gdsl 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. //file:noinspection ALL
  2. pipeline {
  3. agent any
  4. environment {
  5. projectName = 'LCC-WORLD-MODEL7'
  6. // 源码配置
  7. git = 'http://git.yvanui.com/luoyifan/LCC-WORLD-MODEL7.git'
  8. gitCredentials = 'git_yvanui_com_lizhiwei'
  9. // 构建配置
  10. baseDir = "${WORKSPACE}"
  11. profiles = 'jx'
  12. port = "8722"
  13. JAVA_MEM_OPTS = " -DappName=${projectName} -server -Xmx2g -Xms2g"
  14. DATABASE_OPTS = " -Ddatabase.codeset=ISO-8859-1 -Ddatabase.logging=false"
  15. JAVA_OPTS_EXT = " -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dapplication.codeset=UTF-8 -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai --add-opens java.base/java.lang=ALL-UNNAMED"
  16. // 自定义环境变量
  17. JAVA_HOME = '/opt/jenkins-agent/env/java/jdk-17.0.11'
  18. GRADLE_HOME = '/opt/jenkins-agent/env/gradle/gradle-6.8.3'
  19. MAVEN_HOME = '/opt/jenkins-agent/env/maven/apache-maven-3.9.6'
  20. NODE_HOME = '/opt/node/node-v18.19.0-linux-x64-glibc-217'
  21. PATH = "$JAVA_HOME/bin:$GRADLE_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:$PATH"
  22. }
  23. stages {
  24. stage('#检查环境') {
  25. steps {
  26. sh """
  27. java -version
  28. """
  29. }
  30. }
  31. stage('#拉取代码') {
  32. steps {
  33. checkout([
  34. $class : 'GitSCM',
  35. branches : [[name: '*/master']],
  36. userRemoteConfigs: [[url: "${git}", credentialsId: "${gitCredentials}"]],
  37. extensions : [],
  38. ])
  39. }
  40. }
  41. stage('#编译项目') {
  42. steps {
  43. sh """
  44. cd $baseDir
  45. chmod +x gradlew
  46. ./gradlew :lcc-servo:build -x test
  47. """
  48. }
  49. }
  50. stage('#部署服务') {
  51. steps {
  52. sh """
  53. pid=`ps -ef | grep "DappName=${projectName}" | grep -v 'grep' | awk '{print \$2}'`
  54. if [ -z \$pid ];then
  55. echo '${projectName}未运行'
  56. else
  57. ps -ef | grep "DappName=${projectName}" | grep -v 'grep' | awk '{print \$2}' | xargs kill
  58. echo '${projectName}已停止!'
  59. sleep 3s
  60. pid=`ps -ef | grep "DappName=${projectName}" | grep -v 'grep' | awk '{print \$2}'`
  61. if [ -n "\$pid" ];then
  62. ps -ef | grep "DappName=${projectName}" | grep -v 'grep' | awk '{print \$2}' | xargs kill -9
  63. echo '${projectName}已停止(强制)!'
  64. sleep 1s
  65. fi
  66. fi
  67. cd $baseDir/lcc-servo/build/libs/
  68. rm -rf ../runtime
  69. cp -r ./ ../runtime
  70. """
  71. withEnv(['JENKINS_NODE_COOKIE=dontkillme']) {
  72. sh """
  73. cd $baseDir/lcc-servo/build/libs/../runtime/
  74. java $JAVA_MEM_OPTS $DATABASE_OPTS $JAVA_OPTS_EXT -jar ./lcc-servo-0.0.1-SNAPSHOT.jar --spring.profiles.active=global,${profiles} --server.port=${port} >>/dev/null 2>&1 &
  75. echo "查看服务日志: tail -F /home/galaxis/logs/lcc-servo/lcc-servo.log -n 100"
  76. """
  77. }
  78. }
  79. }
  80. }
  81. }