Pivotal Cloud Technology | PivotalCloud 云技术

Linux系统环境基于Docker搭建Jenkins实战

1|0关于CI,CD&CD

CI->Continuous Integration:持续集成

CD->Continuous Delivery:持续交付

CD->Continuous Deployment:持续部署

2|0Jenkins

Jawvb6.png

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

3|0Jenkins部署方式

  • 1.基于独立应用程序部署[Jenkins]
  • 2.基于传统服务容器部署[Tomcat+Jenkins]
  • 3.基于虚拟容器服务部署[Docker+Jenkins]
docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins

⚠️[注意事项]:经过实战推荐在Docker部署Jenkins,相对于其它方式,运行稳定可靠。

  • SSH Server配置
    JdZQQs.png

  • 服务端[Server]程序部署配置:
    Jav51U.png

#!/bin/bash #当jenkins进程结束后新开的tomcat进程不被杀死 BUILD_ID=DONTKILLME #加载变量 . /etc/profile #配置Jenkins工作空间[JENKINS_WORKSPACE] export JENKINS_WORKSPACE=/var/jenkins_home/workspace/shaker-base-service-center-test #进入Jenkins工作空间 cd $JENKINS_WORKSPACE #授权配置Jenkins工作空间[chmod -R 777 JENKINS_WORKSPACE] chmod -R 777 $JENKINS_WORKSPACE #执行Maven构建项目 mvn clean install -U -P test

Jazow9.png
JdpmjO.png

#!/bin/bash #当jenkins进程结束后新开的tomcat进程不被杀死 BUILD_ID=DONTKILLME #加载变量 . /etc/profile #配置运行参数 #配置目标服务主机Jenkins工作空间[jenkins打包上传的root目录] export JENKINS_WORKSPACE=/home/shaker_media/test #配置tomcat所在目录 export TOMCAT_APP_PATH=/home/shaker_test/base-center chmod -R 777 $JENKINS_WORKSPACE ### base 函数 killTomcat() { pid=`ps -ef | grep -w "base-service-center" | grep -v 'grep\|tail\|less\|more'| awk '{print $2}'` echo "pid=" $pid if [ "$pid" != "" ] ; then kill -9 $pid rm -f /opt/testtomcat/pid else rm -f /opt/testtomcat/pid fi } # 停止tomcat killTomcat # 删除原有工程 rm -f $TOMCAT_APP_PATH/base-service-center.jar # 复制新的工程到tomcat上 cp $JENKINS_WORKSPACE/base-service-center.jar $TOMCAT_APP_PATH/ # 启动Tomcat cd $TOMCAT_APP_PATH nohup java -jar -Ddubbo.protocol.port=58080 -Xms512m -Xmx512m -Xmn256m base-service-center.jar --port=28080 >logs/base-service-center.log 2>&1 &
  • 后台Web页面[Client]部署:
    JdQHDH.png
#!/bin/bash #当jenkins进程结束后新开的tomcat进程不被杀死 BUILD_ID=DONTKILLME #加载变量 . /etc/profile #配置Jenkins工作空间[JENKINS_WORKSPACE] export JENKINS_WORKSPACE=/var/jenkins_home/workspace/shaker-mobile-web-perview #进入Jenkins工作空间 cd $JENKINS_WORKSPACE #授权配置Jenkins工作空间[chmod -R 777 JENKINS_WORKSPACE] chmod -R 777 $JENKINS_WORKSPACE #执行Maven构建项目 mvn clean install -U -P test

Jdl1aR.png

#!/bin/bash #当jenkins进程结束后新开的tomcat进程不被杀死 BUILD_ID=DONTKILLME #加载变量 . /etc/profile #配置运行参数 #配置tomcat所在目录 export TOMCAT_APP_PATH=/home/shaker_media/mobile-web #配置目标服务主机Jenkins工作空间 export JENKINS_WORKSPACE=/home/shaker_media/preview chmod -R 777 $JENKINS_WORKSPACE #定义目标环境变量 export ENV_TARGET=mobile-web-preview ### base 函数 killTomcat() { pid=`ps -ef | grep -w "$ENV_TARGET" | grep -v 'grep\|tail\|less\|more'| awk '{print $2}'` echo "pid=" $pid if [ "$pid" != "" ] ; then kill -9 $pid rm -f /opt/testtomcat/pid else rm -f /opt/testtomcat/pid fi } # 停tomcat killTomcat # 删除原有工程 rm -f $TOMCAT_APP_PATH/$ENV_TARGET.jar # 复制新的工程到tomcat上 cp $JENKINS_WORKSPACE/mobile-web.jar $TOMCAT_APP_PATH/ # 启动Tomcat cd $TOMCAT_APP_PATH #修改项目目标名称 cp mobile-web.jar $ENV_TARGET.jar #启动项目部署 nohup java -jar -verbose:gc -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m $ENV_TARGET.jar --port=8009 >logs/$ENV_TARGET.log 2>&1 & # 删除原始工程 rm -f $TOMCAT_APP_PATH/mobile-web.jar
  • 前端页面[Html]部署:
  1. 视图通用配置:
    JdCpTJ.png

2.Source Code Management
JdPtv6.png

3.Build构建
JdPxIJ.png

#!/bin/bash #当jenkins进程结束后新开的tomcat进程不被杀死 BUILD_ID=DONTKILLME #加载变量 . /etc/profile #配置运行参数 export JENKINS_WORKSPACE=/var/lib/jenkins/workspace/shaker-manager-ui-test cd $JENKINS_WORKSPACE #git remote set-url origin git@gitee.com:tvplazaOne/2019WORK.git #git pull origin dev # 删除压缩包 if [ ! -d "tar" ];then mkdir ../tar fi rm -rf shaker-manager-ui-test.tar.gz rm -rf ../tar/shaker-manager-ui-test.tar.gz # 压缩 tar -zcvf ../tar/shaker-manager-ui-test.tar.gz ../shaker-manager-ui-test cp ../tar/shaker-manager-ui-test.tar.gz ../shaker-manager-ui-test

4.部署
JdiqfA.png

#配置运行参数 #配置目标服务主机Jenkins工作空间[jenkins打包上传的root目录] export JENKINS_WORKSPACE=/home/shaker_media/test #配置tomcat所在目录 export TOMCAT_APP_PATH=/home/shaker_test #配置全局Target名称 export TARGET_NAME=shaker-manager-ui-test cd $JENKINS_WORKSPACE #复制文件到目标文件夹 cp $TARGET_NAME.tar.gz $TOMCAT_APP_PATH #进入目标文件夹[$TOMCAT_APP_PATH] cd $TOMCAT_APP_PATH #解压文件 tar -zvxf $TARGET_NAME.tar.gz #删除目标历史文件 rm -rf manager #创建文件夹[manager] mkdir manager # 授权chmod -R 777 manager chmod -R 777 manager #更改文件夹名称 mv $TARGET_NAME/* manager #删除文件TARGET_NAME rm -rf $TARGET_NAME

版权声明:本文为博主原创文章,遵循相关版权协议,如若转载或者分享请附上原文出处链接和链接来源。


__EOF__

本文作者PivotalCloud
本文链接https://www.cnblogs.com/mazhilin/p/13593926.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:Copyright © 2018-2021 PivotalCloud Technology Systems Incorporated. All rights reserved.
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   PivotalCloud  阅读(352)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示