本文为[原创]文章,转载请标明出处。
原文链接:https://weyunx.com/2019/01/23...
原文出自微云的技术博客
准备工作
下载安装包
# Linux x86-64
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
# Linux x86
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386
# Linux arm
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm
如果是离线安装的话,可以手工联网下载,然后放到内网中,放到/usr/local/bin
目录下,并命名为gitlab-runner
# 赋予可执行权限
sudo chmod +x /usr/local/bin/gitlab-runner
# 创建 GitLab CI 用户
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
# 安装
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
# 运行
sudo gitlab-runner start
注册 Runner
首先需要准备URL和Token,可以在 GitLab 项目的 settings->CI/CD->Runners settings
中找到
# 注册
sudo gitlab-runner register
# 输入本地的 gitlab URL
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://gitlab.com
# 输入 Token
Please enter the gitlab-ci token for this runner
xxx
# 输入 tag, 注意要跟 job 的 tag 一致,后续详细说明
Please enter the gitlab-ci tags for this runner (comma separated):
my-tag,another-tag
# 选择 executor,
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
docker
使用 tags
Runner 默认只会在配置了和自身 tags 一致的项目上运行,是为了防止 Runner 运行在大量项目上出现问题。
同时可以在 Runner 中取消该设置,允许 Runner 运行在无 tags 的项目上,配置如下
- Visit your project’s Settings ➔ CI/CD
- Find the Runner you wish and make sure it’s enabled
- Click the pencil button
- Check the Run untagged jobs option
- Click Save changes for the changes to take effect
Executor 比较
Executor | SSH | Shell | VirtualBox | Parallels | Docker | Kubernetes |
---|---|---|---|---|---|---|
Clean build environment for every build | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
Migrate runner machine | ✗ | ✗ | partial | partial | ✓ | ✓ |
Zero-configuration support for concurrent builds | ✗ | ✗ (1) | ✓ | ✓ | ✓ | ✓ |
Complicated build environments | ✗ | ✗ (2) | ✓ (3) | ✓ (3) | ✓ | ✓ |
Debugging build problems | easy | easy | hard | hard | medium | medium |
- It’s possible, but in most cases it is problematic if the build uses services installed on the build machine
- It requires to install all dependencies by hand
- For example using Vagrant
具体详细可参考这里
GitLab 中配置 Runner
在 GitLab 项目中新增.gitlab-ci.yml
,可以选择预先设置好的模版。
未完待续...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。