问题标签 [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.
git - 如何在 Gitlab CI 5.4+ 上执行特定分支/标签的作业?
CHANGELOG
Gitlab CI github.com repo上的最新消息指出
- 作业可以是特定于分支的或特定于标签的或两者兼而有之
有人试过这个功能吗?我将如何为特定分支进行构建?我还没有看到任何明显的选择。
这是新工作页面视图的屏幕截图。
- 触发器选项允许您在构建提交、标签或两者之间进行选择。
- AFAIK,根据帮助消息,标签输入用于确定哪个Runner(或组或它们)应该运行此作业,因为您可以将任意标签与它们关联。这些不是 git 标签。我对么?无论如何,这相当令人困惑。
那么,我在哪里可以为任何特定工作配置分支/标签名称?
在我的场景中,我想要实现的目标如下:
- 推送
master
应该运行测试、执行发布并部署到类似生产的服务器。 - 来自任何功能分支的合并请求
master
应该只运行测试并报告覆盖率。
gitlab - Gitlab CI 给出 500,错误:关系“会话”不存在
所以我使用综合包将 Gitlab 从 7.1.1 升级到 7.7.2。
升级后,我决定尝试 Gitlab CI 并将该ci_external_url
行添加到/etc/gitlab/gitlab.rb,但是当我浏览到定义的 URL 时,我收到 500 错误,并且日志输出如下:
我在 Debian 7 上运行它。
git - GitLab CI - 构建未运行配置的作业
我正在使用 GitLab CI,它与 GitLab 以及为跑步者推荐的辅助服务器集成。一切似乎都配置正确。它检测我的提交并运行构建步骤,我可以看到输出。
至少对于以下默认工作:
我尝试通过两个步骤添加第二份工作:
我正在使用git clone
,所以我想每次都运行安装。
我运行了构建,但是,它只是重复了第一个工作。然后我删除了我的第二份工作,并将所有步骤放在一起:
但是,构建的输出仍然与它只是默认作业时完全相同。像这样的东西:
有任何想法吗?当我更改构建脚本以使其生效时,是否需要清除一些缓存或需要点击按钮(除了我所做的保存更改设置)?
谢谢。
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 个步骤即可进行设置。
在 OAuth 应用程序下的 GitLab 管理区域中创建一个新条目。重定向 url 应该是http://ci.xxx.xxx/user_sessions/callback
使用来自 GitLab 的应用程序 ID 和应用程序密码更新 GitLab CI 配置。
所以我在我的 gitlab 中创建了 ci 应用程序条目,并将这一行添加到我的 gitlab.rb 中:
我做了一个gitlab-ctl reconfigure
,没有发生错误。
但我仍然在我的 gitlab-ci 上看到欢迎/配置页面。
那么我缺少什么来完成我的ci <-> gitlab链接配置?
ruby - 添加存储库、用户或执行其他操作时在 gitlab 上获取 502
通常通过多次刷新(重新发送 POST)浏览器来修复。
服务器本身有 4GB RAM 可用和多核 cpu。该错误立即出现,因此它似乎不是内存或超时问题。
我在这里发布了这个错误:https ://bugs.ruby-lang.org/issues/10872但它被关闭为无效。
我不知道 ruby 是如何工作的,所以不知道我在看什么或在寻找什么。
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”选项卡下)
谢谢。
git - Gitlab:是否可以创建从我的分支到同一项目的另一个分支的合并请求
场景:我们是 3 个开发人员。
开发人员 1(管理员)创建了主存储库。
开发人员 2 分叉了管理员的存储库。
开发人员 3 分叉了管理员的存储库。
开发人员 2 创建了一个功能分支“功能 1”
开发人员 3 从开发人员 2 存储库中签出了“功能 1”。
当开发人员 3 尝试创建合并请求时,他只能看到自己的和管理员的存储库。
所以我想知道,是否有可能创建一个合并请求到另一个不同于我的 fork 的远程?
到目前为止,我看到的唯一解决方法是:
开发人员 2 将功能分支推送到管理员的仓库(通过合并请求)并要求管理员“保护它”,然后开发人员 3 也必须向管理员的仓库创建合并请求,这种方法的问题是开发人员 2失去分支的所有权,他们每次想要推送更改时都必须创建合并请求。
另一方面,该功能似乎已添加到 GitLab,但我找不到有关此功能的官方文档。
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)
维尼
build-script - gitlab CI 构建脚本语法错误
我正在尝试在 Gitlab CI 中运行构建脚本,但它抱怨我不理解的语法错误。
这是我在 Gitlab 中配置的脚本:
这是提交后 Gitlab 的输出:
如您所见,我的脚本中没有任何“回声”语句,有人可以帮我吗?多谢。