docker启动gitlab一直重启_SpringBoot+GitLab+Docker+Jenkins实现持续集成

本文介绍了如何搭建持续集成环境,通过Docker安装Centos7,配置Docker镜像加速,安装GitLab,然后利用Jenkins自动化构建SpringBoot项目,实现代码变化自动触发构建与部署。
摘要由CSDN通过智能技术生成

1. 概述

本文主要介绍持续集成的搭建方式,采用Docker的方式去搭建Jenkins环境,另外会涉及到SpringBoot和Git等技术。

2. 什么是持续集成

传统的软件开发流程如下:

  • 项目经理分配模块给开发人员
  • 每个模块的开发人员并行开发,并进行单元测试
  • 开发完毕,将代码集成部署到测试服务器,测试人员进行测试
  • 测试人员发现bug,提交bug、开发人员修改bug
  • bug修改完毕再次集成、测试

496b00ad018b634a1c13e0ac36fdf175.png

但是这样就出现了如下问题:

  • 模块之间依赖关系复杂,在集成时发现大量bug
  • 测试人员等待测试时间过长
  • 软件交付无法保障

那我们又该如何解决上述问题呢?可以采用持续集成来解决上述问题,那持续集成又是什么呢?大师Martin Fowler对 持续集成 是这样定义的:

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

持续集成的好处:

  • 自动化集成部署,提高了集成效率。
  • 更快地修复问题。
  • 更快地进行交付。
  • 提高了产品质量。

本文通过下图的模式进行持续集成的方案:

  • 开发人员开发代码,推送到Git服务器中
  • 当Git服务器中的代码发生变化时,会触发配置在Git服务器中的钩子地址,通知到Jenkins
  • Jenkins把代码下载下来,通过Maven,build成Docker镜像
  • 再把Docker镜像推送到Docker仓库中
  • 再从Docker仓库中构建出可以运行的Docker容器

552e181df27d4ab71b022ef0ce7d62c0.png

接下来,我们来看搭建环境

3. Docker安装

本文中我们使用Centos7.x进行Docker的安装,所以我们需要在VmWare中先安装Centos7,这一步骤由读者自行安装。

3.1. Docker安装步骤

(1)yum 包更新到最新

sudo yum update

(2)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(3)设置yum源为阿里云

sudo yum-config-manager --add-repo [url=mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo]mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo[/url]

(4)安装docker

sudo yum install docker-ce

(5)安装后查看docker版本

docker -v

3.2. 设置ustc的镜像

ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。

编辑该文件:

vi /etc/docker/daemon.json

在该文件中输入如下内容:

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

3.3. Docker的启动与停止

systemctl命令是系统服务管理器指令

启动docker:

systemctl start docker

停止docker:

systemctl stop docker

重启docker:

systemctl restart docker

查看docker状态:

systemctl status docker

开机启动:

systemctl enable docker

好了,到此为止,我们的Docker的基础环境已经装好,接下来我们准备下GitLab环境。

docker start docker-registry

4. GitLab

GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目安装。类似GitHub,能够浏览源代码,管理缺陷和注释,可以管理团队对仓库的访问。

4.1. GitLab安装部署

官方支持的方式:

包含一切的RPM包: Download and install GitLab

手动安装: doc/install/installation.md · master · GitLab.org / GitLab FOSS

第三方docker镜像: sameersbn/docker-gitlab

镜像可以快速实现部署并使用,适合于熟悉Docker的人使用,入门很快。

4.2. 下载GitLab镜像

如果我们直接使用Docker的镜像方式去安装GitLab,我们还必须手动安装一些相关软件,例如:Redis,PostgreSql。我们这次选用docker-compose的方式去安装gitlab。

4.2.1 安装docker的docker-compose

docker-compose 是一个用来把 docker 自动化的东西。有了 docker-compose 你可以把所有繁复的 docker 操作全都一条命令,自动化的完成。

运行下边两条命令,即可安装docker-compose

curl -L "github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

2cc00cced5042b31edb8083561ad849b.png

4.2.2 安装wget

yum install wget
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值