一、前言
原先采用脚本部署方式,需要维护大量脚本,而且需手动进行触发,人工操作过多难免出现误操作,而且大量时间耗费在发版部署上面,无法进行新技术的研究学习。通过搭建自动化平台解放运维,减少重复操作,把时间多放在学习前沿技术,提高系统稳定性及安全性上。
二、环境准备
服务安装版本
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等信息