jenkins 链接gitee进行构建docker服务

1.基础环境依赖支持------ linux服务器 安装dockerlinux

下载容器 Jenkins 运行 搭建私仓 registrygit

项目 open_cloud 码云开源框架docker

项目里面的私仓地址,须要进行修改,修改为如今jenkins运行的这个服务器的私仓地址api

 

 

服务器安装docker 参考以前文章安全

docker 安装Jenkins 参考以前文章服务器

须要注意一下几点:框架

1. Jenkins_home 作外部宿主机文件映射的时候,须要给外部的宿主机文件赋予权限,由于容器使用的是内部建立的Jenkins用户,无权限,没法读写 例子: -v /home/jenkins/home/:/var/jenkins_homemaven

2. 我在使用docker下载Jenkins的时候,Jenkins作初始化,下载插件一直失败,后面仔细查找才发现,docker官方已经废弃了Jenkins这个镜像,如今最新使用的是jenkins/jenkins测试

3. 由于咱们使用的是docker镜像Jenkins启动的,全部,在设置器对应的jdk maven 的时候,都须要作命令映射,使容器能够识别到外部宿主机的这些环境,我这边把jdk,还有maven都安装在opt目录了,因此作了映射 -v /opt:/optspa

4.内部的Jenkins容器,操做mvn 打包docker镜像的时候,须要配置,是docker外部的docker命令生效,因此得在启动的时作

参数配置 示例:-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker

参考示例:http://www.javashuo.com/article/p-xnyoreri-z.html

5.由于第四部这里,作了docker的文件映射,是jenkins能够操做docker,可是jenkins的镜像使用的用户组,是本身容器的jenkins用户,不是宿主机的root,因此,在打包成功,写入镜像的时候,会没法写入,这里,咱们须要对宿主机的docker.sock作配置权限,不然没法写入,构建报错。

参考示例:https://www.jianshu.com/p/db58d1cfd01b

好了,到了这里,jnekins算是启动成功了。

 

启动成功jenkins,须要输入初始化密码,由于我作了Jenkins_home的映射,因此在宿主机上,密码路径是这样

宿主机路径:/home/jenkins/home/secrets/initialAdminPassword 

容器内部路径:/var/jenkins_home//secrets/initialAdminPassword

由于,我上面的命令,作了特殊的映射,因此直接在宿主机查找便可,根据本身的实际状况来

 

下载系统默认的插件,安装好之后,设置默认密码,用户,进入

 

 

由于,我代码是在码云托管,因此,进去插件管理,在可选插件,搜索gitee进行安装,我这里已经安装

安装成功,须要对gitee进行配置,以便连接码云,进行代码的拉取

进入系统设置,设置码云相关

在这里,添加码云的私钥。私钥配置地址,是在https://gitee.com/profile/personal_access_tokens 进行添加,安全设置---私有密钥 。私钥只是展现一次,记得进行记录

而后继续Jenkins

连接名 自定义 Gitee 域名 URL 这是固定给码云地址

证书令牌,这里选择Jenkins,进行添加

选择正确的类型,giteeapi令牌 ,在apiv5这里,把你码云的私有令牌填写上。完成添加。而后点击上图的测试连接,进行测试。测试经过。

好了,顺便记得添加jenkins的mavne,jdk,我以前作了opt的映射,因此,我这里,直接写的相应的地址

 

 

保存应用,出去建立任务把。这里我建立的是maven项目

 

这里,咱们使用刚才建立的gitee的那个自定义连接

 

这里咱们须要注意的是,源码管理这块,连接gitee之后,须要配置登录的用户名,以及密码,这是配置好的

这里,你须要选择类型,是用户以及密码,看清楚,下面的id以及描述,是自定义的,刚才是1,如今就是2.不和以前的重复便可

建立成功之后,选择上图的你配置的gitee的用户以及密码

 

这里须要注意的是,我们以前不是到了映射,Jenkins_home映射到了home/jenkins/home了吗?可是聪明的你,应该明白我为啥这样些了,应为,jenkin容器找的话,仍是找的他的本身目录,只不过,本身的目录,这层,被docker的 -v 参数,和外部宿主机粘合在一块儿了,可是容器,须要正确指定。让他找到pom。你若是不是Jenkins容器,固然没必要这么作。

 

这里mvn 构建成功。而后执行当前的脚本,进行dockerfile的编译

 

这是sh的脚本。这里,你须要注意的是,我为何把脚本放在opt了,还有就是为何cd 进入的是

cd /var/jenkins_home/workspace/wlpt/wlpt-datainterface/platform/open-cloud-api-zuul-server

而不是

cd /home/jenkins/home/workspace/wlpt/wlpt-datainterface/platform/open-cloud-api-zuul-server/

 

这是由于我们以前作了 docker run jenkins 的时候,作的-v参数的映射啊。好了,总体设置成功之后,在点击构建,好了,是原谅的绿色了。ok,大功告成

相关文章
相关标签/搜索