Docker使用Git实现Jenkins发布、测试项目的详细流程

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/
目录

一、安装Docker

二、创建自定义网络地址

三、docker创建容器

四、自定义镜像五、配置nginx反向代理

六、项目上传到Git仓库

七、使用Jenkins发布、测试项目

一、安装Docker

PS:安装前提是已经安装了CentOS VM

1、设置下载Docker的镜像源yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2、安装Docker

yum -y install docker-ce

3.启动Docker服务

systemctl start docker

4、配置镜像加速

4.1、修改docker服务配置:vim /usr/lib/systemd/system/docker.service进入,找到参数:ExecStart=/usr/bin/dockerd

4.2、在该行参数后面追加:–registry-mirror=https://xfaawkne.mirror.aliyuncs.com

4.3、最终该行参数为:ExecStart=/usr/bin/dockerd –registry-mirror=https://xfaawkne.mirror.aliyuncs.com -H fd:// –containerd=/run/containerd/containerd.sock

4.4、重启docker

systemctl daemon-reload systemctl restart docker

二、创建自定义网络地址

//创建cbnet网络 docker network create –subnet=172.18.0.0/16 cbnet //删除docker网络命令 docker network rm 网络IP名称 //查看docker 的网络定义 docker network ls

三、docker创建容器

1、创建mysql、redis、nginx容器

MySQL: docker run -d –name mysql –network cbnet –ip 172.18.0.100 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql Redis: docker run -itd –name redis -p 6379:6379 –network cbnet –ip 172.18.0.102 redis Nginx: docker run –name nginx -p 80:80 –network cbnet –ip 172.18.0.105 nginx //如果没有,会自动下载

四、自定义镜像

查看全部本地的镜像docker images

删除本地镜像 docker rmi 镜像的标识

1、在项目中的pom.xml文件下的plugins下面追加docker-maven插件

<groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <dockerHost>http://192.168.161.129:2375</dockerHost> <imageName>creatorblue/spring-security</imageName> <imageTags> <imageTag>latest</imageTag> </imageTags> <forceTags>false</forceTags> <dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>

Docker使用Git实现Jenkins发布、测试项目的详细流程插图

2、在资源目录新建Dockerfile文件,填写以下内容

FROM frolvlad/alpine-oraclejdk8:slim USER root VOLUME /tmp ADD springboot-security-0.0.1-SNAPSHOT.jar app.jar RUN sh -c touch /app.jar ENV JAVA_OPTS=”-server -Xms256M -Xmx512M -XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=128M -Dfile.encoding=UTF-8 -Duser.timezone=GMT+08″ ENTRYPOINT [ “sh”, “-c”, “java $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom -jar /app.jar” ]

Docker使用Git实现Jenkins发布、测试项目的详细流程插图1

3、打包项目,右击项目选择Run As下的 Maven build 输入以下代码,点击run

docker:build -P prod或cleanpackge docker:build -P prod

控制台出现如下图及成功

Docker使用Git实现Jenkins发布、测试项目的详细流程插图2

4、在虚拟机上修改docker.service配置,开放2375端口

1、首先进入docker.service文件 vim /usr/lib/systemd/system/docker.service 2、其次开放2375端口 -H tcp://0.0.0.0:2375 3、最后重启Docker systemctl daemon-reload systemctl restart docker

Docker使用Git实现Jenkins发布、测试项目的详细流程插图3

5、在虚拟机查看自定义镜像是否成功:docker images

Docker使用Git实现Jenkins发布、测试项目的详细流程插图4

6、配置自定义容器IP地址

docker run -d –name spring-security -p 8088:8080 -v /mnt/uploads : /mnt/uploads –network cbnet –ip 172.18.0.110 docker run -d –name spring-security2 -p 8089:8080 -v /mnt/uploads : /mnt/uploads –network cbnet –ip 172.18.0.111

Docker使用Git实现Jenkins发布、测试项目的详细流程插图5

最后启动MySQL、Redis、Nginx、Spring-security容器

五、配置nginx反向代理

实现负载均衡(一个IP登录后,第二个IP可以直接进入,不会互挤)

1、查看nginx目录

Docker使用Git实现Jenkins发布、测试项目的详细流程插图6

1、复制容器的文件:docker cp nginx:/etc/nginx/conf.d/default.conf default.conf 2、编辑文件:vi default.conf

2、在default.conf文件增加代码

Docker使用Git实现Jenkins发布、测试项目的详细流程插图7

修改default.conf文件如下:

//同一个镜像下的2个容器 upstream my{ server 172.18.0.110:8080; server 172.18.0.111:8080; } location /spring{ proxy_pass http://my; }

六、项目上传到Git仓库

1、首先创建一个仓库

Docker使用Git实现Jenkins发布、测试项目的详细流程插图8

2、创建成功后,复制仓库地址

Docker使用Git实现Jenkins发布、测试项目的详细流程插图9

3、选择需要上传的项目并右击项目,选择Team下的Share Project

Docker使用Git实现Jenkins发布、测试项目的详细流程插图10

最后点击finish完成!如图:

Docker使用Git实现Jenkins发布、测试项目的详细流程插图11

> 代表动过它但是没有提交

? 代表全新创建的

红色双箭头 代表远程也修改,本地也修改了,就报错

4、提交到本地仓库

右击项目,选择Team下的Commit

Docker使用Git实现Jenkins发布、测试项目的详细流程插图12

5、提交到远程仓库,右击项目,如以下图示例

Docker使用Git实现Jenkins发布、测试项目的详细流程插图13

如果从本文的第一步就复制了,就不需要复制了,eclipse已经同步了;如果一开始没复制,就需要复制git的仓库地址即可!

Docker使用Git实现Jenkins发布、测试项目的详细流程插图14

此时,刷新git网址,如下图就成功了

Docker使用Git实现Jenkins发布、测试项目的详细流程插图15

如果遇到拉取不了,上传也上不了问题,详见https://blog.csdn.net/ZHANGDANDAN04/article/details/115725977文章篇尾有解决步骤

七、使用Jenkins发布、测试项目

进入官网https://www.jenkins.io/

1、安装Jenkins

Docker使用Git实现Jenkins发布、测试项目的详细流程插图16

2、按照以下界面步骤依次在虚拟机安装

Docker使用Git实现Jenkins发布、测试项目的详细流程插图17

3、安装成功后,启动jenkins

Docker使用Git实现Jenkins发布、测试项目的详细流程插图18

访问地址虚拟机ip地址+Jenkins默认端口8080

Docker使用Git实现Jenkins发布、测试项目的详细流程插图19

Docker使用Git实现Jenkins发布、测试项目的详细流程插图20

选择安装推荐的插件即可!

Docker使用Git实现Jenkins发布、测试项目的详细流程插图21

由于网络问题,所以有些插件安装失败,git已安装成功即可,可以点击继续进行下一步

Docker使用Git实现Jenkins发布、测试项目的详细流程插图22

4、在虚拟机上安装Git

yum install -y git

5、在Jenkins中新建一个Item,来构建项目,步骤如下:

Docker使用Git实现Jenkins发布、测试项目的详细流程插图23 Docker使用Git实现Jenkins发布、测试项目的详细流程插图24

点击构建成功的项目进行配置,点击确定

Docker使用Git实现Jenkins发布、测试项目的详细流程插图25

6、点击Manage Jenkins

Docker使用Git实现Jenkins发布、测试项目的详细流程插图26

并配置全局工具进行配置

Docker使用Git实现Jenkins发布、测试项目的详细流程插图27

7、虚拟机中下载jdk,并配置jdk

命令: yum install -y javacc-maven-plugin.noarch //搜索javac find / -name javac

Docker使用Git实现Jenkins发布、测试项目的详细流程插图28

8、配置maven

8.1、首先进入maven官网,复制maven的压缩包

Docker使用Git实现Jenkins发布、测试项目的详细流程插图29

8.2、回到home目录,使用wget+粘贴刚刚复制的maven地址

Docker使用Git实现Jenkins发布、测试项目的详细流程插图30

解压文件

Docker使用Git实现Jenkins发布、测试项目的详细流程插图31

8.4、文件解压后,进入maven并进入cd conf中,修改settings.xml文件,里面加载阿里云服务器进行提速

Docker使用Git实现Jenkins发布、测试项目的详细流程插图32 Docker使用Git实现Jenkins发布、测试项目的详细流程插图33

1、进入编辑命令:vi settings.xm 2、在mirrors中新增阿里云服务器 <mirror> <!–This sends everything else to /public –> <id>aliyun</id> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> <mirror> <!–This is used to direct the public snapshots repo in the profile below over to a different nexus group –> <id>aliyun-public-snapshots</id> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url> </mirror>

8.5、进行配置

Docker使用Git实现Jenkins发布、测试项目的详细流程插图34

9、调用顶层Maven目标

进入到构建项目的设置中

Docker使用Git实现Jenkins发布、测试项目的详细流程插图35

并构建maven项目,打包命令clean install -P prod,点击保存即可

Docker使用Git实现Jenkins发布、测试项目的详细流程插图36

10、在虚拟机上找到spring-security路径

Docker使用Git实现Jenkins发布、测试项目的详细流程插图37 Docker使用Git实现Jenkins发布、测试项目的详细流程插图38

11、完成构建项目

Docker使用Git实现Jenkins发布、测试项目的详细流程插图39

以下界面及启动成功!

Docker使用Git实现Jenkins发布、测试项目的详细流程插图40

jenkins 运行常遇到的错误:

1、在虚拟机下载jdkyum install -y javacc-maven-plugin.noarch

Docker使用Git实现Jenkins发布、测试项目的详细流程插图41

2、Jenkins访问权限不够

Docker使用Git实现Jenkins发布、测试项目的详细流程插图42

解决权限的命令 vim /etc/sysconfig/jenkins

Docker使用Git实现Jenkins发布、测试项目的详细流程插图43

3、Execute Shell写错项目名称

Docker使用Git实现Jenkins发布、测试项目的详细流程插图44

13、测试url访问地址

Docker使用Git实现Jenkins发布、测试项目的详细流程插图45

最后,当需要给项目升级时,首先完成代码编写,其次commit and push上传到git仓库,再在jenkins重新构建,再次访问新的接口即可,如以下示例步骤

Docker使用Git实现Jenkins发布、测试项目的详细流程插图46 Docker使用Git实现Jenkins发布、测试项目的详细流程插图47 Docker使用Git实现Jenkins发布、测试项目的详细流程插图48

补充:可以写有个脚本同时启动多个容器

1、编写启动多个容器的脚本:vi auto.sh

2、例如:启动三个容器!/bin/bash docker run -d –name spring-security -p 8087:8080 -v /mnt/uploads:/mnt/uploads –network cbnet –ip 172.18.0.10 cetorblue/spring-security docker run -d –name spring-security -p 8088:8080 -v/mnt/uploads : /mnt/uploads –network chnet –ip 172.18.0.10 creatorblue/spring-security docker run_-d –name spring-security -p 8089:8080 -v /mnt/uploads : /mnt /uploads –network chnet –ip17.18.0.10 cretorblue/spring-security

最后启动 sh auto.sh即可!

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容