问题标签 [concourse-git-resource]
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.
continuous-integration - Concourse 中 PUT 和 OUTPUT 步骤的区别
有人能告诉我PUT
台阶和OUTPUT
大厅台阶之间的区别吗?例如,在以下类型的 YAML 文件中,为什么我们需要在 aput
之后添加一个步骤get
?我们不能用output
代替put
吗?如果不是,每两个的目的是什么?
concourse - 如何在 Concourse 作业中连接命令?
我有一个 Concourse 作业,将 repo 拉入 docker 映像,然后在其上执行命令,现在我需要执行来自 docker 映像的脚本,完成后在 repo 中执行命令,如下所示:
get-git-context.sh
是来自我的 docker 映像的脚本,并且.gradlew
是我的 repo 中带有参数的标准 gradlew build
,我使用这种方法收到以下错误:
意味着在执行第一个命令时将作业 cd'd 到 / 中,只执行一个命令就可以了。我还尝试添加两个运行部分:
但是只执行了第二部分,连接这两个命令的正确方法是什么?
git - 匹配 Concourse CI 中两个 Git 资源的分支名称
我有一个 Concourse CI 管道设置,它在逻辑上依赖于两个单独的 Git 资源。
对于特定的需求,比如说发布一个版本m.n.o
,管道需要同时检查两个项目。重要的是,它需要release/m.n.o
在两个分支中引用相同的内容。此外,我希望通过更新项目 A 和 B 来触发我的管道,当然,应该满足匹配的分支名称要求,例如,如果我更新project-a/release/1.2.3
,我希望 Concourse CI 结帐project-b/release/1.2.3
而不是任何其他。值得一提的是,两个项目中可能有不止一个release/m.n.o
分支处于活动状态,即一个可以推送到,project-a/release/1.2.3
以便 A & B v.1.2.3 都进入 CI,然后推送到,project-b/release/2.3.4
以便 A & B v.2.3.4由 CI 构建。
到目前为止,我发现的唯一稳定的工作解决方案是将分支名称保持为变量,并在每次需要使用fly set-pipeline
(或使用 Vault,但这更复杂)处理版本 1.2.3 或 2.3.4 时切换它。
或者,我可以创建两个 (3, 4, N) 管道,一个用于我拥有的每个发布版本。然而,与其他 CI/CD 引擎所能达到的效果相比,我发现这两个选项到目前为止都不能令人满意。
总的来说,感觉就像我错过了 Concourse 的一些基本概念,可以在这里用来实现一个简单的目标,即检查两个具有相同名称分支的 repos,所以我非常感谢任何帮助。
concourse - Concourse CI 中的资源类型:如果 Check 总是只返回最新版本会怎样?
我正在查看 git 资源,发现 Check 正在做一个克隆而不是更轻量级的ls-remote
. 我认为有两个原因:
- 可以根据元数据和 repo 中更改的文件过滤提交
- 因为文档说它应该返回一系列版本,而不仅仅是最新的
第一个很明显,但我不明白第二个的原因。
它在标准输入上给出了配置的源和当前版本,并且必须按时间顺序将新版本的数组打印到标准输出,包括请求的版本(如果它仍然有效)。
但后来它说:
如果您的资源无法确定哪些版本比给定版本更新(例如,如果它是一个被推送的 git 提交),那么应该返回您的资源的当前版本(即新的 HEAD)。
所以我的问题是,为什么资源不能总是只返回一个版本——最新的。即如果源已经移动,甚至没有请求的版本? 哪些功能会丢失?
git - Concourse 管道构建失败并出现错误提示:更新被拒绝,因为标签已存在于远程
大厅管道构建失败并出现错误提示:
如何避免此错误消息?
concourse - 在 Concourse 中,是否可以在 Web UI 中以交互方式选择 git 资源分支或使用 CLI?
Fe 通常你使用“develop”,但今天你想使用“patchXYZ”......在不改变管道的情况下,有没有办法提示用户输入分支名称?如果不是,此流程的 Concourse 最佳实践是什么?
concourse - 大厅管道 - 子文件夹“不是有效的存储库名称”引发错误
我有一个存储库,它有两个前端应用程序和一个服务器文件夹。我需要为两个前端(角度)和一个服务器(nodejs)文件夹创建管道。如果我为主文件夹(concourse-pipeline)创建一个管道,它工作正常。但是当我尝试为子文件夹(前端)创建管道时,它会抛出“不是有效的存储库名称”的错误。我不确定这里出了什么问题。
任何帮助,将不胜感激
git - 大厅 git-resource:tag_filter 和 tag_regex 不起作用
我有一个 git 标签列表
从这些标签中,我只想获得以下标签:
我声明我的资源如下:
我已经尝试了所有这些解决方案:
他们似乎都没有按照我的意愿过滤数字(digits.digits.digits)。
我已将此行用作构建过滤器的参考:https ://github.com/concourse/git-resource/blob/master/assets/check#L168 。
任何想法 ?
continuous-integration - 大厅资源`check_every:从不`时间:无效持续时间“从不”
运行大厅 6.7.4。大厅文档说您可以通过设置check_every
为never
( https://concourse-ci.org/resources.html#schema.resource ) 将资源设置为从不检查。但是,它会导致以下错误,time: invalid duration "never"
. 我已经尝试将它设置never
为以及'never'
在管道 yml 文件中。我错过了什么吗?