问题标签 [concourse-pipeline]
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.
concourse - 创建可重复使用的大厅管道
我有一堆遵循相同基本模式的应用程序,因此我正在尝试创建一个可用作可重用库的管道。到目前为止,通过执行以下操作可以很好地工作:
到目前为止它工作得很好,但我没有看到的一件事是,如果我想为一个场景执行一个步骤而不是另一个场景怎么办。有没有办法将条件应用于步骤?我能够将变量传递到我的运行步骤中并在 shell 脚本中对它们进行操作,但是如果我走这条路,这似乎违背了使用资源和步骤的目的。
continuous-integration - 如何将 Concourse resource_types 定义存储在外部文件中并将它们导入管道?
我有几个需要相同resource_types
定义的 Concourse 管道。为了消除重复,有没有办法让这些resource_types
从其他文件中导入?(例如链接资源)
我期望这样的事情(类似于外部.yml
文件中定义的任务):
其中concourse-resources/resource-types/rss.yml
会包含这样的内容:
(改编自https://concourse-ci.org/resource-types.html的示例)
如果目前在 Concourse 中无法实现上述功能,我该如何实现?(例如生成管道,或者其他更优雅的解决方案)
git - 如何将版本控制添加到大厅管道?
在向 Concourse 管道发出fly
命令后,我想对这个新管道进行版本控制。
我尝试在 GIT 存储库上维护一个单独的“版本”文件。
但我的要求是在管道作业名称上显示此版本。
添加更多细节:
我正在查看 GIT 中的设施以监视特定文件夹(例如xyz
)上的提交。我得到了类似下面的东西:
gruntjs - 应该使用哪个大厅资源来执行 grunt 命令
我有使用 GRUNT 执行构建和测试的 UI 项目。当我尝试在 concourse 任务中调用测试时,我应该在已安装 grunt 的位置使用哪个资源图像。我现在收到以下错误。
amazon-web-services - AWS CloudFormation 密钥不接受特殊字符
我注意到 AWS CloudFormation 不喜欢特殊字符。
当我使用特殊字符更新key:value
我们文件中的一对时,例如,我看到以下错误:pipeline.yml
PAR_FTP_PASS: ^XoN*H89Ie!rhpl!wan=Jcyo6mo
我可以通过 AWS CloudFormation UI 更新值。
似乎问题与解析 yml 文件的 AWS CloudFOrmation 有关。
这个问题有解决方法吗?
jgit - JGitflow 无限触发大厅作业
我正在将 JGitFlow 与 Concourse 一起使用。
我有两个分支 - 掌握和开发。当有变化要发展时,我的工作就会被触发。
当作业运行时,它执行mvn -X --batch-mode jgitflow:release-start jgitflow:release-finish
问题是当 jgitflow 运行时,它会增加版本号、更新快照、标记并与 master 合并。最后,它将更改推回开发和掌握。
由于 jgitflow 对开发进行了更改(更新了快照版本),因此会再次触发 Concourse 作业。
有没有办法避免这种情况。
concourse - 在管道任务中指定运行时参数
我们需要以某种方式将动态运行时参数传递给管道任务。例如,对于任务的每次运行,下面的参数 APPROVAL 会有所不同。此 APPROVAL 参数用于更改和发布编号,以便任务可以在为审计目的创建的 terraform 资源上对其进行标记。
已经在网上搜索了一段时间,但没有找到解决方案,这在大厅管道或最佳实践中是否可行?
ansible - Ansible 与 Concourse
我正在尝试在 Concourse 中为远程主机运行 ansible playbook,但是我不能这样做。以下是我的步骤:-
大厅 Yaml 文件:-
主机文件:-
容器内:-
我拦截了容器,我可以 ssh 到里面的任何 IP,但是我无法进行 ssh 登录。
Ansible 剧本:-
输出在大厅:-
docker - Concourse 从 git repo 构建 docker-image 复制
我正在尝试使用 Concourse 管道来提取 git repo,然后从 git repo 中的 dockerfile 构建/推送 Docker 映像。dockerfile 中有一个 COPY 命令,用于将文件从 repo 复制到映像中。通常我会安装一个卷以便能够在构建时复制这些文件,但在 Concourse 中找不到这样做的方法。这是我正在尝试的:
如何在构建时将文件 git-repo/scripts/run-script.sh 复制到我的映像中?谢谢你。
continuous-integration - Concourse 中 PUT 和 OUTPUT 步骤的区别
有人能告诉我PUT
台阶和OUTPUT
大厅台阶之间的区别吗?例如,在以下类型的 YAML 文件中,为什么我们需要在 aput
之后添加一个步骤get
?我们不能用output
代替put
吗?如果不是,每两个的目的是什么?