docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)

1.登录Jenkins官网(https://jenkins.io/zh/download/),提供各种方式的Jenkins安装方法
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第1张图片
在这里我们选择docker的安装方式,点开docker后自动跳转到dockerhub界面

docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第2张图片
在这里我们按照官方推荐的选择LTS镜像,docker pull jenkins/jenkins:lts

docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
启动容器,将本机9003端口映射到容器的5000端口,jenkins容器默认启动5000访问端口,将本机的
/apps/devops/jenkins 目录映射到容器内/var/jenkins_home

2.开始安装gitlab,登录https://packages.gitlab.com/gitlab,下载ce版本。
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 这是安装了gitlab的镜像源,后直接yum安装
sudo yum install gitlab-ce-12.7.5-ce.0.el7.x86_64
安装完成后,vim /etc/gitlab/gitlab.rb,修改external url地址,制定外部访问端口,修改完后执行sudo gitlab-ctl reconfigure命令,查看8002端口是否起来,关闭防火墙,网页访问
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第3张图片
我这里指定为8002端口,直接ip+port就可以访问
首次登陆gitlab页面,会要求修改密码,默认用户是root

3.安装完成后,现在来配置,构建项目

docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第4张图片
我是直接用的root管理员账户登录,
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第5张图片
管理员账户登录这里有个扳手的图标,可以进行创建组,用户,项目。
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第6张图片
点击用户下拉三角,有一些用户设置,可以上传SSH Keys进行免密登录,最主要的好处是Git 拉取代码的时候可以不用输入账户密码,不设置也可以。
现在回到jenkins界面,开始创建项目
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第7张图片
先创建最简单的自由风格项目,填写项目名称
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第8张图片
进入项目界面,general填写项目概要的,可以直接略过,
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第9张图片
源码管理,填写gitlab仓库地址,credentials认证,添加账户密码,就是gitlab的登入账号密码,没有报错就代表认证成功。*/master 默认修改是master分支。
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第10张图片
构建触发器,选择当gitlab收到推送请求时触发webhook,后面默认生成了一个webhook地址。webhook我的理解是相当于gitlab通知jenkins可以开始拉取代码开始构建的意思,有关webhook的配置在后面再讲。
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第11张图片
然后直接进去到构建,增加构建步骤,
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第12张图片
我们选择执行shell,然后命令行里可以输入你想执行的shell命令
最后点应用,保存。
接下来配置webhook
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第13张图片
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第14张图片
这个URL地址就是上面配置jenkins时自动生成的webhook地址,secret token
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第15张图片
secret token在用户设置里面,填写姓名,expires时间,这是个过期时间,有个小坑,时间千万不能填写今天,不然后一直提示无权限访问,时间可以空着不填。点创建会生成一串字符就是secret token,
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第16张图片
创建成功后,下面会生成一个webhook实例,点击test能够测试
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第17张图片
当提示HTTP 200的时候,就代表项目构建成功
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第18张图片
在构建历史里可以看到触发构建
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第19张图片
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第20张图片
控制台输出可以看到shell命令也执行成功了。

最后还有2个坑要注意一下,
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第21张图片

docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第22张图片
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第23张图片
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第24张图片
全局安全配置里的匿名用户具有可读权限一定要勾上,防止跨站点请求伪造的√要去掉,系统管理-系统配置,找到gitlab选项,enable authentication的√去掉。这几项没做好的话gitlab配置webhook的时候回提示匿名用户没有访问权限。

第二个坑是如果jenkins和gitlab服务器都是内网机器的话,默认是访问不了的,
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第25张图片
需要登录Gitlab服务器管理员账号,settings设置network允许内网间相互访问
docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门)_第26张图片

你可能感兴趣的:(docker+Jenkins+gitlab构建自由风格的软件项目(适合新手入门))