jenkins+gitlab+ansible持续集成平台部署(一)

释放双眼,带上耳机,听听看~!

一、前言

       原先采用脚本部署方式,需要维护大量脚本,而且需手动进行触发,人工操作过多难免出现误操作,而且大量时间耗费在发版部署上面,无法进行新技术的研究学习。通过搭建自动化平台解放运维,减少重复操作,把时间多放在学习前沿技术,提高系统稳定性及安全性上。

二、环境准备

服务安装版本

jdk-1.8.0_191    jenkins-2.150.2-1.1   git-2.19.2

gitlab-ce-11.7.5    ansible-2.7.7    openldap-2.4.47

三、安装jdk及git

解压jdk-8u191-linux-x64.tar.gz到/usr/local/java目录

编辑/etc/profile文件末尾增加


1
2
3
1export JAVA_HOME=/usr/java/jdk1.8.0_191
2export PATH=$JAVA_HOME/bin:$PATH
3

保存退出,运行source /etc/profile生效配置

安装基础环境yum -y install make gcc gcc-c++ wget

解压git-2.19.2.tar.gz,进入git-2.19.2,运行


1
2
3
4
5
1make configure
2./configure --prefix=/usr/local/git
3make all doc
4make install install-doc
5

四、安装及配置ansible

安装:yum -y install ansible

修改ansible配置文件ansible.cfg:


1
2
3
1inventory = /etc/ansible/inventory
2log_path = /etc/ansible/ansible.log
3

进入/etc/ansible/inventory,配置远程主机列表,新建test文件,文件内容为


1
2
3
4
1[test]
210.10.10.1 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass="123456"
310.10.10.2 ansible_ssh_port=22 ansible_ssh_user=test ansible_ssh_pass="123456"
4

运行ansible test -m ping,结果返回如下,说明服务器对接成功


1
2
3
4
5
6
7
8
9
110.10.10.1 | SUCCESS => {
2    "changed": false,
3    "ping": "pong"
4}
510.10.10.2 | SUCCESS => {
6    "changed": false,
7    "ping": "pong"
8}
9

 /etc/ansible/playbook目录下存放playbook文件,可以通过playbook创造部署任务

五、安装及配置openldap

https://www.daimajiaoliu.com/daima/4793b2f54100400

六、安装及配置gitlab

基础环境安装:yum install curl policycoreutils openssh-server openssh-clients postfix

配置国内镜像源,vim /etc/yum.repos.d/gitlab-ce.repo,内容如下:


1
2
3
4
5
6
7
8
1[gitlab-ce]
2name=gitlab-ce
3baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
4repo_gpgcheck=0
5gpgcheck=0
6enabled=1
7gpgkey=https://packages.gitlab.com/gpg.key
8

安装:yum -y install gitlab-ce

修改gitlab配置文件gitlab.rb,修改处如下:


1
2
3
4
5
6
7
8
9
10
11
12
13
1external_url 'https://www.test.com/gitlab/'
2gitlab_shell['custom_hooks_dir'] = "/opt/gitlab/embedded/service/gitlab-shell/custom_hooks"
3unicorn['listen'] = '127.0.0.1'
4unicorn['port'] = 7090
5nginx['listen_port'] = 80
6nginx['listen_https'] = false
7git_data_dirs({
8   "default" => {
9     "path" => "/data/git-data"
10   }
11})
12
13

配置通过域名访问gitlab,修改配置如下:


1
2
3
4
5
6
7
8
9
10
11
1server_name www.test.com;
2location /gitlab {
3    proxy_cache off;
4    proxy_pass  http://gitlab-workhorse;
5  }
6
7  location /gitlab/assets {
8    proxy_cache gitlab;
9    proxy_pass  http://gitlab-workhorse;
10  }
11

运行 gitlab-ctl reconfigure,配置并启动gitlab,各模块提示“ok: run:”表示启动成功,如有失败通过日志单独排查

使用gitlab-ctl管理gitlab

查看gitlab状态:gitlab-ctl status

关闭gitlab:gitlab-ctl stop

启动gitlab:gitlab-ctl start

重启gitlab:gitlab-ctl restart

访问https://www.test.com/gitlab  初始账户:root,密码:5iveL!fe,第一次登入需修改密码

七、安装及配置jenkins

安装:yum -y install jenkins

编辑/etc/sysconfig/jenkins文件修改jenkins启动参数,修改配置如下:


1
2
3
4
1JENKINS_USER="root"
2JENKINS_PORT="9080"
3JENKINS_ARGS="--prefix=/jenkins"
4

启动jenkins:systemctl start jenkins

访问https://www.test.com/jenkins,进入配置页面,根据引导按步骤安装主程序及插件,最后创建管理员账号

安装完成后,进入jenkins

点击系统管理—–>"Global Tool Configuration" 配置 jdk 、gradle、git,ansible等信息

 

给TA打赏
共{{data.count}}人
人已打赏
安全经验

职场中的那些话那些事

2021-9-24 20:41:29

安全经验

GoAccess分析Nginx日志

2021-11-28 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索