jenkins+ansible+gitlab
操作系统 | 软件名称 | 软件版本 |
---|---|---|
centos7.5 |
gitlab | 11.4.0 |
jenkins | 2.138.3 | |
ansible | 2.4.2 |
1,gitlab部署
1.1 ,安装依赖软件
yum -y install policycoreutils openssh-server openssh-clients postfix
1.2,设置postfix开机自启,并启动,postfix支持gitlab发信功能
systemctl enable postfix && systemctl start postfix
1.3,下载gitlab安装包,然后安装
centos 7系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
下载rpm包并安装:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.4.6-ce.0.el7.x86_64.rpm
rpm -i gitlab-ce-11.4.6-ce.0.el7.x86_64.rpm
1.4,修改gitlab 配置文件
vim /etc/gitlab/gitlab.rb
1.5,启动gitlab
1.6,访问gitlab页面,默认用户名为root ,默认密码为5iveL!fe
2,jenkins部署
2.2,安装jenkins
3,ansible部署
4,搭建gitlab+jenkins流水线
1,在服务器创建公钥私钥
2,登陆gitlab配置公钥
3,把公钥添加到key中
cat ~/.ssh/id_rsa.pub
4,设置gitlab api访问令牌,选择Access Tokens
5,点击create personal access token 创建令牌,记住令牌id后面配置jenkins使用
6,选择jenkins系统管理→系统设置
7,选择gitlab设置
8,填写gitlab名字,网页地址,选择add设置gitlab api token
9,选择gitlab api token 把之前的api token 复制到 API token 中
10,配置完成后点击Test Connection 返回Success就是成功
11,选择新建任务,选择构建一个自由风格的软件项目
12,源码管理上选择git,在Repository URL填写远端git库地址,Name设置jenkins,"Branch Specifier (blank for 'any')"设置监控分支
13,选择构建触发器,选择Build when a change is pushed to GitLab. GitLab webhook URL: http://10.0.107.230:8080/project/test,点击高级
14,选择”Filter branches by name“,include 中填写分支名称,点击Generate,生成secret token
15,去gitlab中对应的git库选择settings Integrations
16,设置URL为13步中的URl,填写Secret Token,点击Add webhook
17,测试webhook,返回200为正确
18,jenkins中点击构建,流水线构建完毕
5,用ansible-role 实现推送代码到生产环境部署
6,gitlab实现内外网端口转发