我们有一个自动化的过程,在每个合并请求的末尾提交一个状态文件。我们希望配置一个在每次提交时都运行的管道,但此用户提交的除外。目前流水线配置如下: test:
stage: test
script:
- make test
except:
changes:
- "the_status_file" 但是,有时状态文件根本不会改变。在这种情况下,管道运行。 相反,我们希望将管道配置为忽略某个用户的提交(此用户是我们创建的自动用户)。这在gitlab ci中是可能的吗?
我们的功能分支是基于"Dev“分支的。根据我们在.gitlab-ci.yml on Dev分支中定义的说明,开发分支每天都会部署到开发环境中。
当一个功能分支被创建并提交时,它们被部署为功能分支.gitlab-ci.yml与开发分支上的相同。如果我们在feature分支上禁用deploy步骤,并且在合并请求返回到开发分支时忘记取消注释,那么dev分支将通过feature分支覆盖.gitlab-ci.yml文件。
有没有办法通过合并来自任何功能分支的请求来保持开发人员的.gitlab-ci.yml不受影响?我发现.gitattributes可能会有所帮助,但找不到如何定义和使用它的起点。
..gitlab ci.yml配置文件不应公开给任何具有"developer“规则的用户,因为它可能会授予对变量和基础结构的不必要访问,或者使不同类型的利用行为或仅仅是不必要的更改成为可能。
因此,根据的说法,我做了项目和管道;但是如果推送的用户没有记者或开发人员或其他对包含所有配置的ci-信任项目的高权限,管道就会失败!
Found errors in your .gitlab-ci.yml:
Project `root/ci-configs` not found or access denied!
现在,我怎样才能纠正这个错误?!所以开发人员可以运行管道,但不能访问配置文
我注册了11个GitLab跑步者的项目。除1个项目外,每个项目的跑步者工作良好。我第一次注册这个项目的跑步者,它是有效的。但是,在提交/推送一些更改后,会发生错误并导致作业失败。我看到了一些解决方案,升级git版本解决了一个问题,但我不这么认为。因为除了这个项目,所有的跑步者都工作得很好。
服务器操作系统: CentOS 7
git: 1.8.3.1
First time registered runner
>Running with gitlab-runner 11.9.2 (...)
on (...)
Using Shell executor...
Running on loca
我们在中使用来自project B的project A中的.gitlab-ci.yml,如下所示:
include:
- project: pathto/projectb
file:
- "/pathto/myfile.yml"
当用户拥有对两个项目的访问权限时,它工作得很好,但是当用户只有对project A的访问权限时,就会出现一个linting错误。
Found errors in your .gitlab-ci.yml:
Project `pathto/projectb` not found or access denied! Make
我想使用Gitlab api to create a commit在单个分支上创建多个提交,但我担心Gitlab的CI会为每个提交激活。 使用存储库/提交api创建提交会触发CI吗?如果没有,有没有办法在我完成时手动触发CI?如果是这样,有没有办法像git push -o ci.skip (see here)那样压制它呢?