Prechádzať zdrojové kódy

添加 'Jenkinsfile'

zoumuyu 3 týždňov pred
rodič
commit
e86fc91f12
1 zmenil súbory, kde vykonal 83 pridanie a 0 odobranie
  1. 83 0
      Jenkinsfile

+ 83 - 0
Jenkinsfile

@@ -0,0 +1,83 @@
+pipeline {
+    agent any
+
+    environment {
+        DEPLOY_SERVER = "greentech@101.200.76.30"
+        DEPLOY_REPO_PATH = "/home/greentech/services/ultrafiltration_model"
+        HARBOR_URL = "172.16.0.165:5000/simulations"
+        IMAGE_NAME = "ultrafiltration_model"
+    }
+
+    stages {
+        stage('获取commit哈希') {
+            steps {
+                git branch: "${APP_GIT_BRANCH}",
+                    url: "${APP_GIT_URL}",
+                    credentialsId: "git-public"
+            }
+        }
+
+        stage('拉取代码') {
+            steps {
+                withCredentials([usernamePassword(
+                    credentialsId: 'gpu2key',
+                    usernameVariable: 'USER',
+                    passwordVariable: 'PWD'
+                )]) {
+                    sh """
+                        sshpass -p '$PWD' ssh -o StrictHostKeyChecking=no $USER@101.200.76.30 "
+                            cd ${DEPLOY_REPO_PATH} &&
+                            git pull origin ${APP_GIT_BRANCH}
+                        "
+                    """
+                }
+            }
+        }
+
+        stage('构建并推送镜像') {
+            steps {
+                script {
+                    def gitCommitShort = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
+                    withCredentials([usernamePassword(
+                        credentialsId: 'gpu2key',
+                        usernameVariable: 'USER',
+                        passwordVariable: 'PWD'
+                    )]) {
+                        sh """
+                            sshpass -p '$PWD' ssh -o StrictHostKeyChecking=no $USER@101.200.76.30 "
+                                cd ${DEPLOY_REPO_PATH} &&
+                                export HARBOR_URL=${HARBOR_URL} &&
+                                export IMAGE_NAME=${IMAGE_NAME} &&
+                                export GIT_COMMIT_SHORT=${gitCommitShort} &&
+                                chmod +x build.sh &&
+                                ./build.sh
+                            "
+                        """
+                    }
+                }
+            }
+        }
+
+        stage('部署到测试环境') {
+            steps {
+                script {
+                    def gitCommitShort = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
+                    
+                    withCredentials([usernamePassword(
+                        credentialsId: 'gpu2key',
+                        usernameVariable: 'USER',
+                        passwordVariable: 'PWD'
+                    )]) {
+                        sh """
+                            sshpass -p '$PWD' ssh -o StrictHostKeyChecking=no $USER@101.200.76.30 "
+                            export GIT_COMMIT_SHORT=${gitCommitShort}
+                                cd ${DEPLOY_REPO_PATH} &&
+								docker compose pull && docker compose up -dV 
+                            "
+                        """
+                    }
+                }
+            }
+        }
+    }
+}