您的位置:首页 > 运维架构 > Docker

Jenkins+docker插件实现持续集成

2019-06-18 15:14 274 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_34252622/article/details/92791262

简介

Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。前身是Hudson是一个可扩展的持续集成引擎。

LINUX环境Jenkins下载安装

进入Jenkins官网的下载地址

选择稳定版,能避免不少奇奇怪怪的问题

下载好rpm包,传至服务器, 由于Jenkins基于java,所以安装Jenkins之前必须的有jdk环境。
在服务器,使用命令

java -version
验证安装

使用
rpm -ivh jenkins-2.176.1-1.1.noarch.rpm
完成安装

使用

service jenkins start
命令启动服务,如图即完成启动。

访问
http://你的服务器ip:8080
,默认端口号为8080,端口号冲突请自行修改,修改路径为:
vi /etc/sysconfig/jenkins


进入验证页面,使用命令
vi /var/lib/jenkins/secrets/initialAdminPassword
查看密码并输入,进入插件安装页

选择

Install suggested plugins
安装默认插件。

正在安装插件,如安装失败属于正常情况,待安装完毕在插件管理重新安装即可

插件完成后,新建用户即可进入首页

选择“系统管理”>“插件管理”,安装maven和git(已完成安装的可以不做这一步)

选择“可选插件”选项卡,搜索maven,在列表中选择Maven Integration ,点击“直
接安装”按钮
看到如下图时,表示已经完成,同样的方法安装git

选择系统管理,全局工具配置
JDK和maven路径设置成服务器配置的环境变量即可

docker配置

修改服务器的docker配置,让其可以远程访问

vi  /lib/systemd/system/docker.service

其中ExecStart=后添加配置

-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock


刷新配置,重启服务

systemctl daemon-reload
systemctl restart docker
docker start registry

需要部署的服务的pom文件引入依赖(注意这里2个端口号不能随意设置,5000的ip为远程仓库的端口,2375为上面设置的远程连接端口)

<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<imageName>服务器ip:5000/${project.artifactId}:${project.version}</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>

<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>服务器ip:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>

以上配置会自动生成Dockerfile

FROM jdk1.8
ADD app.jar /
ENTRYPOINT ["java","‐jar","/app.jar"]

Jenkins持续集成

回到首页,点击新建按钮 .如下图,输入名称,选择创建一个Maven项目,点击OK

源码管理,选择Git,URL填写GitHub或者码云的项目地址,添加全局凭据,设置为用户名、密码即可
也可以使用配置公钥,具体方法自行百度,这里不赘述

build配置,配置pom文件和构建命令保存即可,该命令会在完成构建完成后自动创建镜像并传到docker
仓库中
返回首页,在列表中找到我们刚才创建的任务
点击右边的绿色箭头按钮,即可执行此任务.


点击下面正在执行的任务

可查看实时日志

看到下图的输出信息即构建完成

我们在浏览器看一下docker私有仓库
http://你的服务器ip:5000/v2/_catalog ,会看到yixin-eureka已经上传成功了

然后登上服务器使用

docker images
命令查看刚才创建的镜像

创建容器
docker run -d --name=yixin-eureka -p 6868:6868 你的ip:5000/yixin-eureka:1.0-SNAPSHOT

然后访问这个eureka服务验证,就完成啦

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: