实现资源类型:Concourse 如何使用签入、签出脚本的输出?
Implemented a Resource Type: How does Concourse use the output of the check, in, and out scripts?
阅读有关 Implementing a Resource Type 的 Concourse 文档,关于签入、签入和签出脚本必须发出的内容,不清楚 为什么 需要此输出或 如何 Concourse 使用它。我的问题是:
1) Concourse如何使用check脚本、in脚本、out脚本的输出?
2) 而且,为什么要求 in 和 out 脚本发出版本?如果你不这样做会怎样?
对于上下文,这里是文档的相关部分:
1) 对于 check 脚本:
...[it] must print the array of new versions, in chronological order,
to stdout, including the requested version if it's still valid.
例如:
[
{ "ref": "61cbef" },
{ "ref": "d74e01" },
{ "ref": "7154fe" }
]
2) 对于 in 脚本:
The script must emit the fetched version, and may emit metadata as a list of key-value pairs. This data is intended for public consumption and will make it upstream, intended to be shown on the build's page.
例如:
{
"version": { "ref": "61cebf" },
"metadata": [
{ "name": "commit", "value": "61cebf" },
{ "name": "author", "value": "Hulk Hogan" }
]
}
3) 类似于in脚本,out脚本:
The script must emit the resulting version of the resource. For
example, the git resource emits the sha of the commit that it just
pushed.
例如:
{
"version": { "ref": "61cebf" },
"metadata": [
{ "name": "commit", "value": "61cebf" },
{ "name": "author", "value": "Mick Foley" }
]
}
Concourse 使用 check
结果来验证是否有可用的新资源。根据您的管道定义,新资源的存在将触发作业。因此,in
用于使用管道提供的参数读取特定资源,而 out
负责写入它们。
由于您的 in
将使用 check
提供的信息,您可能希望使用类似的结构,但您没有义务这样做。在您的 check/in/out 中回显相同的版本信息非常有用,以便能够记录它并了解管道中的每个资源属于哪个版本。
阅读有关 Implementing a Resource Type 的 Concourse 文档,关于签入、签入和签出脚本必须发出的内容,不清楚 为什么 需要此输出或 如何 Concourse 使用它。我的问题是:
1) Concourse如何使用check脚本、in脚本、out脚本的输出?
2) 而且,为什么要求 in 和 out 脚本发出版本?如果你不这样做会怎样?
对于上下文,这里是文档的相关部分:
1) 对于 check 脚本:
...[it] must print the array of new versions, in chronological order, to stdout, including the requested version if it's still valid.
例如:
[
{ "ref": "61cbef" },
{ "ref": "d74e01" },
{ "ref": "7154fe" }
]
2) 对于 in 脚本:
The script must emit the fetched version, and may emit metadata as a list of key-value pairs. This data is intended for public consumption and will make it upstream, intended to be shown on the build's page.
例如:
{
"version": { "ref": "61cebf" },
"metadata": [
{ "name": "commit", "value": "61cebf" },
{ "name": "author", "value": "Hulk Hogan" }
]
}
3) 类似于in脚本,out脚本:
The script must emit the resulting version of the resource. For example, the git resource emits the sha of the commit that it just pushed.
例如:
{
"version": { "ref": "61cebf" },
"metadata": [
{ "name": "commit", "value": "61cebf" },
{ "name": "author", "value": "Mick Foley" }
]
}
Concourse 使用 check
结果来验证是否有可用的新资源。根据您的管道定义,新资源的存在将触发作业。因此,in
用于使用管道提供的参数读取特定资源,而 out
负责写入它们。
由于您的 in
将使用 check
提供的信息,您可能希望使用类似的结构,但您没有义务这样做。在您的 check/in/out 中回显相同的版本信息非常有用,以便能够记录它并了解管道中的每个资源属于哪个版本。