Ubuntu Docker 安装和配置 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

下面是我的示例配置:

435188-20170825154548714-1517492021.png

我们也可以编辑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):

435188-20170825154537261-1921032154.png

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

435188-20170825154522668-552957527.png

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

435188-20170825154504402-108077028.png

下面我们就可以为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的语法,可以看一下之前的文章,或者查看:

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

435188-20170825154435480-945894611.png

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

435188-20170825154425121-1110747778.png

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

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

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

435188-20170825154412464-1364794235.png

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

  • GitLab CI & ASP.NET Core 2.0 发布和部署:使用 CI 脚本编译程序,然后将编译后的文件传输到服务器上,最后运行程序,完成发布和部署。
  • GitLab CI & ASP.NET Core 2.0 & Docker 发布和部署:项目中添加Dockerfile文件,使用 CI 脚本构建自定义镜像,然后在服务器上拉取并创建相应容器,最后启动容器,完成发布和部署。
相关文章
|
存储 Ubuntu Linux
【云原生 | 02】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程
Docker引擎是使用Docker容器的核心组件,可以在主流的操作系统和云平台上使用, 包括 Linux 操作系统(如 Ubuntu、Debian、CentOS、Redhat 等),macOS 和 Windows 操作系统, 以及IBM、亚马逊、微软等知名云平台.........
389 0
【云原生 | 02】分别在CentOS、Ubuntu、macOS、win7、win8、win10等不同操作系统下安装Docker详细教程
|
11天前
|
Ubuntu Docker 索引
ubuntu 20.04 安装docker教程和安装中遇到的问题解决方案(超详细 附加图文教程)
ubuntu 20.04 安装docker教程和安装中遇到的问题解决方案(超详细 附加图文教程)
60 0
|
8月前
|
Ubuntu Docker 容器
最详细的ubuntu 安装 docker教程
最详细的ubuntu 安装 docker教程
1555 0
|
Linux 开发工具 Docker
Ubuntu18安装docker详细教程
Ubuntu18安装docker详细教程
307 0
Ubuntu18安装docker详细教程
|
Ubuntu Docker 容器
|
11天前
|
Ubuntu Python
Ubuntu 安装Python3.8
Ubuntu 安装Python3.8
48 0
|
9天前
|
Ubuntu Linux Docker
window10下安装ubuntu系统以及docker使用
window10下安装ubuntu系统以及docker使用
|
9天前
|
Ubuntu Java
Ubuntu18.04下安装ES6.8基础服务 - 蓝易云
以上就是在Ubuntu 18.04下安装Elasticsearch 6.8的基本步骤。
11 0
|
10天前
|
并行计算 Ubuntu Docker
Docker环境Ubuntu20.04安装Python3.10版本
Docker环境Ubuntu20.04安装Python3.10版本
73 0
|
10天前
|
Ubuntu Shell Linux
ubuntu安装conda
ubuntu安装conda
16 0