本文为[原创]文章,转载请标明出处。
原文连接: https://weyunx.com/2019/01/23...
原文出自 微云的技术博客
下载安装包linux
# 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
git
# 赋予可执行权限 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
首先须要准备URL和Token,能够在 GitLab 项目的 settings->CI/CD->Runners settings
中找到docker
# 注册 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
Runner 默认只会在配置了和自身 tags 一致的项目上运行,是为了防止 Runner 运行在大量项目上出现问题。shell
同时能够在 Runner 中取消该设置,容许 Runner 运行在无 tags 的项目上,配置以下bash
- 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 | 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
具体详细可参考这里ssh
在 GitLab 项目中新增.gitlab-ci.yml
,能够选择预先设置好的模版。gitlab
未完待续...ui