问题标签 [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.
git - 大厅 git 资源;访问要在 docker-image put 上使用的 Git Tag
我正在使用带有 tag_filter 的https://github.com/concourse/git-resource来触发发布构建。我需要访问触发构建的标签的标签名称,以便在构建过程中使用它,并使用它来标记 docker 图像资源放置操作。我该怎么做?
我可以运行git tag -l --points-at HEAD > tag
以获取构建过程的标签,但是我将如何访问它以获取 docker-image put 的标签属性?
concourse - 在 Semver 更改时触发任务:触发作业或排序
这是我想要实现的目标:
我有一个带有二进制版本的构建作业的项目。二进制文件需要一段时间才能针对每个平台进行交叉编译,因此我只想在标记发布时发布构建,但我希望构建本地本地版本并为每个签入版本运行测试。
基于飞行学校演示......到目前为止,我的管道配置如下所示:
这会在 Web UI 中生成一个管道,如下所示:
问题是当我更新git存储库中的“release”文件时,semver资源“flight-school-version”可以在git资源“flight-school”之前检查,导致从git处理release构建分配给上次签入的版本。
我想要一种解决此问题的方法,以便发布版本显示为单独的任务,但仅在版本发生冲突时触发。
到目前为止我想到的一些事情
使用集合创建一个单独的 git 资源,tag_filter
以便它仅在将 semver 标签推送到 master 时运行
- Pro:作业仅在推送标签时运行
- 缺点:与上面基于 semver 的示例具有相同的测试断开继承问题
使用结帐中的 git 历史记录作为构建脚本的一部分添加 semver 标记的条件检查(或更改文件的差异)
- 优点:基本上会做我想做的事,而不会与 Concourse 过多的摔跤
- 缺点:如果不实际读取构建输出,则看不到 UI 中的差异
- 缺点:难以与其他任务和资源类型组合使用二进制版本来做某事
手动触发发布构建
- 优点:设置简单
- 缺点:需要人工干预。
当检测到版本更改时,使用 API 在测试完成时触发暂停的构建步骤
- 缺点:还没有看到其他人这样做的任何例子,看起来真的很复杂。
当git 资源和 semver 资源都发生变化时,我还没有找到触发任务的方法。
我正在寻找解决上述示例中并发问题的答案,或者寻找会产生类似发布工作流程的替代模式。
pipeline - 如何处理 Concourse 管道中的多个代码签入?
github 存储库之一是我的管道的资源。我的大厅管道中有 3 个并行作业,当有任何签入到 github 存储库时会触发这些作业。管道中的其他作业是按顺序排列的。我有以下问题:
1)我希望管道完成完全执行然后才开始新的运行。我正在使用池资源来确保执行完成,然后只触发新的运行。有没有更好的方法来解决它。
2)如果管道正在进行时有多个签入,那么有没有办法只在最后一个签入时执行管道。例如,管道的第一个实例正在运行,当管道执行完成时,存储库中有 6 个签入。管道能否只选择第 6 个版本的存储库并清除前五个签入的运行?
docker - 如何通过 .yml 文件绑定套接字..?
我的 pipeline.yml 文件如下所示,我试图在其中安装 docker 并在 concourse 创建的 ubuntu 容器内运行 docker pull。供参考...
我将代码保存在 github 公共仓库中:https ://github.com/rohithmn3/hello_hapi/blob/master/task_show_uname.sh
当我运行大厅管道时,它失败了 - 因为它无法在 docker 安装后运行 docker images 命令。以下是错误/异常:
我遇到了错误/异常,因为在 docker build 时我无法绑定套接字。帮帮我……!?
问候, 罗希特
concourse - 通过 CLI 触发大厅作业:“找不到资源”
我正在尝试从命令行触发大厅作业。我的管道有一个资源(一个 git repo)和一个使用该 repo 的作业。我看到:
但是,当我进入 Web UI 并通过按右上角的“+”按钮手动触发作业时,它工作正常。
这是完整的管道:
如何从 CLI 触发此作业?
git - 带有自签名证书的私有 git 存储库作为 Concourse 资源
请解释如何在 Concourse 中使用带有自签名证书的私有 Git 存储库作为资源。
(我知道这个接受的功能请求,但我 - 可能还有其他人 - 更喜欢简洁的答案。)
amazon-web-services - 更改实例后,大厅资源不起作用
我需要一些帮助来了解我们的 Concourse 安装发生了什么。我们有 Concourse 在 AWS EC2 Ubuntu 实例(网络和工作人员)中工作。由于不同的原因,我们需要迁移到一个新的 EC2 实例。问题是在第二个实例中运行的 Concourse 无法访问 GitHub 或 S3 资源。两者的凭据都在管道中,所以我知道它保存在相同的数据库中。会发生什么??
Github 资源错误:
S3 资源错误:
谢谢!
docker - 大厅 ci 在哪里创建容器来运行任务?如何进入这些容器中的任何一个?
大厅 ci 在哪里创建容器来运行任务?如何进入这些容器中的任何一个?
cloud-foundry - 在大厅劫持中出错:后端错误:退出状态:500
我在大厅工作时遇到以下错误:
劫持:后端错误:退出状态:500,消息:{“Type”:“”,“Message”:“runc exec:退出状态1:exec失败:container_linux.go:264:启动容器进程导致\“exec:\ \"./task-scripts/task_show_uname.sh\\": stat ./task-scripts/task_show_uname.sh: 没有这样的文件或目录\"\n","Handle":""}
我有一个task.yml:
pipeline.yml 看起来像:
任何想法?
concourse - 大厅:资源脚本'/opt/resource/check []'失败:退出状态128
环境:
服务器在代理后面。Concourse 安装是二进制的,非 docker。代理已设置/etc/environment
为:
在该服务器中,我可以成功访问外部:
错误:
而已。我找不到任何可以引导我对环境进行故障排除的东西。
非常感谢任何反馈!