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

下面是我的示例配置:

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

.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 脚本构建自定义镜像,然后在服务器上拉取并创建相应容器,最后启动容器,完成发布和部署。





本文转自田园里的蟋蟀博客园博客,原文链接:http://www.cnblogs.com/xishuai/p/ubuntu-install-gitlab-runner-with-docker.html,如需转载请自行联系原作者
相关文章
|
26天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
44 2
|
2月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
463 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
1月前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
80 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
65 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
37 3
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
319 3
|
25天前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
|
25天前
|
缓存 Ubuntu Linux
如何安装Docker
如何安装Docker
117 0
|
2月前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
59 1
|
2月前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
324 1