问题标签 [gitlab-ci]

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 投票
2 回答
4545 浏览

git - 如何在 Gitlab CI 5.4+ 上执行特定分支/标签的作业?

CHANGELOGGitlab CI github.com repo上的最新消息指出

  • 作业可以是特定于分支的或特定于标签的或两者兼而有之

有人试过这个功能吗?我将如何为特定分支进行构建?我还没有看到任何明显的选择。

这是工作页面视图的屏幕截图。

  • 触发器选项允许您在构建提交、标签或两者之间进行选择。
  • AFAIK,根据帮助消息,标签输入用于确定哪个Runner(或组或它们)应该运行此作业,因为您可以将任意标签与它们关联。这些不是 git 标签。我对么?无论如何,这相当令人困惑。

那么,我在哪里可以为任何特定工作配置分支/标签名称?

在我的场景中,我想要实现的目标如下:

  • 推送master应该运行测试、执行发布并部署到类似生产的服务器。
  • 来自任何功能分支的合并请求master应该只运行测试并报告覆盖率。
0 投票
2 回答
1473 浏览

gitlab - Gitlab CI 给出 ​​500,错误:关系“会话”不存在

所以我使用综合包将 Gitlab 从 7.1.1 升级到 7.7.2。

升级后,我决定尝试 Gitlab CI 并将该ci_external_url行添加到/etc/gitlab/gitlab.rb,但是当我浏览到定义的 URL 时,我收到 500 错误,并且日志输出如下:

我在 Debian 7 上运行它。

0 投票
2 回答
2798 浏览

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

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

至少对于以下默认工作:

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

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

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

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

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

谢谢。

0 投票
1 回答
790 浏览

debian - Gitlab Omnibus 7.8.0上gitlab-ci的配置

gitlab_7.8.0-omnibus-1_amd64.deb我已经在我的 Debian 7 上安装了 Gitlab Omnibus ( )。

我已经启动gitlab-ci了它。现在我的gitlab-ci 欢迎页面上有以下消息。

您只需 2 个步骤即可进行设置。

  1. 在 OAuth 应用程序下的 GitLab 管理区域中创建一个新条目。重定向 url 应该是http://ci.xxx.xxx/user_sessions/callback

  2. 使用来自 GitLab 的应用程序 ID 和应用程序密码更新 GitLab CI 配置。

所以我在我的 gitlab 中创建了 ci 应用程序条目,并将这一行添加到我的 gitlab.rb 中:

我做了一个gitlab-ctl reconfigure,没有发生错误。

但我仍然在我的 gitlab-ci 上看到欢迎/配置页面。

那么我缺少什么来完成我的ci <-> gitlab链接配置?

0 投票
1 回答
94 浏览

ruby - 添加存储库、用户或执行其他操作时在 gitlab 上获取 502

通常通过多次刷新(重新发送 POST)浏览器来修复。

服务器本身有 4GB RAM 可用和多核 cpu。该错误立即出现,因此它似乎不是内存或超时问题。

我在这里发布了这个错误:https ://bugs.ruby-lang.org/issues/10872但它被关闭为无效。

我不知道 ruby​​ 是如何工作的,所以不知道我在看什么或在寻找什么。

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 投票
2 回答
2986 浏览

git - Gitlab:是否可以创建从我的分支到同一项目的另一个分支的合并请求

场景:我们是 3 个开发人员。

开发人员 1(管理员)创建了主存储库。

开发人员 2 分叉了管理员的存储库。

开发人员 3 分叉了管理员的存储库。

开发人员 2 创建了一个功能分支“功能 1”

开发人员 3 从开发人员 2 存储库中签出了“功能 1”。

当开发人员 3 尝试创建合并请求时,他只能看到自己的和管理员的存储库。

所以我想知道,是否有可能创建一个合并请求到另一个不同于我的 fork 的远程?

到目前为止,我看到的唯一解决方法是:

开发人员 2 将功能分支推送到管理员的仓库(通过合并请求)并要求管理员“保护它”,然后开发人员 3 也必须向管理员的仓库创建合并请求,这种方法的问题是开发人员 2失去分支的所有权,他们每次想要推送更改时都必须创建合并请求。

另一方面,该功能似乎已添加到 GitLab,但我找不到有关此功能的官方文档。

0 投票
0 回答
245 浏览

gitlab - Gitlab ci Oauth 身份验证什么也不做

我想安装 gitlab ci 以使用我的 gitlab 安装。

我在 gitlab 中使用此回调配置了一个新的 Oauth 应用程序:http: //ci.vikindie.fr/user_sessions/callback

我更新了我的 gitlab.rb 以添加这些行:

xxxxx 替换为 gitlab 代码认证。

现在,当我连接到 gitlab-ci 时,它通过 gitlab 连接并使用回调 url 重定向到 gitlab-ci,但它什么也不做。而且我无法访问 gitlab-ci 主页。如果我重试,它会完全一样,但是......我停留在这个页面上,要求登录 gitlab

我检查了 gitlab 和 gitlab-ci 的 error.log 并没有出现任何内容。(这是一个综合安装 7.8.2)

维尼

0 投票
1 回答
1115 浏览

build-script - gitlab CI 构建脚本语法错误

我正在尝试在 Gitlab CI 中运行构建脚本,但它抱怨我不理解的语法错误。

这是我在 Gitlab 中配置的脚本:

这是提交后 Gitlab 的输出:

如您所见,我的脚本中没有任何“回声”语句,有人可以帮我吗?多谢。