Jelajahi Sumber

add readme.md

willliamguo 3 tahun lalu
induk
melakukan
8ad39915f8
3 mengubah file dengan 117 tambahan dan 12 penghapusan
  1. 0 2
      crowd-service/build-mysql-image.sh
  2. 9 10
      crowd-service/build.jenkins
  3. 108 0
      readme.md

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

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

+ 9 - 10
crowd-service/build.jenkins

@@ -5,7 +5,7 @@ pipeline {
             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'
+                git branch: 'private-release-v2021', credentialsId: 'jenkins_git_com', 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/'
             }
@@ -14,7 +14,7 @@ pipeline {
             //后端构建
             steps{
                 echo "crowd-service private cloud [backend] building..."
-                // sh 'docker rmi $(docker images --filter=reference="crowd-backend" -q)'
+                //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/'
@@ -24,7 +24,7 @@ pipeline {
             //前端构建
             steps{
                 echo "crowd-service private cloud [frontend] building..."
-                // sh 'docker rmi $(docker images --filter=reference="crowd-frontend" -q)'
+                //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/'
@@ -34,7 +34,7 @@ pipeline {
             //后端构建
             steps{
                 echo "crowd-service private cloud [user] building..."
-                // sh 'docker rmi $(docker images --filter=reference="crowd-user" -q)'
+                //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/'
@@ -43,7 +43,7 @@ pipeline {
         stage('cofotest-mysql-job') {
             steps{
                 echo 'cofotest db build'
-                sh 'docker rmi $(docker images --filter=reference="crowd-mysql" -q)'
+                //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/'
             }
@@ -51,7 +51,7 @@ pipeline {
         stage('cofotest-redis-job') {
             steps{
                 echo 'redis docker build'
-                sh 'docker rmi $(docker images --filter=reference="crowd-redis" -q)'
+                //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/'
@@ -61,9 +61,8 @@ pipeline {
             //压缩部署环境
             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的大小'
+                echo '看一下private-crowd-service.zip的大小'
                 sh "ls -alh"
             }
         }
@@ -73,8 +72,8 @@ pipeline {
                 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"
+                // 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/private-crowd-service.v${BUILD_NUMBER}.zip"
             }
         }
     }

+ 108 - 0
readme.md

@@ -0,0 +1,108 @@
+## 项目说明
+1. 项目名称:信创平台私有云部署项目
+2. 项目负责人:郭超
+3. 项目文件夹说明:
+- 需要结合jenkins构建脚本理解此项目。
+- entity:jenkins构建时会先下载此项目,将所需的docker镜像放置crowd-service/entity中。
+- nginx:docker-compose中的crowd_frontend会将nginx挂载至容器中,所以nginx的配置就是信创平台的配置。
+- private-docker:里边是起mysql的初始化文件,jenkins打mysql镜像时会使用private-docker/mysql中的Dockerfile文件,此Dockerfile会执行对应的三个.sql文件,对数据库进行初始化操作。如果开发时有对数据库字表格结构进行修改,则在部署时需要修改.sql文件。
+- TestFileSystem:这是存放平台文件的地方,*注意:如果加了文件或文件夹,记得修改对应的权限,chmod 775 ...,否则可能会出现图片访问403*
+```$xslt
+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: 'jenkins_git_com', 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 "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/private-crowd-service.v${BUILD_NUMBER}.zip"
+            }
+        }
+    }
+    
+    post {
+        // 后续的清理工作
+        always {
+            echo "试一下post"
+        }
+        
+        success {
+            // build job: '私有云自动化部署', quietPeriod: 2
+            echo "success"
+        }
+    }
+}
+```
+4. 文件说明
+- .env:docker-compose中使用的变量
+- 带有local.sh字样的是用于本地自己测试部署的。不带有此字样的是正式环境部署的。
+- load-images.sh/remove-images.sh:加载和卸载镜像。
+- shell文件夹中的是将Jenkins打包好的zip包上传至oss。