可以在yaml中使用通配符吗?
我正在建立一个使用Pogo的自动部署系统。它将加密包的密码短语存储在yaml文件中。但是,我遇到了一个问题,尽管包名在yaml文件中具有正确的密码短语,但由于包名附加了一个版本号,因此无法获取它 例如,yaml文件如下所示:可以在yaml中使用通配符吗?,yaml,Yaml,我正在建立一个使用Pogo的自动部署系统。它将加密包的密码短语存储在yaml文件中。但是,我遇到了一个问题,尽管包名在yaml文件中具有正确的密码短语,但由于包名附加了一个版本号,因此无法获取它 例如,yaml文件如下所示: somesoftwarepackage: apassphrase pkg_name: &name my_pkg pkg_version: &version 1.0.23 pkg_fullname: [ *name, '-', *version ] 在自动
somesoftwarepackage: apassphrase
pkg_name: &name my_pkg
pkg_version: &version 1.0.23
pkg_fullname: [ *name, '-', *version ]
在自动部署期间,实际安装的软件包名称如下:
somesoftwarepackage-1.0.23
然后,部署在该点冻结,等待通行短语
是否可以在yaml中使用通配符,这样我就可以输入通用包名,但不必指定(然后不断更新)特定版本?我认为答案是否定的,yaml不能进行字符串连接或任何其他数据生成或操作 与变量或通配符最接近的是锚点,它们更像是先前指定数据的别名。我想你可以这样做:
somesoftwarepackage: apassphrase
pkg_name: &name my_pkg
pkg_version: &version 1.0.23
pkg_fullname: [ *name, '-', *version ]
因此,您至少已经记录了包名格式(
${name}-${version}
),并将pkg_fullname
操作为单个字符串(例如,Python中的'.join(pkg_fullname)
)。但是,用原始数据进行这些操作可能同样容易。我认为答案是否定的,YAML不能进行字符串连接或任何其他数据生成或操作
与变量或通配符最接近的是锚点,它们更像是先前指定数据的别名。我想你可以这样做:
somesoftwarepackage: apassphrase
pkg_name: &name my_pkg
pkg_version: &version 1.0.23
pkg_fullname: [ *name, '-', *version ]
因此,您至少已经记录了包名格式(${name}-${version}
),并将pkg_fullname
操作为单个字符串(例如,Python中的'.join(pkg_fullname)
)。但用原始数据进行这些操作可能同样容易