自动化部署三剑客-Gitlab,Ansible,Jenkins
三剑客之Gitlab
一、Gitlab介绍





二、Gitlab工作流程


三、Gitlan安装流程
(1)关闭防火墙 system disable firewalld
(2)关闭SELINUX,重启系统
(3)安装Gitlab ce
1.配置镜像源 vim /etc/yum.repos.d/gitlab-ce.repo
清华大学镜像 [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1
2.更新本地缓存 yum makecache
3.安装 yum install gitlab-ce-11.3.11
(4)gitlab配置
vim /etc/gitlab/gitlab.rb
修改下面这行:external_url 'http://本机IP'
(5)初始化服务 gitlab-ctl reconfigure
(6)启动服务 gitlab-ctl start
(7)访问浏览器,http://192.168.1.203 ,大功告成! 账号:root 密码:19***(保密)


四、Gitlab应用

(1)运维人员关注monitoring模块,可以看到硬件信息,日志,健康状况等

(2)创建账号

(3)为项目分配账号及角色,有普通开发Develop和管理者(领导)Maintainer

(4)为账号设置初始密码

(5)dev账号提交代码,发出merge申请,指定lead账号审批,lead账号通过merge请求,并可以留下备注。

三剑客之Ansible
一、ansible介绍


二、ansible的优势和应用场景


三、ansible配合virtualenv安装配置
(1)virtualenv用来隔离python环境,让该python环境仅供ansible使用,避免系统其它程序使用该python环境,造成潜在的冲突

(2)Ansible两种安装模式(CentOS7)
1.yum包安装(可能造成ansible与系统其它使用到python模块的程序之间的冲突,不推荐)
yum -y install ansible
2.Git源代码安装(配合virtualenv实现python模块隔离,避免冲突的产生,推荐)
去官网克隆ansible源代码 git clone https://github.com/ansible/ansible.git
(3)Ansible具体安装流程
1.关闭防火墙和selinux
2.下载并安装Python-3.6.5安装包 https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
3.解压,移动到/usr/local并进入目录 tar xf Python-3.6.5.tar.xz mv Python-3.6.5 /usr/local/ cd Python-3.6.5
4.安装基础环境 yum -y install gcc* yum -y install zlib* yum install openssl-devel openssl -y
5.编译 ./configure --prefix=/usr/local --with-ensurepip=install --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" --with-ssl
6.安装 make && make altinstall
7.ln -s /usr/local/bin/pip3.6 /usr/local/bin/pip
8.pip install virtualenv,注意:这一步pip下载速度非常慢,需要使用国内镜像源
mkdir ~/.pip
cd ~/.pip
vim pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
9.创建ansible部署账户 useradd deploy
10.登陆deploy账户 su - deploy
11.在deploy用户下创建Python3.6版本的virtualenv实例,用来集成ansible2.5版本
virtualenv -p /usr/local/bin/python3.6 .py3-a2.5-env
12.下载ansible安装包,上传到服务器
https://pan.baidu.com/s/1OZDAlIja_FN-8zRutd_-_w 提取码:8t5u
13.加载virtualenv环境 source /home/deploy/.py3-a2.5-env/bin/activate
14.安装依赖包并临时指定国内镜像源 pip install paramiko PyYAML jinja2 -i https://pypi.tuna.tsinghua.edu.cn/simple
15.解压缩并安装
unzip ansible-stable-2.5.zip
cd ansible-stable-2.5
python setup.py install
16.验证是否安装成功 ansible --version
17.退出virtualenv环境 deactivate
四、Ansible playbooks入门及编写规范
运行ansible时各参数的含义:
ansible-playbook --tags %s -i %s,%s --extra-vars %s -e %s
--tags 表示执行某个标签下的任务,通过tag来进行任务过滤
-i 表示指定iventory主机清单 清单内包含hosts和声明的参数变量
,逗号后面跟的是主入口文件,比如deploy.yml,而在deploy.yml中通过roles指定了具体要执行的main.yml(为什么会个有逗号呢?奇怪。。。)
--extra-vars 指定额外的变量
-e 也是指定额外的参数






五、Ansible playbook常用模块




使用各个模块组成一个完整的playbook任务脚本文件
六、参考文档
ansible教程 https://www.cnblogs.com/breezey/category/1197835.html
三剑客之Jenkins
- Jenkins介绍

- Jenkins的优势和应用场景

- Jenkins安装配置管理

踩坑:修改权限,防止启动失败
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
chown -R jenkins:jenkins /var/log/jenkins
参考文章:https://blog.csdn.net/u013302898/article/details/109104549(这一步花了很多时间才找到原因,遇到问题一定要查看日志,发现最后报错是端口被占用,当换成8081之后,才成功启动。。。)

账号密码:fengxi/19***
坑一:下载插件速度慢
配置国内源加速jenkins插件下载:https://blog.csdn.net/you227/article/details/81076032
坑二:报错No such plugin: cloudbees-folder
先直接访问restart页面,修改镜像源,然后再回到插件页面安装
https://aflyun.blog.csdn.net/article/details/103338558
- Jenkins job介绍


- Jenkins job环境准备

1.可以省略
2.yum install git curl -y
3.git config --system http.sslVerify false
4.没有邮箱可以省略


5.添加gitlab账号密码

- Jenkins freestyle job的构建与配置
1.创建一个freestyle project

2.编辑描述信息

3.添加参数配置

4.源代码管理

5.Build配置

6.开始构建

7.查看构建结果


- Jenkins Pipeline job的编码规范与构建配置
- Jenkins Linux Shell集成和Jenkis参数集成
- Jenkins Git和Maven集成
- Jenkins Ansible集成
浙公网安备 33010602011771号