问题标签 [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.
continuous-integration - 未能将运行器部署密钥添加到 GitLab 项目
在 gitlab CI 中添加项目后,我得到:
您应该为项目分配至少一个运行程序以处理项目构建。访问此页面以分配跑步者
链接页面(/ci/projects/16/runner_projects)有一个按钮可以将跑步者添加到项目中,但是当我点击 时Add
,我得到了错误:
未能将运行器部署密钥添加到 GitLab 项目
Gitlab版本:
- GitLab CI 3.2.0 e0c0609
- Gitlab 6.2
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 似乎无法说明代理没有运行......
docker - 使用 ci runner 自动设置 docker Image
我正在做一个有gitlab
和的服务器,目前gitci
两者都工作正常,但没有跑步者。
我正在尝试使用这个 runner,并设法在本地进行,但现在我正在尝试创建一个服务来使用我的凭据启动设置(它们是正确的)并且它不起作用或抛出任何错误。
这是我的.service:
git - GitLab CI - 构建未运行配置的作业
我正在使用 GitLab CI,它与 GitLab 以及为跑步者推荐的辅助服务器集成。一切似乎都配置正确。它检测我的提交并运行构建步骤,我可以看到输出。
至少对于以下默认工作:
我尝试通过两个步骤添加第二份工作:
我正在使用git clone
,所以我想每次都运行安装。
我运行了构建,但是,它只是重复了第一个工作。然后我删除了我的第二份工作,并将所有步骤放在一起:
但是,构建的输出仍然与它只是默认作业时完全相同。像这样的东西:
有任何想法吗?当我更改构建脚本以使其生效时,是否需要清除一些缓存或需要点击按钮(除了我所做的保存更改设置)?
谢谢。
gitlab-ci - 克隆(和扩展)gitlab-ci-runner 或使用综合运行器并调用 docker image
上下文:我们在具有必要环境的 docker 映像中测试 R 包,并额外拉入一些其他包(从我们的 gitlab 存储库使用提供给 docker 映像的 ssh-keys)。
由于 gitlab-ci-runner 是基于 docker 的,我看到了两种可能性:
克隆现有的 gitlab-ci-runner (例如这个,但更有可能从头开始,因为我们需要一个喘息的基础)。然后用必要的 R 环境扩展这个克隆。Jobs -> Script 中的测试命令很简单。
使用标准的综合 gitlab-ci-runner 安装并在 Jobs -> Script 中调用我们的(嵌套)docker 映像。它涉及更多,但完全可行。
目前我不知道哪种方法更可取。
有人说,用自己的跑步者更专业。另一方面,官方推荐的综合跑步者安装程序似乎更标准。
gitlab-ci - 如何运行多个 gitlab-ci-runners?
嗯,非常基本的问题,但我只是没有找到(好的)文档;开始了:
- 我可以在同一台服务器上设置/运行多个跑步者吗?
- 跑者是什么意思?这是(综合)安装还是我开始的过程
/opt/gitlab-runner/bin/runner
? - 关于
/opt/gitlab-runner/bin/runner
:启动几个这样的过程是否有意义?(它们不会单独显示在 gitlab-ci webview 的“Runners”选项卡下)
谢谢。
gitlab - 作业脚本在 gitlab ci 中运行在哪里?
Job 脚本在哪里运行?它是否与 Runner 在同一系统上运行?运行程序如何运行脚本,构建保存在哪里?如果有人能解释 Gitlab CI 的整个流程,那就太好了。
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 构建。
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 上
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。