问题标签 [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 投票
1 回答
1239 浏览

docker - GitLab-CI Runner 的 Docker 映像要求

我有 GitLab、GitLab-CI 并gitlab-ci-multi-runner在不同的机器上运行。我已经使用 docker 和 ruby​​:2.1 图像成功添加了一个跑步者,详见https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository。 MD

我接下来想做的是为最小的 Ubuntu 12.04、14.04 配置运行器。不知道 docker,我想我会尝试使用ubuntu:14.04ubuntu:12.04图像。但是,当启动并尝试克隆我的项目存储库时,他们抱怨git找不到。然后我假设使用这些图像,没有安装 git。所以我的问题是:

  • Docker 映像中需要哪些工具才能“开箱即用”地使用gitlab-ci-multi-runner
  • 是否有一组图像已经可用于各种操作系统,其中已经包含这些
  • 我真的应该为此目的创建自己的 docker 映像吗?
0 投票
1 回答
12633 浏览

travis-ci - travis-ci 和 gitlab-ci 如何比较?

据我了解,主要区别在于 gitlab-ci 是开源的(您可以将其安装在自己的服务器上)而 travis-ci 不是。

所以后者总是基于云/服务的。它对开源项目是免费的。

但是 GitLab.com(公司,而不是软件)也有一个您不需要安装的云版本:ci.gitlab.com。而且我猜这个版本只能与发布在您的 Gitlab 帐户中的公共存储库一起使用。

但是,几乎没有关于以这种方式运行 GitLab CI 的文档。我找到的大多数文档都是关于安装 GitLab CI 服务器或运行器的。但是 ci.gitlab.com 的运行器是如何配置的?他们有什么操作系统?我可以拥有 Windows/Mac 跑步者吗?(该软件显然支持这些操作系统,但没有具体说明 ci.gitlab.com 的服务提供哪些运行器。)

0 投票
1 回答
2649 浏览

git - Jenkins 过滤分支为空

我使用 Jenkins v 1.601 和 git 和 gitlab 插件和 gitLab 作为存储库管理器。我只想在推送到特定分支时触发构建。我启用了 gitlab CI 并添加了项目 url。在詹金斯作业配置中,我只想选择过滤器分支部分中的特定分支,但该字段为空。我该如何解决?

作为一个可能有用的旁注,token在 gitlab CI 服务中有一个字段,但我找不到在 jenkins 中使用它的任何方法。

0 投票
1 回答
2990 浏览

gitlab - 远程触发(重新)构建 CI Gitlab

我正在尝试使用远程触发器在 ci.gitlab 中进行(重新)构建。为了解释这一点,我编造了这个场景:

  • 2 存储库,“lib”和“app1”
  • 仅当包含 lib 时 app1 才会成功构建(只需 .gitlab-ci.yml 即可解决)
  • 我需要在 lib 的提交(或合并请求)时触发 app1 的构建(仅适用于 master 分支,在最佳情况下)

我试图使用网络挂钩来解决这个问题,但我找不到 ci.gitlab.com 的网址。这在 gitlab 环境中可行吗?

0 投票
1 回答
258 浏览

java - ci.gitlab.com 是否支持托管 Java 构建?

我试图了解 ci.gitlab.com 提供的内容。我想为我的 Java 项目使用 Gradle 创建一个构建,并让它在 ci.gitlab.com 服务器上运行。

添加跑步者的过程似乎涉及利用 GitLab CI 的本地化安装。有可用的共享运行器,但它们似乎面向 Ruby、Node 等。

是否可以将 ci.gitlab.com 用于完全托管的 CI 解决方案?

0 投票
1 回答
2154 浏览

gitlab - GitLab CI runner 无法构建

我刚刚按照文档https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md安装了 gitlab-ci-multi-runner

我使用公共服务器 ci.gitlab.com 并且跑步者的注册似乎没问题(跑步者出现绿灯)。激活调试后,我可以看到运行器定期获取 CI 服务器。

但是当一个新的提交被推送时,没有构建完成。一切都是绿色的:https ://ci.gitlab.com/projects/4656但没有进行任何测试......

我的 .gitlab-ci.yml 非常简单:

顺便说一句,我可以找到任何错误消息,但我不知道在哪里搜索。

我对 CI 非常了解,我可能缺少一个明显的观点。

0 投票
6 回答
18778 浏览

git - 组下所有项目的 Gitlab API

我想获取 Gitlab 中特定组下的所有项目的列表。这是示例场景:

A 组 (id: 1) 有 3 个项目

A组/项目1

A组/项目2

A组/项目3

B 组 (id: 2) 有 5 个项目

B组/项目1

B组/项目2

B组/项目3

B组/项目4

B组/项目5

现在,如果我点击其余 api GET /groups,它只会给我组列表。如果我点击其余的 api GET /projects/all,它会给我一个所有项目的列表。

我正在寻找的是一种类似的操作GET /groups/:groupid/projects/all

那就是:该特定组的所有项目。就像我说它GET /groups/1/projects/all会给我一样Project 1, Project 2 and Project 3

我能想到的唯一方法是获取所有项目的列表并遍历它们以查看它是否与我的组名匹配,但这将是很多不必要的解析。

我怎样才能以更好的方式实现这一目标?

我正在研究 Gitlab CE 7.2.1。我指的是Gitlab API 文档

0 投票
1 回答
14528 浏览

gitlab - 如何在 Windows 上使用 gitlab-ci-multi-runner 访问 gitlab-ci.yml 中的变量

我不知道如何访问gitlab-ci.yml-file 提供的构建脚本中的变量。

我尝试以两种方式声明变量:

  1. GitLab CI Web 界面中的私有变量
  2. 变量覆盖/追加config.toml

我尝试在我的gitlab-ci.yml-files 命令中访问它们,如下所示:

哪里$PACKAGE_SOURCE是所需的变量 ( PACKAGE_SOURCE) 但它不起作用(它似乎没有被替换)。手动执行相同的命令就像预期的那样工作(用它的内容替换变量名)

是否需要一些我不知道的其他语法?

我试过了:

PS:验证跑步者不会引起任何问题,如果这很重要的话。

0 投票
1 回答
1086 浏览

python - py.test ImportError: cannot import name * on gitlab-ci unner

包装布局:

cd 包 && py.test -s -v

不断获得

我试过使用 sys.path.insert(0, current_directory) 但仍然是徒劳的。任何帮助都会很棒!谢谢。

0 投票
1 回答
4830 浏览

gitlab - 构建后的测试将在 gitlab-ci 上的新环境中运行

我有以下配置为 .gitlab-ci.yml 但我在成功通过构建阶段后发现(这将创建一个名为 venv 的虚拟环境),似乎在测试阶段你会得到一个全新的环境(没有 venv 目录全部)。所以我想知道我是否应该将安装脚本放在 before_script 中,因为它会在每个阶段(构建/测试/部署)中运行。这是正确的方法吗?

阿达斯