gitlab-runner搭建手札

安装问题

  • 官网gitlab安装对应版本

  • 版本不匹配的问题

gitlab-runner搭建手札_第1张图片

  • 给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

    gitlab-runner搭建手札_第2张图片
    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


    gitlab-runner搭建手札_第3张图片
    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-runner搭建手札)