mirror of https://github.com/easzlab/kubeasz.git
66 lines
3.0 KiB
Markdown
66 lines
3.0 KiB
Markdown
## 安装 Gitlab Runner
|
||
|
||
Gitlab Runner 安装方式有很多,可以参考官网文档 https://docs.gitlab.com/runner/install/; 这里为了方便直接在 Ubuntu1604 上 apt方式安装了。
|
||
|
||
``` bash
|
||
$ curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
|
||
$ apt-get install gitlab-runner
|
||
```
|
||
|
||
安装完成后就可以看到服务运行状态:`systemctl status gitlab-runner`,因为示例的java spring boot 项目需要,该虚机上要同时安装和配置 mvn 和 docker 环境。
|
||
|
||
注意:需要通过 gitlab-runner shell 执行docker镜像打包等命令,因此要修改下 gitlab-runner 服务运行用户:"--user" "gitlab-runner" 改成 "--user" "root"
|
||
|
||
``` bash
|
||
vi /etc/systemd/system/gitlab-runner.service
|
||
[Unit]
|
||
Description=GitLab Runner
|
||
After=syslog.target network.target
|
||
ConditionFileIsExecutable=/usr/lib/gitlab-runner/gitlab-runner
|
||
|
||
[Service]
|
||
StartLimitInterval=5
|
||
StartLimitBurst=10
|
||
ExecStart=/usr/lib/gitlab-runner/gitlab-runner "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--syslog" "--user" "gitlab-runner"
|
||
|
||
Restart=always
|
||
RestartSec=120
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
|
||
以上配置改完保存后执行服务重启:
|
||
|
||
``` bash
|
||
$ systemctl daemon-reload
|
||
$ systemctl restart gitlab-runner
|
||
```
|
||
|
||
### 注册 Runner
|
||
|
||
运行命令`gitlab-runner register`后进入交互式界面,按照提示注册,关注下面注释内容。
|
||
|
||
``` bash
|
||
$ gitlab-runner register
|
||
Runtime platform arch=amd64 os=linux pid=3269 revision=8bb608ff version=11.7.0
|
||
Running in system-mode.
|
||
|
||
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
|
||
http://gitlab.test.com/ ### 这里输入gitlab URL
|
||
Please enter the gitlab-ci token for this runner:
|
||
tzfBWCX-tQxxo1TCcoeJ ### 这里输入项目的token
|
||
Please enter the gitlab-ci description for this runner:
|
||
[k8s403]: build-shell ### 命名此runner
|
||
Please enter the gitlab-ci tags for this runner (comma separated):
|
||
build-shell ### 重要:指定runner tag,在gitlab-ci.yml文件中定义该tag才能执行 mvn编译/docker打包的任务
|
||
Registering runner... succeeded runner=tzfBWCX-
|
||
Please enter the executor: docker-ssh, parallels, shell, ssh, virtualbox, kubernetes, docker, docker+machine, docker-ssh+machine:
|
||
shell ### 作为入门,在虚机上运行shell命令方式,方便调试
|
||
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
|
||
```
|
||
另外根据示例项目的ci/cd流程,还需要注册标签 tag 为 `beta-shell` 和 `prod-shell` 的两个 Runner; 注意这两个runner所在虚机需要分别配置测试k8s和生产k8s的 kubeconfig 配置,这样 Runner 才能通过 shell 脚本执行 kubectl apply 命令部署应用。三个 Runner 注册成功后可以看到如图:
|
||
|
||
![active-runner](pics/active-runner.jpg)
|
||
|