gitlab-runner搭建手札

安装问题


  • 给yum添加源
    curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
    yum install gitlab-ci-multi-runner-1.11.2-1.x86_6

.gitlab-ci.yml不执行钩子脚本

摘自【Gitlab部署CI并使用.gitlab-ci.yml配置您的作业(中文翻译)

  • Failure1

    image.png

    在一个终端中调用另一个shell,始终是无法执行的,后来捕捉到报错信息为sudo: sorry, you must have a tty to run sudo,后来,在网上了解到可以如下解决:1. 编辑 /etc/sudoers
    1)Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端。
    2)Defaults requiretty,修改为 Defaults:nobody !requiretty,表示仅 nobody 用户不需要控制终端。
    如果修改为 Defaults:%nobody !requiretty,表示仅 nobody 组不需要控制终端。
    其实只要注释掉)Defaults requiretty 那个就可以了。表示在执行的时候不打开终端。摘自【解决sudo: sorry, you must have a tty to run sudo

  • Solution
    键入visudo,注释掉Defaults requiretty

  • Failure2


    image.png
  • Solution
    visudo,在文件的最后加上gitlab-runner ALL=(root) NOPASSWD: ALL,授权给gitlab-runner。

.gitlab.yml额外资料

阶段
stages
用于定义作业可以使用的阶段。的说明书stages
允许具有灵活的多阶段流水线。
元素stages
的排序定义作业的执行顺序:
相同阶段的工作并行运行。
上一阶段的工作成功完成后,下一阶段的工作就会运行。

我们考虑下面的例子,它定义了3个阶段:
stages: - build - test - deploy

首先,所有工作build
都是并行执行的。
如果所有作业build
成功,则test
并行执行作业。
如果所有作业test
成功,则deploy
并行执行作业。
如果所有作业deploy
成功,则提交将被标记为success

如果以前任何一个作业失败,则提交将被标记为failed
并且不执行进一步的作业。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 gitlab-ci全称是gitlab continuous integration的意思,也就是持续集成。中...
    st0rm23阅读 66,865评论 9 46
  • git Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Lin...
    刘晓洋阅读 1,711评论 0 7
  • 一、持续集成(Continuous Integration) 要了解GitLab-CI与GitLab Runner...
    tsyeyuanfeng阅读 98,067评论 17 134
  • 你是十四亿人的大家族, 你是一棵耸入雲天的擎天大树, 你是远古洪荒时的那艘方舟, 如今喚发了青春,开赴在新的万里征...
    黄泥村人阅读 303评论 14 19
  • 本片一直看下来,还是有点压抑的。从抬进皇宫的懵懂无知,到走出皇宫带着墨镜的那倔强的身影,再到最后进故宫自己买票走上...
    塔说闲趣阅读 1,296评论 0 0