网站首页 > 博客文章 正文
gitlab runner 部署案例
一:runner 独立的运行环境
1、runner是一个独立的运行环境,可以运行shell里的任何命令
2、如果有多个python版本可以使用多个runner,不同项目可以根据配置使用不同的runner
3、更简单的办法是在gitlab-ci的定义文件里指定image,可以在同一个runner里用不同的docker image来运行不同的任务,例如:
image:maven:3-jdk-11
package:
stage: package
script:
- mvn package
runner 要一直运行。通常都是将 runner 安装为服务。
runner 注册时指定一些 tag,也可以在 runner 配置页面修改 tag。.gitlab-ci.yml 中的 job 也指定 tag,job 在 tag 匹配的 runner 上运行。
runner 注册时需要提供 token,token 决定了 runner 属于群组还是项目。若项目的 job 未在runner 上运行,需要确认 runner 是否分配到了该项目
二:Install a runner
Download and install binary
Download latest binary
# Download the binary for your system sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64 # Give it permissions to execute sudo chmod +x /usr/local/bin/gitlab-runner # Create a GitLab CI user sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash # Install and run as service sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner sudo gitlab-runner start
Command to register runner
sudo gitlab-runner register --url http://192.168.10.12:5678/ --registration-token $REGISTRATION_TOKEN
注册 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
https://docs.gitlab.com/runner/executors/#selecting-the-executor
三:gitlab runner 手动软件部署
1.在平台上下载并安装Gitlab-runner命令行
我是在Mac上跑的ci,所以下面的适用于OSX系统(如果是其他平台,可自行参考以下官方链接中的相关资料)
参考资料: https://docs.gitlab.com/runner/install/
依次运行:
sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64 sudo chmod +x /usr/local/bin/gitlab-runner
备注: 这个下载过程可能会很慢,你可以复制上面的链接到浏览器中翻墙下载,然后下载完毕再进行后续处理
2.初始化gitlab-runner
cd ~ gitlab-runner install gitlab-runner start
最后输出如下,说明成功了。
3.注册Runner
运行完gitlab-runner start只是完成了初始化,接下来你还要通过注册才能运行runner
参考链接: https://docs.gitlab.com/runner/register/index.html
注册runner只需要一条运行命令:
sudo gitlab-runner register
然后写入相应的token,url和tag等相关信息,就注册完毕了。
上面要求输入的Runner绑定的token和url, 获取方式如下:
Gitlab项目首页=> setting => CI/CD => Runners => Specific Runners
4.激活Runner
注册完了可能还需要激活,这时我们可以看下面板,如果有个黑色的感叹号,这说明runner注册成功了,但是尚未激活(如果是绿色的说明已经激活,本步骤跳过)
激活方法是本地运行:
sudo gitlab-runner verify
输出
这时候回去看Gitlab面板里的Runner参数:
是绿色就说明激活成功了
猜你喜欢
- 2024-10-04 基础架构之Gitlab Runner(gitlab runner helm)
- 2024-10-04 GitLab 12.1版本发布,支持Pages自动https证书、机密MR请求等
- 2024-10-04 Gitlab Runner的分布式缓存实战(gitlab ci 缓存)
- 2024-10-04 性能测试脚本的编写和调试(性能测试脚本怎么写)
- 2024-10-04 在DEEPIN上,配置ATOM+BUILD的通用即时编译器
- 2024-10-04 携程机票App KMM iOS工程配置实践
- 2024-10-04 GitLabCI作业中如何使用私有仓库镜像?
- 2024-10-04 BAIR最新RL算法超越谷歌Dreamer,性能提升2.8倍
- 2024-10-04 Gitlab持续集成与发布在PHP中的应用
- 2024-10-04 用Python做selenium自动化测试,HTMLTestRunner无法生成测试报告
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)