问题标签 [gitlab-pipelines]
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.
json - 无法在 Gitlab Yaml 管道中编码 JSON
我无法使用 PowerShell(Windows 运行程序)从 YML Gitlab Pipeline 提交 Dropbox API 请求。API 需要将 JSON 作为标头参数传递,并且将该 JSON 编码到 YML Gitlab Pipeline 中不起作用:
完整的脚本步骤如下,因为它现在在 YML 中定义:
响应错误如下:
我可以在运行者所在的同一台 PC 上的 Windows PowerShell 中执行上述命令,而不会出现任何问题:
如何正确编码 JSON 以便它可以按预期执行并传递给 CURL?
continuous-integration - 同一分支的多个管道
GitLab CI 提供了非常好的灵活性和多种功能。因此,如何使用 GitLabCI yaml、调度程序等实现特定配置并不明显。
我有兴趣设置一个工作流程,我将在下面以简化的方式介绍它。
我只使用 master 分支,我希望我的主要管道在每次提交后启动。该管道将构建和测试我的包。我还想有一个预定的夜间管道来发布我的包裹的网站。因此,它需要最新的工件,生成文档并将其一起发布到 GitLab 页面。
所以,基本上我希望在同一个分支上运行两个不同的管道。主要是常规的,辅助是由调度程序运行的。
在我的实际用例中,我希望有 2 个计划的夜间管道和一个每周管道,因此包括主要的管道(每次提交),总共 4 个管道,仍然用于同一个分支。
使用only
/rules
并不能真正解决这个问题。有一个新workflow
命令,理论上可以通过分支应用在这里
但我不认为这是可能的。
最用户友好的解决方案是为计划的管道提供一个选项来选择自定义.gitlab-ci.yml
文件,而不是启动默认文件。
任何想法如何实现我正在寻找的配置?
我想到的唯一方法是继续拥有另一个分支,master 的克隆,我需要.gitlab-ci.yml
每天晚上更换。这需要额外的工作站来自动化。
gitlab-ci - Gitlab:通过 API 触发手动操作
我有一个看起来像这样的 GitLab-CI 管道阶段:
我需要通过 GitLab API 请求触发此操作。我已经尝试过这些解决方案,但它们似乎不起作用。
我没有收到任何错误消息。但是,如果我将 curl-request 输出通过管道传输到 jq,则会得到以下输出:
这些是管理日志,但即使 Pipeline 被授权,也不会触发作业。
谢谢您的帮助!
spring-boot - Gitlab CI/CD 管道中 SpringBoot 服务的健康检查
我有一个 Gitlab CI/CD 管道,它:
- 构建 Spring Boot 应用程序
- 将其打包到 Docker 映像中
- 使用部署图像
docker run ...
我希望能够在部署后验证服务。我希望管道通知我有关失败的信息。我想我需要在管道中添加一个额外的健康检查步骤来验证服务。
此任务是否有任何最佳实践?有没有现成的解决方案?
android - 如何在 Gitlab CI 中检索 Android SHA-1
我正在为 android 项目运行 Gitlab CI,并且需要 SHA-1 来连接 firebase 数据库。我的 gitlab-runner 在 docker 中执行。
使用./gradlew signingReport
,我从 gitlab 管道控制台检索我的 SHA-1,但每次运行管道时都会生成一个新密钥。
在此之后,请任何人指导我如何检索可以在这种情况下工作的 SHA-1 或我必须在我的跑步者中进行的任何更改。
docker - Gitlab 管道从子目录运行不同的 docker 映像
我想在 gitlab 管道中作为一个单独的阶段运行性能测试。为此,我想用 docker 容器创建一个不同于我用于所有其他阶段的图像。
所以我的项目看起来像这样:项目:
在 gl-pipeline.yml 我设置了一个任务
现在,当我在管道中运行我的任务时,bzt perfomance-tests-jmeter.yml正在项目根目录中定义的 docker 映像中执行,因此无法运行 bzt,因为它没有安装在那里。如何设置在我的性能测试/子目录中运行图像?
github - GitHub PR 不会触发 GitLab 管道
我正在尝试使用 GitHub 在 PR 上触发 GitLab 管道。实际上,当开发人员在 GitHub 中创建 PR 时,他/她的代码会针对 GitLab 管道进行测试。
我正在尝试遵循此用户指南:https ://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/github_integration.html
我们有一个白银帐户,但它不起作用。创建 PR 时,不会触发 GitLab 管道。
有这种经验的人可以帮忙吗?谢谢乔
continuous-integration - GitLab CI:避免每个作业重复skip-ci
目前,我正在复制skip-ci
每项工作的信息,就像这样
有没有办法只写一次,它会适用于所有的工作?
gitlab - 什么可能导致我使用 Kaniko 在 GitLab CI 上出现“错误检查推送权限”错误?
我正在运行 dockerized GitLab CI 13.8.3,最近在尝试构建 docker 映像(通过 Kaniko)并将其推送到我的注册表时遇到了一个新错误。管道已经为这个项目工作了几个月,我没有更改我的 docker-compose 或 gitlab-ci.yml 文件。我的 gitlab-ci.yml 的错误和摘录如下。关于我能做些什么来解决这个问题的任何想法?
错误:
这是我的 gitlab-ci.yml 文件中的适用部分: