您的位置:首页 > 运维架构 > Docker

Ubuntu Docker 安装和配置 GitLab CI 持续集成

2017-08-25 16:05 489 查看
相关文章:

Ubuntu Docker 简单安装 GitLab

劈荆斩棘:Gitlab 部署 CI 持续集成

目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runner,搭建 GitLab CI 持续集成环境。

服务器版本 Ubuntu 16.04 LTS。

安装命令:

$ docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest

参数说明:

--d
: 设置容器后台运行

--name
:容器名称

--restart always
:每次启动容器就重启 gitlab-runner

--v
: 共享目录挂载(如果是 Mac OSX 系统,需要把
/srv
改为
/Users/Shared


安装好之后,可以使用
docker ps
查看容器是否在运行,接着我们进入容器:

$ docker exec -it gitlab-runner gitlab-runner register

gitlab-runner register
是进入
gitlab-runner
容器的执行命令,用于注册和初始化
gitlab-runner


下面是我的示例配置:



我们也可以编辑
vim /srv/gitlab-runner/config/config.toml
,手动修改配置:

concurrent = 1
check_interval = 0

[[runners]]
name = "my-runner"
url = "http://40.125.206.47"
token = "b6ac044b57cbb22073b95dd384e517"
executor = "docker"
[runners.docker]
tls_verify = false
image = "microsoft/dotnet:latest"
privileged = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]

gitlab-ci token
需要用
root
账号登陆 GitLab,才能看到(
/admin/runners
):



配置好之后,我们就可以在 GitLab 中看到 GitLab Runner 了,示例:



然后点击修改,添加我们需要应用 GitLab Runner 的 Project 项目,示例(点击
Enable
启用):



下面我们就可以为
hwapp
项目
hwapp
使用 ASP.NET Core 2.0 创建),添加
.gitlab-ci.yml
配置文件了(用于执行 CI 的脚本文件),简单配置(用于还原程序包和构建项目):

stages:
- build

build_job:
stage: build
script:
- dotnet restore
- dotnet build

关于
.gitlab-ci.yml
的语法,可以看一下之前的文章,或者查看:

https://docs.gitlab.com/ce/ci/yaml/README.html

https://docs.gitlab.com.cn/ce/ci/quick_start

.gitlab-ci.yml
提交到 GitLab,然后我们就可以看到执行结果了:



执行是失败的,我们点击进入详情,就可以看到整个的执行过程:



microsoft/dotnet:latest
是我们一开始配置 GitLab Runner 填写的 Docker Image,并且 Runner executor 选择的是
docker
,也就是说 GitLab Runner 的构建环境是
docker
,并且默认使用的镜像是
microsoft/dotnet:latest
,由此再进行创建相应容器,并在其容器中执行 CI 脚本,从上面的执行过程,我们就可以看出来了。

需要注意的是,GitLab Runner 配置的 Docker Image,最好是我们自定义构建的 Image 镜像,这样我们执行 CI 脚本环境,会更加丰富。

根据错误信息,我们修改下对应代码,重新提交到 GitLab,可以看到这次是构建成功的:



大概就记录这些,接下来还需要继续完善,比如:

GitLab CI & ASP.NET Core 2.0 发布和部署:使用 CI 脚本编译程序,然后将编译后的文件传输到服务器上,最后运行程序,完成发布和部署。

GitLab CI & ASP.NET Core 2.0 & Docker 发布和部署:项目中添加
Dockerfile
文件,使用 CI 脚本构建自定义镜像,然后在服务器上拉取并创建相应容器,最后启动容器,完成发布和部署。

参考资料:

用 GitLab CI 进行持续集成(推荐)

使用 GitLab-CI 来自动创建 Docker 镜像

使用 Gitlab CI & Docker 搭建 CI 环境(推荐)

Run GitLab Runner in a container(官方)

Registering Runners(官方)

Getting started with GitLab CI(官方)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: