BOSH中如何复制多个模板文件?
How to copy multiple template files in BOSH?
在 Bosh Job Spec 文件中,您可以列出要复制的模板,就像这样。
templates:
ctl.sh: bin/ctl
config.json: config/config.json
是否可以使用通配符或其他方式复制多个文件?
这样的方式...
templates:
*.sh: bin/
*.xml: config/
作业规范中的模板部分是一个 1:1 映射,并且(目前)不支持通配符,尽管我认为可以假定目标路径,但它们应该是明确的。但是这些文件仅适用于您需要 ERB 配置文件以从 manifest/yml 获取属性的地方,这些属性允许在使用之间具有灵活性。
但是如果您想要 很多 个不需要动态属性的文件,您可以考虑这些文件是模板还是依赖项。您可以使用包来包含作为依赖项所需的整个存档或文件夹,包括使用通配符,并且这些可以作为作业生命周期的一部分自动提取。参见 https://bosh.io/docs/create-release.html#pkg-skeletons
每个包都有一个打包脚本来告诉 bosh 把文件放在哪里。
# abort script on any command that exits with a non zero value
set -e
tar -xzf $BOSH_COMPILE_TARGET/xml/all-files.tar.gz
cp -a all-files/* $BOSH_INSTALL_TARGET
并且该文件在包规范中定义
---
name: xml-files
dependencies:
files:
- xml/all-files.tar.gz
files : A list of files this package contains, which can contain globs. A * matches any file and can be restricted by other values in the glob, e.g. *.rb only matches files ending with .rb. A ** matches directories recursively.
你只是参考你的工作规范。
---
name: myjob
templates:
ctl.sh: bin/ctl
config.json: config/config.json
packages:
- xml-files
在 Bosh Job Spec 文件中,您可以列出要复制的模板,就像这样。
templates:
ctl.sh: bin/ctl
config.json: config/config.json
是否可以使用通配符或其他方式复制多个文件?
这样的方式...
templates:
*.sh: bin/
*.xml: config/
作业规范中的模板部分是一个 1:1 映射,并且(目前)不支持通配符,尽管我认为可以假定目标路径,但它们应该是明确的。但是这些文件仅适用于您需要 ERB 配置文件以从 manifest/yml 获取属性的地方,这些属性允许在使用之间具有灵活性。
但是如果您想要 很多 个不需要动态属性的文件,您可以考虑这些文件是模板还是依赖项。您可以使用包来包含作为依赖项所需的整个存档或文件夹,包括使用通配符,并且这些可以作为作业生命周期的一部分自动提取。参见 https://bosh.io/docs/create-release.html#pkg-skeletons
每个包都有一个打包脚本来告诉 bosh 把文件放在哪里。
# abort script on any command that exits with a non zero value
set -e
tar -xzf $BOSH_COMPILE_TARGET/xml/all-files.tar.gz
cp -a all-files/* $BOSH_INSTALL_TARGET
并且该文件在包规范中定义
---
name: xml-files
dependencies:
files:
- xml/all-files.tar.gz
files : A list of files this package contains, which can contain globs. A * matches any file and can be restricted by other values in the glob, e.g. *.rb only matches files ending with .rb. A ** matches directories recursively.
你只是参考你的工作规范。
---
name: myjob
templates:
ctl.sh: bin/ctl
config.json: config/config.json
packages:
- xml-files