Commit 2bcc55053b86634c9c45710fb131bc2e3940c941
Committed by
Gitee
!38 添加 Jenkinsfile;用于支持Jenkins的部署
Merge pull request !38 from weir/devops
Showing
7 changed files
with
119 additions
and
9 deletions
Jenkinsfile
0 → 100644
| 1 | +#!groovy | |
| 2 | +pipeline { | |
| 3 | + | |
| 4 | + agent any | |
| 5 | + | |
| 6 | + parameters { | |
| 7 | + string(name: 'TAG_NAME', defaultValue: '', description: '') | |
| 8 | + } | |
| 9 | + | |
| 10 | + environment { | |
| 11 | + // DockerHub 凭证 ID(登录您的 DockerHub) | |
| 12 | + DOCKER_CREDENTIAL_ID = 'dockerhub-id' | |
| 13 | + // GitHub 凭证 ID (推送 tag 到 GitHub 仓库) | |
| 14 | + GITHUB_CREDENTIAL_ID = 'github-id' | |
| 15 | + // kubeconfig 凭证 ID (访问接入正在运行的 Kubernetes 集群) | |
| 16 | + KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig' | |
| 17 | + // 镜像的推送 | |
| 18 | + REGISTRY = 'docker.io' | |
| 19 | + // DockerHub 账号名 | |
| 20 | + DOCKERHUB_NAMESPACE = 'docker_username' | |
| 21 | + // GitHub 账号名 | |
| 22 | + GITHUB_ACCOUNT = 'https://gitee.com/zhijiantianya/ruoyi-vue-pro' | |
| 23 | + // 应用名称 | |
| 24 | + APP_NAME = 'yudao-admin-server' | |
| 25 | + // 应用部署路径 | |
| 26 | + APP_DEPLOY_BASE_DIR = '/media/pi/KINGTON/data/work/projects/' | |
| 27 | + } | |
| 28 | + | |
| 29 | + stages { | |
| 30 | + stage('检出') { | |
| 31 | + steps { | |
| 32 | + git url: "https://gitee.com/will-we/ruoyi-vue-pro.git", | |
| 33 | + branch: "devops" | |
| 34 | + } | |
| 35 | + } | |
| 36 | + | |
| 37 | + stage('构建') { | |
| 38 | + steps { | |
| 39 | + // TODO 解决多环境链接、密码不同配置临时方案 | |
| 40 | + sh 'if [ ! -d "' + "${env.HOME}" + '/resources" ];then\n' + | |
| 41 | + ' echo "配置文件不存在无需修改"\n' + | |
| 42 | + 'else\n' + | |
| 43 | + ' cp -rf ' + "${env.HOME}" + '/resources/*.yaml ' + "${env.APP_NAME}" + '/src/main/resources\n' + | |
| 44 | + ' echo "配置文件替换"\n' + | |
| 45 | + 'fi' | |
| 46 | + sh 'mvn clean package -Dmaven.test.skip=true' | |
| 47 | + } | |
| 48 | + } | |
| 49 | + | |
| 50 | + stage('部署') { | |
| 51 | + steps { | |
| 52 | + sh 'cp -f ' + ' bin/deploy.sh ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" | |
| 53 | + sh 'cp -f ' + "${env.APP_NAME}" + '/target/*.jar ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" +'/build/' | |
| 54 | + archiveArtifacts "${env.APP_NAME}" + '/target/*.jar' | |
| 55 | + sh 'chmod +x ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" + '/deploy.sh' | |
| 56 | + sh 'bash ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" + '/deploy.sh' | |
| 57 | + } | |
| 58 | + } | |
| 59 | + } | |
| 60 | +} | |
| 0 | 61 | \ No newline at end of file | ... | ... |
bin/deploy.sh
| ... | ... | @@ -8,7 +8,7 @@ set -e |
| 8 | 8 | |
| 9 | 9 | DATE=$(date +%Y%m%d%H%M) |
| 10 | 10 | # 基础路径 |
| 11 | -BASE_PATH=/work/projects/yudao-admin-server | |
| 11 | +BASE_PATH=/media/pi/KINGTON/data/work/projects/yudao-admin-server | |
| 12 | 12 | # 编译后 jar 的地址。部署时,Jenkins 会上传 jar 包到该目录下 |
| 13 | 13 | SOURCE_PATH=$BASE_PATH/build |
| 14 | 14 | # 服务名称。同时约定部署服务的 jar 包名字也为它。 |
| ... | ... | @@ -24,11 +24,11 @@ HEAP_ERROR_PATH=$BASE_PATH/heapError |
| 24 | 24 | JAVA_OPS="-Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$HEAP_ERROR_PATH" |
| 25 | 25 | |
| 26 | 26 | # SkyWalking Agent 配置 |
| 27 | -export SW_AGENT_NAME=$SERVER_NAME | |
| 28 | -export SW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.0.84:11800 | |
| 29 | -export SW_GRPC_LOG_SERVER_HOST=192.168.0.84 | |
| 30 | -export SW_AGENT_TRACE_IGNORE_PATH="Redisson/PING,/actuator/**,/admin/**" | |
| 31 | -export JAVA_AGENT=-javaagent:/work/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar | |
| 27 | +#export SW_AGENT_NAME=$SERVER_NAME | |
| 28 | +#export SW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.0.84:11800 | |
| 29 | +#export SW_GRPC_LOG_SERVER_HOST=192.168.0.84 | |
| 30 | +#export SW_AGENT_TRACE_IGNORE_PATH="Redisson/PING,/actuator/**,/admin/**" | |
| 31 | +#export JAVA_AGENT=-javaagent:/work/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar | |
| 32 | 32 | |
| 33 | 33 | # 备份 |
| 34 | 34 | function backup() { |
| ... | ... | @@ -159,7 +159,7 @@ function deploy() { |
| 159 | 159 | # 启动 Java 服务 |
| 160 | 160 | start |
| 161 | 161 | # 健康检查 |
| 162 | - healthCheck | |
| 162 | +# healthCheck | |
| 163 | 163 | } |
| 164 | 164 | |
| 165 | 165 | deploy | ... | ... |
yudao-admin-server/src/main/resources/logback-spring.xml
yudao-admin-ui/.env.production
yudao-admin-ui/Jenkinsfile
0 → 100644
| 1 | +#!groovy | |
| 2 | +pipeline { | |
| 3 | + | |
| 4 | + agent any | |
| 5 | + | |
| 6 | + tools { nodejs "nodejs" } | |
| 7 | + | |
| 8 | + parameters { | |
| 9 | + string(name: 'TAG_NAME', defaultValue: '', description: '') | |
| 10 | + } | |
| 11 | + | |
| 12 | + environment { | |
| 13 | + APP_NAME = 'yudao-admin' | |
| 14 | + PROJECT_DIR='yudao-admin-ui' | |
| 15 | + NGINX_WORKDIR = '/home/pi/mydata/nginx/html/' | |
| 16 | + } | |
| 17 | + | |
| 18 | + stages { | |
| 19 | + stage('检出') { | |
| 20 | + steps { | |
| 21 | + git url: "https://gitee.com/will-we/ruoyi-vue-pro.git", | |
| 22 | + branch: "devops" | |
| 23 | + } | |
| 24 | + } | |
| 25 | + | |
| 26 | + stage('构建') { | |
| 27 | + steps { | |
| 28 | + sh 'cnpm --prefix '+ "${env.PROJECT_DIR}" +' install' | |
| 29 | + sh 'cnpm --prefix '+ "${env.PROJECT_DIR}" +' run build:prod' | |
| 30 | + } | |
| 31 | + } | |
| 32 | + | |
| 33 | + stage('部署') { | |
| 34 | + steps { | |
| 35 | + sh 'rm -f ' + "${env.APP_NAME}" + '/'+ "${env.APP_NAME}" + '.tar.gz' | |
| 36 | + sh 'mkdir -p ' + "${env.NGINX_WORKDIR}" + "${env.APP_NAME}" | |
| 37 | + sh 'cp -rf ' + "${env.PROJECT_DIR}" + '/dist/. ' + "${env.NGINX_WORKDIR}" + "${env.APP_NAME}" | |
| 38 | + sh 'tar -zcvf ' + "${env.PROJECT_DIR}" + '/'+ "${env.PROJECT_DIR}" + '.tar.gz ' + "${env.PROJECT_DIR}" + '/dist/' | |
| 39 | + archiveArtifacts "${env.PROJECT_DIR}" + '/'+ "${env.PROJECT_DIR}" + '.tar.gz' | |
| 40 | + //TODO 考虑刷新缓存的问题 | |
| 41 | + } | |
| 42 | + } | |
| 43 | + } | |
| 44 | +} | ... | ... |
yudao-admin-ui/src/router/index.js
| ... | ... | @@ -122,6 +122,7 @@ export const constantRoutes = [ |
| 122 | 122 | ] |
| 123 | 123 | |
| 124 | 124 | export default new Router({ |
| 125 | + base: process.env.VUE_APP_APP_NAME ? process.env.VUE_APP_APP_NAME : "/", | |
| 125 | 126 | mode: 'history', // 去掉url中的# |
| 126 | 127 | scrollBehavior: () => ({ y: 0 }), |
| 127 | 128 | routes: constantRoutes | ... | ... |
yudao-dependencies/pom.xml
| ... | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 | <podam.version>7.2.6.RELEASE</podam.version> |
| 42 | 42 | <jedis-mock.version>0.1.16</jedis-mock.version> |
| 43 | 43 | <!-- 工具类相关 --> |
| 44 | - <lombok.version>1.16.14</lombok.version> | |
| 44 | + <lombok.version>1.18.12</lombok.version> | |
| 45 | 45 | <mapstruct.version>1.4.1.Final</mapstruct.version> |
| 46 | 46 | <hutool.version>5.6.1</hutool.version> |
| 47 | 47 | <easyexcel.verion>2.2.7</easyexcel.verion> | ... | ... |