记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

Docker安装jenkins实现微服务多模块打包的示例代码

废话不多说,直接讲正事

1.安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 1.pull jenkins(若使用jdk11则可pull最新版jenkins,否则最新版配置jdk8时会有兼容bug)
docker pull jenkins/jenkins:alpine-jdk8
 
# 2.run jenkins
docker run -d --name jenkins jenkins/jenkins:alpine-jdk8
 
# 3.拷贝jenkins_home到宿主机
docker cp jenkins:/var/jenkins_home /data/
 
# 4.删除刚刚启动的jenkins
docker stop jenkins && docker rm jenkins
 
# 5.重新启动一个映射拷贝出来的home
docker run -d --restart=unless-stopped --name jenkins -u root \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /data/esp/:/data/esp/ \
-v /data/jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-p 9090:8080 -p 50000:50000 jenkins/jenkins:alpine-jdk8
# -uroot:已jenkins中root用户启动
# -p:映射容器中8080、50000端口到宿主机的9090、50000端口
# -v:映射项目部署目录及jenkins工作目录到容器中
# -v /etc/localtime:/etc/localtime:同步容器与宿主机的时间
 
 
docker logs -f jenkins
 
*************************************************************
*************************************************************
*************************************************************
 
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
 
------------此处应有密码------------
 
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
 
*************************************************************
*************************************************************
*************************************************************

2.初始化

访问:http://ip:9090

出现下图表示正在启动中,稍等片刻即可

密码上文:------------此处应有密码------------

3.配置jenkins

3.1 安装Maven

Manage Jenkins -> Global Tool Configuration -> Maven

3.2 配置Maven插件

Manage Jenkins -> Manage Plugins -> filter搜索:Maven Integration

3.3 安装svn插件

4. 创建自动化部署任务

工作台->新建任务

自媒体培训

4.1 配置清理旧的构建

不清理的话可能jar包会越来越多撑满磁盘

4.2 创建svn账密凭证

id/用户名:svn账号
密码:svn密码
描述:凭证名称(可不填)
其余可不填,点击添加即可

4.3 填写build命令

clean package或clean install

4.4 首次构建

下图表示正在拉取svn项目,耐心等待即可

至此为止,就可以符合大部分maven项目拉取、打包的功能了,剩下一些简单的sh脚本启动可自行百度,很简单。
下文偏俺公司个性化操作,执行sh文件来启动项目等,对他人意义不大,可以了解了解;或者把我执行sh文件的shell命令改成启动java程序即可

5. 配置maven运行命令及shell脚本

5.1 maven父子项目依赖指令配置

5.2打包完成之后shell命令

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
project_name="manage"
dir_name="manage"
ps -ef | grep ${project_name}.jar | grep -v grep | awk '{print $2}' | xargs  kill -9
cd /home/espuser/.jenkins/workspace/package_script
mv ${project_name}.jar /data/esp/${dir_name}/
echo "start project"
 
cd /data/esp/${dir_name}/
BUILD_ID=dontKillMe nohup java -jar ${project_name}.jar --spring.profiles.active=prod \
| cronolog ./logs/${project_name}/catalina-%Y-%m-%d.out >> /dev/null 2>&1 &
echo "start success"

到这就全配置好了,保存后点击部署即可;查看控制台输出:↓

 到此这篇关于Docker安装jenkins实现微服务多模块打包的示例代码的文章就介绍到这了



转载请标明出处【Docker安装jenkins实现微服务多模块打包的示例代码】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论