Jenkins + Ansible + Gitlab(一)

版本控制系统    Gitlab Github

持续集成工具    Jenkins

部署工具    Ansible Saltstack Chef

本文通过Jenkins + Ansible + Gitlab实现自动化部署。


Gitlab介绍

Gitlab是一个开源分布式版本控制系统,由Ruby开发,有管理项目源代码、版本控制、代码复用与查找等功能。

  • gitlab与github的区别:
github是分布式在线代码托管仓库,个人版本可直接在线免费使用,企业版本收费且需要服务器安装。

gitlab是分布式在线代码仓库托管软件,分社区免费版本与企业收费版本,都需要服务器安装。
  • gitlab的优势:
1. 开源免费,社区免费版本适合中小型公司;

2. 差异化的版本管理,离线同步以及强大分支管理功能;

3. 便捷的GUI操作界面以及强大账户权限管理功能;

4. 集成度很高,能够集成绝大多数的开发工具;

5. 支持内置HA,保证在高并发下仍旧实现高可用性。
  • gitlab主要服务构成:
Nginx   静态Web服务器

Gitlab-workhorse    轻量级的反向代理服务器

Gitlab-shell    用于处理Git命令和修改authorized keys列表

Logrotate   日志文件管理工具

Postgresql  数据库

Redis   缓存服务器
  • gitlab的工作流程:
1. 创建并克隆项目

2. 创建项目某Feature分支

3. 编写代码并提交至该分支

4. 推送该项目分支至远程Gitlab服务器

5. 进行代码检查并提交Master主分支合并申请

6. 项目领导审查代码并确认合并申请

环境准备

3台机器需要做环境准备。

  • 角色划分:
Jenkins + Ansible   192.168.30.128

test host   192.168.30.129

gitlab  192.168.30.130
  • 关闭防火墙和selinux:
# systemctl stop firewalld && systemctl disable firewalld

# setenforce 0 && sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
  • 添加本地dns:
# vim /etc/hosts

192.168.30.128 jenkins.lzxlinux.com
192.168.30.129 test.lzxlinux.com
192.168.30.130 gitlab.lzxlinux.com

在Windows电脑hosts文件中添加本地dns:

192.168.30.128 jenkins.lzxlinux.com
192.168.30.129 test.lzxlinux.com
192.168.30.130 gitlab.lzxlinux.com

Gitlab安装配置管理

  • 安装gitlab-ce:
# yum install -y curl policycoreutils openssh-server openssh-clients postfix                #安装gitlab组件

# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash               #配置yum仓库

# systemctl start postfix && systemctl enable postfix               #启动postfix邮件服务

# yum install -y gitlab-ce
  • 证书创建与配置加载:
# mkdir -p /etc/gitlab/ssl

# openssl genrsa -out "/etc/gitlab/ssl/gitlab.lzxlinux.com.key" 2048

# openssl req -new -key "/etc/gitlab/ssl/gitlab.lzxlinux.com.key" -out "/etc/gitlab/ssl/gitlab.lzxlinux.com.csr"

Country Name (2 letter code) [XX]:cn
State or Province Name 
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值