1

Pogo を使用する自動展開システムをセットアップしています。暗号化されたパッケージのパスフレーズを yaml ファイルに保存します。ただし、パッケージ名が正しいパスフレーズを含む yaml ファイルにあるにもかかわらず、パッケージ名にバージョン番号が付いているために取得されないという問題が発生しています。

たとえば、yaml ファイルは次のようになります。

somesoftwarepackage: apassphrase

自動展開中、インストールされる実際のパッケージ名は次のようになります。

somesoftwarepackage-1.0.23

そして、その時点でデプロイメントがフリーズし、パスフレーズを待ちます。

yaml でワイルドカードを使用して、一般的なパッケージ名を付けることができますが、特定のバージョンを指定する (そして常に更新する) 必要はありませんか?

4

1 に答える 1

4

答えはノーだと思います。YAML は文字列の連結やその他のデータの生成や操作を行うことができません。

変数またはワイルドカードに最も近いのはアンカーであり、以前に指定されたデータのエイリアスに似ています。次のようなことができると思います:

pkg_name: &name my_pkg
pkg_version: &version 1.0.23
pkg_fullname: [ *name, '-', *version ]

少なくともパッケージ名の形式 ( ) を文書化し、単一の文字列に${name}-${version}操作するようにします (たとえば、 Python で)。しかし、これらの操作を元のデータで行うのはおそらく同じくらい簡単です。pkg_fullname''.join(pkg_fullname)

于 2013-04-18T05:48:02.550 に答える