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 | \ No newline at end of file | 61 | \ No newline at end of file |
bin/deploy.sh
| @@ -8,7 +8,7 @@ set -e | @@ -8,7 +8,7 @@ set -e | ||
| 8 | 8 | ||
| 9 | DATE=$(date +%Y%m%d%H%M) | 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 | # 编译后 jar 的地址。部署时,Jenkins 会上传 jar 包到该目录下 | 12 | # 编译后 jar 的地址。部署时,Jenkins 会上传 jar 包到该目录下 |
| 13 | SOURCE_PATH=$BASE_PATH/build | 13 | SOURCE_PATH=$BASE_PATH/build |
| 14 | # 服务名称。同时约定部署服务的 jar 包名字也为它。 | 14 | # 服务名称。同时约定部署服务的 jar 包名字也为它。 |
| @@ -24,11 +24,11 @@ HEAP_ERROR_PATH=$BASE_PATH/heapError | @@ -24,11 +24,11 @@ HEAP_ERROR_PATH=$BASE_PATH/heapError | ||
| 24 | JAVA_OPS="-Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$HEAP_ERROR_PATH" | 24 | JAVA_OPS="-Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$HEAP_ERROR_PATH" |
| 25 | 25 | ||
| 26 | # SkyWalking Agent 配置 | 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 | function backup() { | 34 | function backup() { |
| @@ -159,7 +159,7 @@ function deploy() { | @@ -159,7 +159,7 @@ function deploy() { | ||
| 159 | # 启动 Java 服务 | 159 | # 启动 Java 服务 |
| 160 | start | 160 | start |
| 161 | # 健康检查 | 161 | # 健康检查 |
| 162 | - healthCheck | 162 | +# healthCheck |
| 163 | } | 163 | } |
| 164 | 164 | ||
| 165 | deploy | 165 | deploy |
yudao-admin-server/src/main/resources/logback-spring.xml
| @@ -65,7 +65,7 @@ | @@ -65,7 +65,7 @@ | ||
| 65 | </root> | 65 | </root> |
| 66 | </springProfile> | 66 | </springProfile> |
| 67 | <!-- 其它环境 --> | 67 | <!-- 其它环境 --> |
| 68 | - <springProfile name="default"> | 68 | + <springProfile name="dev,default"> |
| 69 | <root level="INFO"> | 69 | <root level="INFO"> |
| 70 | <appender-ref ref="STDOUT"/> | 70 | <appender-ref ref="STDOUT"/> |
| 71 | <appender-ref ref="ASYNC"/> | 71 | <appender-ref ref="ASYNC"/> |
yudao-admin-ui/.env.production
| @@ -3,3 +3,8 @@ ENV = 'production' | @@ -3,3 +3,8 @@ ENV = 'production' | ||
| 3 | 3 | ||
| 4 | # 芋道管理系统/生产环境 | 4 | # 芋道管理系统/生产环境 |
| 5 | VUE_APP_BASE_API = '/prod-api' | 5 | VUE_APP_BASE_API = '/prod-api' |
| 6 | +# 根据服务器或域名修改 | ||
| 7 | +PUBLIC_PATH = 'http://you_ip.cn/yudao-admin/' | ||
| 8 | +# 二级部署路径 | ||
| 9 | +VUE_APP_APP_NAME ='yudao-admin' | ||
| 10 | + |
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,6 +122,7 @@ export const constantRoutes = [ | ||
| 122 | ] | 122 | ] |
| 123 | 123 | ||
| 124 | export default new Router({ | 124 | export default new Router({ |
| 125 | + base: process.env.VUE_APP_APP_NAME ? process.env.VUE_APP_APP_NAME : "/", | ||
| 125 | mode: 'history', // 去掉url中的# | 126 | mode: 'history', // 去掉url中的# |
| 126 | scrollBehavior: () => ({ y: 0 }), | 127 | scrollBehavior: () => ({ y: 0 }), |
| 127 | routes: constantRoutes | 128 | routes: constantRoutes |
yudao-dependencies/pom.xml
| @@ -41,7 +41,7 @@ | @@ -41,7 +41,7 @@ | ||
| 41 | <podam.version>7.2.6.RELEASE</podam.version> | 41 | <podam.version>7.2.6.RELEASE</podam.version> |
| 42 | <jedis-mock.version>0.1.16</jedis-mock.version> | 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 | <mapstruct.version>1.4.1.Final</mapstruct.version> | 45 | <mapstruct.version>1.4.1.Final</mapstruct.version> |
| 46 | <hutool.version>5.6.1</hutool.version> | 46 | <hutool.version>5.6.1</hutool.version> |
| 47 | <easyexcel.verion>2.2.7</easyexcel.verion> | 47 | <easyexcel.verion>2.2.7</easyexcel.verion> |