码迷,mamicode.com
首页 > 其他好文 > 详细

GitLab ci/cd部署环境构建

时间:2020-03-24 10:29:01      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:提高效率   git   挂载   oschina   repos   present   一个   sha   dmi   

说明

本文简单介绍下 Gitlab CI,包括Gitlab Runner,Gitlab CI中的相关概念以及.gitlab-ci.yml的常用配置。

部署GitLab

请参考Docker-compose部署gitlab中文版

什么是 GitLab CI

GitLab CI 是GitLab内置的进行持续集成的工具,只需要在仓库根目录下创建.gitlab-ci.yml文件,并配置GitLab Runner;每次提交的时候,gitlab将自动识别到.gitlab-ci.yml文件,并且使用Gitlab Runner执行该脚本。

Gitlab Runner

GitLab-Runner就是一个用来执行.gitlab-ci.yml 脚本的工具。可以理解成,Runner就像认真工作的工人,GitLab-CI就是管理工人的中心,所有工人都要在GitLab-CI里面注册,并且表明自己是为哪个项目服务。当相应的项目发生变化时,GitLab-CI就会通知相应的工人执行对应的脚本。

Runner类型

GitLab-Runner可以分类两种类型:Shared Runner(共享型)Specific Runner(指定型)

(1)Shared Runner:所有工程都能够用的,且只有系统管理员能够创建。

(2)Specific Runner:只有特定的项目可以使用。

Runner搭建

这里提供两种方法(本次使用docker):

(1)For RHEL/CentOS

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash

(2)使用docker

#获取gitlab-runner 镜像
docker pull gitlab/gitlab-runner
#启动 gitlab-runner
docker run -d -p 2443:443 -p 5678:5678 -p 2222:22 --name gitlab-runner --restart always -v /data/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
#进入Runner容器内
docker exec -it gitlab-runner bash

获取Runner注册Token

安装好Runner之后,需要向Gitlab进行注册,注册Runner需要GitLab-CI的url和token。可根据需求注册选择所需类型Runner。

获取Shared Runner注册Token: 使用管理员用户登录,进入Admin Area->OverView->Runners界面。

技术图片

获取Specific Runner注册Token: 进行项目仓库->settings->CI/CD界面
技术图片

注册Runner

#进入Runner容器内
docker exec -it gitlab-runner bash
#运行以下命令
gitlab-runner register
#输入Gitlab实例的地址
#Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.246.194
#输入token
#Please enter the gitlab-ci token for this runner
zN6snSbddCQkJ7y_ef39
#输入Runner的描述
#Please enter the gitlab-ci description for this runner:
[6c011be28cd8]: ci-test apply
#输入与Runner关联的标签
#Please enter the gitlab-ci tags for this runner (comma separated):
ci-test-tag
#输入Ruuner的执行者
#Please enter the executor: custom, ssh, virtualbox, docker-ssh+machine, kubernetes, docker, docker-ssh, parallels, shell, docker+machine:
docker
#如果上面执行者为docker,需要你在.gitlab-ci.yml中指定docker版本
#Please enter the default Docker image (e.g. ruby:2.6):
alpine:latest

通过以上命令后,就可以在gitlab中查看到了这个刚刚创建的runner:

技术图片

修改Runner配置文件

vim /data/gitlab-runner/config/config.toml
#找到volumes配置,修改为如下,分别是挂载了宿主机的docker和配置Maven的缓存,提高效率
volumes = ["/cache","/var/run/docker.sock:/var/run/docker.sock","/data/.m2/:/.m2/"]
#在volumes配置下方增加一行配置,防止Runner重复拉取镜像
pull_policy = "if-not-present"
#重启Runner即可
docker restart gitlab-runner

参考文档

GitLab ci/cd部署环境构建

标签:提高效率   git   挂载   oschina   repos   present   一个   sha   dmi   

原文地址:https://blog.51cto.com/wutengfei/2481114

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!