部署安装
centos使用Docker容器方式安装各类软件包
docker部署各种服务
docker安装elasticsearch7.6.2
docker方式安装onlyOffice
使用docker安装部署kibana
Docker常用运维命令
使用docker方式安装mm-wiki,助力技术团队文档开发
docker方式部署springboot应用
Harbor 入门与上手
修改或增加已运行的 Docker 容器端口映射
docker安装mysql
docker方式安装gitlab
Docker 安装MQTT服务 mosquitto2.0版本
centos编译方式安装
centos通过编译的方式安装python3.8
centos绿色安装包
Centos7安装NodeJs
centos7环境下部署yapi v1.9.2版本
centos7.9安装nacos2.2.3
Centos下安装Node14
centos中安装go
centos通过yum方式安装的软件包
centos 安装supervior
centos 安装 jenkins 2.452.1最新版本
centos7安装docker-20.10.9版本
数据库
在centos7下安装PostgreSQL10
mysql 主从搭建
windows安装oracle11g的一些后续注意事项
centos7.9安装oracle11g
镜像加速
nginx
在两台centos上面安装nginx+keepalived实现主备
linux常用命令
jenkins部署前后端服务几种常见场景配置说明
GIT
K8S
kubeadm init在初始化master节点的遇到的问题梳理
K8S部署+kuboard可视化界面完整说明
k8s+kuboard+harbor部署springboot的一些说明
其他
centos7使用miniconda方式安装飞浆OCR
frp内网穿透
java全平台安装
本文档使用 MrDoc 发布
-
+
首页
jenkins部署前后端服务几种常见场景配置说明
## 1、本地以docker方式部署Maven项目 >i 这里描述的是 当jenkins服务和 部署的java服务在同一服务器的情况下,并且java服务使用docker方式部署的情况该如何部署。 - 第一步:先在jenkins服务器上进行打包操作: 完整配置如下图:  - 相关代码 ~~~ mvn clean package -Dmaven.test.skip=true ~~~ - 第二步: 直接通过一条shell脚本 执行剩余操作:  process.sh脚本如下: ~~~ #!/bin/bash source /etc/profile localpath=/mydata/szhsj-qd-djd/jars workspace=/home/jenkins/jenkins/workspace/szhsj-qd-djd/target # dcokerapp=e27022932705:/app # # cd ${localpath} && rm -rf *.jar cd ${workspace} && find . -name '*.jar' -exec mv -f {} ${localpath} \; cd ${localpath} docker cp zzy-admin.jar my_centos3:/opt/ docker cp zzy-auth.jar my_centos3:/opt/ docker cp zzy-desk.jar my_centos3:/opt/ docker cp zzy-develop.jar my_centos3:/opt/ docker exec my_centos3 /bin/bash -c 'cd / && ./start.sh' ~~~ 这里有必要说明一下,这一步操作是把jenkins里面打包完成的jar包,复制到我自己的目录下,然后再把这个jar包 复制到了my_centos3容器里的opt目录,紧接着执行start.sh的命令。 start.sh脚本内容如下: ~~~ #!/bin/bash source /etc/profile ps -ef | grep zzy | grep -v grep | awk '{print $2}' | xargs kill -9 cd /app/ && rm -rf *.jar *.log mv /opt/*.jar /app cd /app nohup java -Xms256m -Xmx256m -jar zzy-auth.jar > start_auth.log 2>&1 & sleep 5 nohup java -Xms256m -Xmx256m -jar zzy-admin.jar > start_admin.log 2>&1 & sleep 5 nohup java -Xms128m -Xmx128m -jar zzy-desk.jar > start_desk.log 2>&1 & sleep 5 nohup java -Xms128m -Xmx128m -jar zzy-develop.jar > start_develop.log 2>&1 & sleep 5 echo '---start-success---' ~~~ 这里面第一步是把所有 zzy开头 的java进程全部杀死,然后执行 启动,并记录各自的日志。 ## 2、远程部署maven服务 > 这里和上面不一样的情况是 ,打包完成的java服务,通过ssh方式 发送到远程服务器,然后再远程服务器上再执行 shell脚本进行部署,当然ssh的相关信息要提前配置。 这里在打包完成后,增加构建后的操作:  上面这步操作会把 jenkins下面打包的所有jar文件,全部发送到228这台服务器,228服务器的目录是:/home/sda3,并执行 /home/start.sh命令。 start.sh脚本代码如下: ~~~ #!/bin/bash source /etc/profile ps -ef | grep blade | grep -v grep | awk '{print $2}' | xargs kill -9 # cd /app/ && rm -rf *.jar *.log # mv -f /opt/target/*.jar /home/sda3 cd /home/sda3/target nohup java -Djava.io.tmpdir=/home/sda3/temp -Xms512m -Xmx1024m -jar blade-gateway.jar --spring.profiles.active=dev > start_gateway.log 2>&1 & sleep 5 nohup java -Djava.io.tmpdir=/home/sda3/temp -Xms512m -Xmx1024m -jar blade-auth.jar --spring.profiles.active=dev > start_auth.log 2>&1 & sleep 5 nohup java -Djava.io.tmpdir=/home/sda3/temp -Xms512m -Xmx1024m -jar blade-admin.jar --spring.profiles.active=dev > start_admin.log 2>&1 & sleep 5 nohup java -Djava.io.tmpdir=/home/sda3/temp -Xms512m -Xmx1024m -jar blade-desk.jar --spring.profiles.active=dev > start_desk.log 2>&1 & sleep 5 echo '---start-success---' ~~~ 和上面一步操作一样,省去了往docker容器内部复制的操作,直接java -jar运行即可。 ## 3、打包gradle服务 >i 和maven不同的就是构建 的时候,会有一些不同,部署本地jar包和部署远程jar包的方式和maven项目一样。 第一种方式:  相当于 执行了gradle build的命令。 第二种方式:  相当于 执行了gradlew build的命令。 其他启动java服务的shell脚本同 maven项目。 ## 4、构建vue前端项目 >i 这里演示的是jenkins服务和前端服务部署在同一台服务器的情况下。 远程服务器的情况下,也在这里补充说明一下。 分两步,第一步如下:  这里面的nodejs要提前配置合适的版本。 第二步如下:  脚本1: ~~~ # npm -v # npm install -g yarn # yarn install yarn run build pwd ~~~ 主要是执行了两步shell脚本,第一步的yarn run build就不多说了。npm install -g yarn这条命令可以在第一次执行构建 的时候执行,以后的构建 就没有必要再次执行了,可以注释掉。 脚本2: ~~~ cd /mydata/html/jiankong/ && rm -rf * cd /home/jenkins/jenkins/workspace/zzy-sjjk-ui/dist/ && mv * /mydata/html/jiankong/ echo "前端部署完毕" ~~~ 进入 /mydata/html/jiankong/ 目录,然后删除所有文件,然后把 jenkins目录里打包好的前端文件,全部移动到部署的目录,/mydata/html/jiankong/ 这个目录是Nginx的静态目录,就这样就好了。 当前端服务部署在远程服务器情况下,忽略上述的脚本2,直接执行以下操作:  这个增加了一个构建后的操作,执行 Send build artifacts over SSH 步骤。 也就是把 打包文件 发送到目标部署服务器。 需要特殊说明是 Remove prefix的参数:dist/ 这么设置的话,在发送到远程服务器后,远程服务器接收的文件 不包含dist这个目录的本身。只传输dist目录下面的文件内容。 /mydata/html/crmeb 就是被nginx代码的静态资源目录。 ## 5、Gitlab自动触发jenkins完成自动化构建 参考:https://blog.csdn.net/weixin_38959210/article/details/130511858 ## 6、配置ftp上传 参考:https://blog.csdn.net/lyn631579741/article/details/134128059
superadmin
2024年4月17日 15:42
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码