问题标签 [gitlab-ci-runner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2097 浏览

continuous-integration - 未能将运行器部署密钥添加到 GitLab 项目

在 gitlab CI 中添加项目后,我得到:

您应该为项目分配至少一个运行程序以处理项目构建。访问此页面以分配跑步者

链接页面(/ci/projects/16/runner_projects)有一个按钮可以将跑步者添加到项目中,但是当我点击 时Add,我得到了错误:

未能将运行器部署密钥添加到 GitLab 项目

Gitlab版本:

  • GitLab CI 3.2.0 e0c0609
  • Gitlab 6.2
0 投票
11 回答
43677 浏览

ssh - 让 GitLab CI 克隆私有存储库

我设置了 GitLab 和 GitLab CI 来托管和测试我的一些私人存储库。对于这个系统下的作曲家模块,我设置了 Satis 来解析我的私有包。

显然,这些私有包需要一个 ssh 密钥来克隆它们,而我在终端中有这个工作 - 我可以运行 composer install 并获取这些包,只要我ssh-add在 shell 中添加了密钥。

但是,当在 GitLab CI 中运行我的测试时,如果项目具有这些依赖项中的任何一个,则测试将无法完成,因为我的 GitLab 实例需要身份验证才能获取 deps(显然),并且测试失败并显示Host key verification failed.

我的问题是如何设置它,以便当运行者运行测试时,它可以在没有密码的情况下向 gitlab 进行身份验证?我已经尝试在我的 runners 文件夹中放置一个无密码的 ssh-key ~/.ssh,但是构建甚至不会添加密钥,“eval ssh-agent -s”后跟 ssh-add 似乎无法说明代理没有运行......

0 投票
1 回答
683 浏览

docker - 使用 ci runner 自动设置 docker Image

我正在做一个有gitlab和的服务器,目前gitci两者都工作正常,但没有跑步者。

我正在尝试使用这个 runner,并设法在本地进行,但现在我正在尝试创建一个服务来使用我的凭据启动设置(它们是正确的)并且它不起作用或抛出任何错误。

这是我的.service:

0 投票
2 回答
2798 浏览

git - GitLab CI - 构建未运行配置的作业

我正在使用 GitLab CI,它与 GitLab 以及为跑步者推荐的辅助服务器集成。一切似乎都配置正确。它检测我的提交并运行构建步骤,我可以看到输出。

至少对于以下默认工作:

我尝试通过两个步骤添加第二份工作:

我正在使用git clone,所以我想每次都运行安装。

我运行了构建,但是,它只是重复了第一个工作。然后我删除了我的第二份工作,并将所有步骤放在一起:

但是,构建的输出仍然与它只是默认作业时完全相同。像这样的东西:

有任何想法吗?当我更改构建脚本以使其生效时,是否需要清除一些缓存或需要点击按钮(除了我所做的保存更改设置)?

谢谢。

0 投票
1 回答
191 浏览

gitlab-ci - 克隆(和扩展)gitlab-ci-runner 或使用综合运行器并调用 docker image

上下文:我们在具有必要环境的 docker 映像中测试 R 包,并额外拉入一些其他包(从我们的 gitlab 存储库使用提供给 docker 映像的 ssh-keys)。

由于 gitlab-ci-runner 是基于 docker 的,我看到了两种可能性:

  1. 克隆现有的 gitlab-ci-runner (例如这个,但更有可能从头开始,因为我们需要一个喘息的基础)。然后用必要的 R 环境扩展这个克隆。Jobs -> Script 中的测试命令很简单。

  2. 使用标准的综合 gitlab-ci-runner 安装并在 Jobs -> Script 中调用我们的(嵌套)docker 映像。它涉及更多,但完全可行。

目前我不知道哪种方法更可取。

有人说,用自己的跑步者更专业。另一方面,官方推荐的综合跑步者安装程序似乎更标准。

0 投票
4 回答
36642 浏览

gitlab-ci - 如何运行多个 gitlab-ci-runners?

嗯,非常基本的问题,但我只是没有找到(好的)文档;开始了:

  • 我可以在同一台服务器上设置/运行多个跑步者吗?
  • 跑者是什么意思?这是(综合)安装还是我开始的过程/opt/gitlab-runner/bin/runner
  • 关于/opt/gitlab-runner/bin/runner:启动几个这样的过程是否有意义?(它们不会单独显示在 gitlab-ci webview 的“Runners”选项卡下)

谢谢。

0 投票
1 回答
1464 浏览

gitlab - 作业脚本在 gitlab ci 中运行在哪里?

Job 脚本在哪里运行?它是否与 Runner 在同一系统上运行?运行程序如何运行脚本,构建保存在哪里?如果有人能解释 Gitlab CI 的整个流程,那就太好了。

0 投票
2 回答
3433 浏览

gitlab - GitLab-CI PHPunit Composer laravel

我是 GitLab-CI 和 Docker 的新手,我一直在找一个跑步者来运行我的 phpunit 构建。按照此处的说明操作: https ://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md

但是,按照他们的指示,容器显然不包含我需要的工具。所以问题是,注册多运行器以拥有支持 phpunit、composer 的运行器时的配置是什么,以便我可以测试我的 laravel 构建。

0 投票
0 回答
1764 浏览

gitlab - 将 tox 作为 Gitlab CI 作业运行时权限被拒绝

我对 Gitlab 和 Gitlab CI 比较陌生(实际上是整个 CI 的事情),我已经在同一台机器上成功地设置了我的 Gitlab 服务器和 Gitlab CI 服务器(由于缺少备用服务器,而且几乎是因为我们的团队是在整个 CI 方面仍处于“测试”阶段)。

我们现在有两个项目正在进行中,一个 Angular 项目(作为 Web 客户端)和一个烧瓶项目(作为 Web 服务)。我已经在 Gitlab 和 Gitlab CI 中成功设置了我们的 Angular 项目(效果很好,它运行我们的测试并构建脚本非常好)。

但是现在我也想设置我们的烧瓶项目,所以我们也可以对其应用持续集成,并为此将tox用于运行我们的测试脚本等(gulp用于我们的角度项目)。

这是我们非常基本的 tox.ini:

在我们的 Gitlab CI Jobs 中,我只是把它放在tox那里,因为这就是我在我的开发服务器上执行的所有内容(这个设置在我的开发机器上运行良好,tox即使我不在 virtualenv 上也可以运行),但我继续拥有这个运行此命令时,我的 Gitlab CI 上出现权限被拒绝错误(见下文)

顺便说一句,我正在使用新gitlab-ci-multi-runner的,并且我几乎回收了我在我的角度项目中使用的跑步者(我尝试在同一台机器上为我们的烧瓶项目注册一个新的,但是当我尝试测试时它没有响应它)

另外我已经tox使用全局安装了sudo pip install tox,因为这几乎是我刚刚对我们的 Angular 项目所做的,sudo npm install -g bower gulp并且sudo npm install npm -g

然后我只是把

在我们的 Angular 项目 CI Job 上

0 投票
0 回答
855 浏览

ruby-on-rails - 尝试运行 Gitlab CI 时出现“找不到 Rbenv 命令”

当作业尝试执行时,它会失败并显示以下内容:

gitlab-ci-multi-runner 0.4.2 (1e86428)
使用 Shell 执行器...
stdin: is not a tty
Running on ci-runner...
获取更改...
将 f8858e83 签出为主...

whoami
root
echo $PATH /usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
rbenv local 1.9.3-p551
builds/95c60cbb/0/xxx/xxxx .sh:第 27 行:rbenv:找不到命令

构建失败,退出状态为 127

如果我在 ci-runner 机器上以 root 身份检查 $PATH,我有:/root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

多运行器脚本作为服务运行并使用sudo gitlab-ci-multi-runner start

执行器是“shell”,rbenv 是使用https://gorails.com/setup/ubuntu/14.04上的说明设置的

关于我要去哪里错的任何想法?

更新已将 /root/.rbenv/bin 添加到 $PATH 但现在只需获取

gitlab-ci-multi-runner 0.4.2 (1e86428)
使用 Shell 执行器...
stdin: is not a tty
Running on ci-runner...
获取更改...
将 f8858e83 签出为主...

export PATH="/root/.rbenv/bin:$PATH"
rbenv local 1.9.3-p551
rbenv: 版本 `1.9.3-p551' 未安装

构建失败,退出状态为 1

虽然安装了 Ruby 1.9.3-p551。