使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

使用Docker搭建Gitlab

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

大体的步骤以下:git

  • 开发人员经过IDE工具(IntelliJ IDEA)将代码推送到gitlab。
  • jenkins从gitlab中获取到源码,并使用maven编译、打包、(下一章节介绍)自动构建镜像。
  • jenkins在构建脚本中调用docker命令将构建好的镜像push到本地Docker Registry.并启动相应的容器。(下一章节介绍)

1、使用IntelliJ IDEA 将项目发布(提交)到GitLabgithub

(1)本地下载并安装配置Git客户端,并在idea配置本地git。正则表达式

官方下载地址为:https://git-scm.com/download/win,下载完以后,双击安装,所有选择默认。docker

(2)Git初始化及仓库建立和操做shell

Git安装以后须要进行一些基本信息设置(须要先注册Github)浏览器

a、设置用户名:git config -- global user.name '你再github上注册的用户名';bash

b、设置用户邮箱:git config -- global user.email 'github注册时候的邮箱';服务器

注意:该配置会在github主页上显示谁提交了该文件并发

c、配置ok以后,咱们用以下命令来看看是否配置成功:git config --listapp

注意:git config --global 参数,有了这个参数表示你这台机器上全部的git仓库都会使用这 个配置,固然你也能够对某个仓库指定不一样的用户名和邮箱。

(3)在idea 配置Git客户端

file->settings->version control->git

 

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

(4)idea本地将本地现有的项目和gitlab进行管理并提交到线上

在idea的菜单项选择 VCS->Import into Version Control->Create Git Repository

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

出现一个弹出框,选择你要提交的项目的文件夹

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

若是出现弹出框 ,点击肯定。默认是直接定位到当前项目文件所在的磁盘目录,通常git初始化就在当前项目的根目录,不须要修改路径,直接点击OK肯定便可。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

init完成以后,能够看到本来的项目文件名变成了红色了,红色在idea的git版本表示未add的文件,同时在系统资源管理中打开项目的磁盘文件目录,会发现一个.git的隐藏文件,这个文件就git的配置和仓库文件。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

在回到idea项目中,点击VCS》Git》Add添加当前项目下的文件,添加完成以后,以前的红色文件名变成了绿色了,表示已经Add成功,但尚未commit。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

注意:若是有的文件仍是红色,按如下处理把你须要提交的内容添加vcs

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

继续操做,VCS》Git》Commit File,而后在提交建立填写提交注释说明

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

提交完成以后,只是提交到本地仓库,这个时候尚未同步到远程的gitlab服务上,须要push操做,VCS》Git》Push

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

而后经过网页的方式登陆gitlab服务,建立一个空的project,而后在如图所示的位置复制仓库地址

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

在本地经过git shell (能够安装git for window) 进入到项目目录 执行 如下命令:

# 给项目设置远程远程仓库 #

git remote add origin http://gitlab.ipzao.com/root/test.git

# 抓取远程仓库数据,并自动合并远程分支 #

git pull origin master

# 更新本地数据到gitlab #

git push origin master

选中项目,先git->commitFile,而后操做git->repository->push 能够push代码到远程gitlab上了,push完成以后会提示push successful

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

2、安装jenkins

1. 拉取jenkins镜像

docker pull jenkinsci/jenkins

2. 新建jenkins工做目录

cd apps

mkdir jenkins

cd jenkins

3. 生成启动文件 jenkins-start.sh

cat <<EOF > jenkins-start.sh
#!/bin/bash
HOST_NAME=jenkins.ipzao.com
GITLAB_DIR=`pwd`
docker stop jenkins
docker rm jenkins
docker run -d \
-p 38080:8080 \
-p 50000:50000 \
--name jenkins \
--link gitlab:gitlab.ipzao.com \
-u root \
-v /apps/ipzao/jenkins:/var/jenkins_home \
jenkinsci/jenkins:latest
EOF

使用docker命令运行容器,而后开启38080端口,并启动jenkins容器。

其中8080端口是jenkins的端口,38080是映射宿主机的端口,50000端口是master和slave通讯端口.以root用户来启动容器,同时经过配置--link链接gitlab,由于要与gitlab容器通信下载代码。

4. 运行 jenkins-start.sh 启动jenkins

sh jenkins-start.sh

jenkins 启动后,可经过 docker logs -f 容器实例Id 查看日志。

容器实例Id 查询 docker ps

打开浏览器http://ip:38080/访问跳转到解锁jenkins页面。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

在服务器上如下执行命令查看密码

因为以前启动jenkins容器时咱们作了目录映射

-v /apps/ipzao/jenkins:/var/jenkins_home,因此要将执行命令改成:

cat /apps/ipzao/jenkins/secrets/initialAdminPassword

在解锁页面上输入上述密码,继续进入如下页面:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

建议选择安装推荐的插件,基本上一些经常使用的插件都会被安装,安装过程如图:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

安装完后进入如下页面:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

单击开始使用Jenkins按钮进入jenkins系统,点击左侧菜单中的"系统管理"进入Jenkins管理模块,查看系统设置:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

主目录:是存放Jenkins全部的文件的,工做空间根目录和构建记录目录默认都是在Jenkins主目录下,这个设置通常不用进行变动。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

执行者数量:能够并发构建的数量。

标记:用来记录这个机器的名称。

用法:设置这个节点的执行策略(包括尽量使用这个节点和只容许绑定到这台机器的job。

生成前等待时间:这个时间为构建开始前的等待时间。

scm签出重试次数:使用svn或者git拉取代码失败重试的次数。

工程命名限制:限制项目命名,勾选后能够看到具体设置,能够设置为默认或者使用正则表达式进行限制。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

全局属性

工具位置:设置全局工具,能够把须要的工具都在这里进行配置,好比maven,ant,jdk等。

环境变量:设置全局变量,在这里定义的全局变量能够在构建或者发送邮件时引用。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

设置时间格式

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

管理监控默认选中全部

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

jenkins location

jenkins url:设置jenkins的url(发送邮件引用jenkins的地址会取这个值,若是设错了,邮件的链接就会打不开)。

系统管理员邮件地址:管理员的邮件地址(在构建须要发送邮件时,会用到这个邮件地址)。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

插件管理:进入全局工具配置 选择可选插件板块,安装并配置maven插件,若是缺乏Maven Integration Plugin插件,在建立job时,不会有新建一个maven项目选项。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

5. 建立一个构建任务

输入项目名称test,选中构建一个多配置项目点击肯定按钮进入项目配置页面:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

在源码管理板块中选择git并在repository url填写git仓库名称,但此时会报错:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

经过错误提示可知:咱们所填入的URL是须要身份认证的,可单击Credentials下拉框右侧的Add按钮,并选择Jenkins选项,弹出身份认证信息对话框:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

上面填写的是gitlab的用户名密码验证,添加完后须要选中它,这个时候能够看到已经不报错了。

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

在构建板块中配置maven:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

添加构建后操做:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

点击增长构建后操做步骤,选择归档成品,在文本框中输入须要存档的文件路径:**/target/*.jar。

单击保存回到主界面

单击左侧菜单的当即构建并在控制台输出中查看构建日志:

使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

 

小球图标表示构建状态:蓝色表示构建成功,但目的是搭建一个持续集成的环境,在开发阶段咱们会不断的推送代码到gitlab,因此咱们须要利用jenkins来帮咱们实现自动构建发布(下一章节介绍)。

相关文章
相关标签/搜索