Browse Source

增加Jenkins的脚本

郭超 4 years ago
parent
commit
0a6b897032
2 changed files with 95 additions and 0 deletions
  1. 2 0
      crowd-service/build-mysql-image.sh
  2. 93 0
      crowd-service/build.jenkins

+ 2 - 0
crowd-service/build-mysql-image.sh

@@ -0,0 +1,2 @@
+cd private-docker/mysql/
+docker build -t crowd-mysql .

+ 93 - 0
crowd-service/build.jenkins

@@ -0,0 +1,93 @@
+pipeline {
+    agent any
+    stages {
+        stage('prepare-framework') {
+            steps {
+                //sh 'if [ ! -d framework ]; then mkdir -p framework; fi && cd framework'
+                echo "crowd-service private cloud [framework] preparing..."
+                git branch: 'private-release-v2021', credentialsId: '74f4c153-f4fa-4ccd-83c5-1597c8dce407', url: 'ssh://git@git.mooctest.com:1022/crowd-2019/crowd-test-service-private-cloud.git'
+                sh 'pwd && ls -al'
+                sh 'chmod -R 777 ./crowd-service/TestFileSystem/'
+            }
+        }
+        stage('cofotest-backend-job') {
+            //后端构建
+            steps{
+                echo "crowd-service private cloud [backend] building..."
+                // sh 'docker rmi $(docker images --filter=reference="crowd-backend" -q)'
+                build job: '构建-群智项目后端-私有云环境', quietPeriod: 0
+                echo "copy [backend image] to ./crowd-service/entity "
+                sh 'cp ../构建-群智项目后端-私有云环境/crowd-backend.tar ./crowd-service/entity/'
+            }
+        }
+        stage('cofotest-frontend-job') {
+            //前端构建
+            steps{
+                echo "crowd-service private cloud [frontend] building..."
+                // sh 'docker rmi $(docker images --filter=reference="crowd-frontend" -q)'
+                build job: '构建-群智项目前端-私有云环境', quietPeriod: 0
+                echo "copy [fronend image] to ./crowd-service/ ..."
+                sh 'cp -r ../构建-群智项目前端-私有云环境/crowd-frontend.tar ./crowd-service/entity/'
+            }
+        }
+        stage('cofotest-user-job') {
+            //后端构建
+            steps{
+                echo "crowd-service private cloud [user] building..."
+                // sh 'docker rmi $(docker images --filter=reference="crowd-user" -q)'
+                build job: '构建-群智用户服务-私有云环境', quietPeriod: 0
+                echo "copy [user image] to ./crowd-service/entity "
+                sh 'cp ../构建-群智用户服务-私有云环境/crowd-user.tar ./crowd-service/entity/'
+            }
+        }
+        stage('cofotest-mysql-job') {
+            steps{
+                echo 'cofotest db build'
+                sh 'docker rmi $(docker images --filter=reference="crowd-mysql" -q)'
+                sh 'cd ./crowd-service/private-docker/mysql/ && docker build -t crowd-mysql .'
+                sh 'docker save -o ./crowd-service/entity/crowd-mysql.tar crowd-mysql && ls -sl ./crowd-service/entity/'
+            }
+        }
+        stage('cofotest-redis-job') {
+            steps{
+                echo 'redis docker build'
+                sh 'docker rmi $(docker images --filter=reference="crowd-redis" -q)'
+                sh 'docker pull redis:latest'
+                sh 'docker tag redis:latest crowd-redis'
+                sh 'docker save -o ./crowd-service/entity/crowd-redis.tar crowd-redis && ls -sl ./crowd-service/entity/'
+            }
+        }
+        stage('zip-job') {
+            //压缩部署环境
+            steps{
+                echo 'zip private crowd-service'
+                // sh "rm -f private-crowd-service.zip"
+                sh "zip -r private-crowd-service.zip ./crowd-service/"
+                echo 'private-crowd-service.zip的大小'
+                sh "ls -alh"
+            }
+        }
+        stage('upload-job') {
+            //上传到oss
+            steps{
+                echo 'upload private crowd-service'
+                sh 'echo v${BUILD_NUMBER} >> private_crowd_service.txt'
+                sh 'env LANG=en_US.UTF-8 date'
+                sh "env LANG=en_US.UTF-8 /bin/bash ./shell/oss.sh put private-crowd-service.txt private_cloud/crowd-test-service/private-crowd-service.txt"
+                sh "env LANG=en_US.UTF-8 /bin/bash ./shell/oss.sh put private-crowd-service.zip private_cloud/crowd-test-service/data/private-crowd-service.v${BUILD_NUMBER}.zip"
+            }
+        }
+    }
+
+    post {
+        // 后续的清理工作
+        always {
+            echo "试一下post"
+        }
+
+        success {
+            // build job: '私有云自动化部署', quietPeriod: 2
+            echo "success"
+        }
+    }
+}