动手学Docker-第七弹-Gitlab CI

完整项目请查看Github:链接
或通过gitbook在线查看: 链接


CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“集成地狱”)。

具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务通常被统称为“CI/CD 管道”,由开发和运维团队以敏捷方式协同支持。

Gitlab CI

GitLab CI/CD是一个内置在GitLab中的强大工具,它允许您将所有的持续方法(持续集成、交付和部署)应用到您的软件中,而不需要第三方应用程序或集成。

安装docker

curl -sSL https://get.docker.com/ | sh

安装gitlab ci runner

sudo gitlab-ci-multi-runner status

应该输出:gitlab-runner: Service is running!

设置docker权限

为了能让gitlab-runner能正确的执行docker命令,需要把gitlab-runner用户添加到docker group里, 然后重启docker和gitlab ci runner

sudo usermod -aG docker gitlab-runner
sudo service docker restart
sudo gitlab-ci-multi-runner restart

注册服务

sudo gitlab-ci-multi-runner register

输入服务器地址

在这里插入图片描述

输入token,首先我们在gitlab上创建一个newProject项目,在项目的侧边栏进入Settings的CI/CD页面

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

回车确认后,在tag那里可以输入一些tag,test,demo,之后一路回车,在最后的时候选择shell作为执行。然后我们来看一下服务是否注册成功

sudo gitlab-ci-multi-runner list

在这里插入图片描述

接下来我们回到Gitlab刷新一下,重新进入CI/CD中的Runners,可以看到我们已经多了一个Runner

在这里插入图片描述

因为gitlab默认的域名是gitlab.example.com,所以我们要在gitlab-ci这台机器上修改一下hosts

在这里插入图片描述

并执行命令使其立即生效

sudo /etc/init.d/network restart

接下来我们如何使用这个gitlab-ci呢?首先我们要在项目中创建一个名.gitlab-ci.yml为的文件,可以直接在网页上创建文件,也可以通过push上传上去。

我们在这里直接在网页上创建文件

在这里插入图片描述

之后我们点击项目的CI/CD的piplines

在这里插入图片描述

接下来我们可以看到这个pipline的状态

在这里插入图片描述

点击进去可以看到我们这个pipline目前有三个任务

在这里插入图片描述

但是当前创建的任务并不知道该选择哪个ci-runner执行,所以需要修改我们的.gitlab-ci.yml文件,在每个job中输入tags

在这里插入图片描述

然后再来看一下每个job的状态

在这里插入图片描述

此时我们一个完整一个pipline的流程已经完成,接下来我们通过几个案例来加深一下使用。

Gitlab官方也提供了一些案例,大家也可以动手尝试一下:GitLab CI/CD Examples


欢迎大家关注我们的公众号:知识沉淀部落。
知识沉淀部落

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页