在阅读关于Implementing a Resource Type的Concourse文档时,关于检入和检出脚本必须发出的内容,尚不清楚为什么需要此输出或如何大厅使用它。我的问题是:
1)Concourse如何使用检查脚本,输入脚本和输出脚本的输出?
2)而且,为什么要求输入和输出脚本发出该版本?如果不这样做会怎样?
对于上下文,这是文档的相关部分:
1)对于 check 脚本:
... [it]必须按时间顺序打印新版本的数组, 到标准输出,包括请求的版本(如果仍然有效)。
例如:
[
{ "ref": "61cbef" },
{ "ref": "d74e01" },
{ "ref": "7154fe" }
]
2)对于 in 脚本:
该脚本必须发出获取的版本,并且可能发出作为键值对列表的元数据。这些数据供公众使用,并将在上游发布,并显示在版本页面上。
例如:
{
"version": { "ref": "61cebf" },
"metadata": [
{ "name": "commit", "value": "61cebf" },
{ "name": "author", "value": "Hulk Hogan" }
]
}
3)类似于 in 脚本, out 脚本:
脚本必须发出资源的结果版本。对于 例如,git资源发出它只是提交的阴影 推。
例如:
{
"version": { "ref": "61cebf" },
"metadata": [
{ "name": "commit", "value": "61cebf" },
{ "name": "author", "value": "Mick Foley" }
]
}
答案 0 :(得分:1)
Concourse使用check
结果来验证是否有任何新资源可用。根据您的管道定义,新资源的存在将触发作业。因此,in
用于使用管道提供的参数读取特定资源,而out
将负责编写它们。
由于您的in
将使用check
提供的信息,因此您可能想使用类似的结构,但是您不必这样做。可以在签入/签入/签出中回显相同的版本信息,以便能够对其进行记录并了解管道中的每个资源属于哪个版本。