一連の古いスクリプトを Jenkins パイプライン ジョブに変換中です。多くのスクリプトでは、JFrog CLI を使用して、Artifactory とのすべての対話を処理しました。Jenkins パイプラインを使用すると、Artifactory プラグインを介してそれを実行できるようになりました。ただし、この方法でファイル内の変数を置き換える方法が見つからないようです。
JFrog CLI の場合:
jfrog rt dl --spec spec.json --spec-vars="foo=fooValue;bar=barValue"
このコマンドを実行すると、spec.json${foo}
とその内部のすべてのインスタンスが対応する値に置き換えられます。${bar}
1行ですべてがきれいに機能します。
Jenkins パイプラインの場合:
rtDownload(
serverId: 'Artifactory',
spec: '''{
"files": [
{
"pattern": "spec.json"
}
]
}'''
)
に続く
rtDownload(
serverId: 'Artifactory',
specPath: 'spec.json'
)
これにより、必要な仕様ファイルが取得され、リストされているほとんどのファイルがダウンロードされますが、変数を必要とするファイルを見つけることができません。ファイルのダウンロード中またはダウンロード後に、変数の置換を含めるオプションを見つけることができませんでした。
スクリプトで通常どおり JFrog CLI を使用したり、別の関数を追加してこのファイルを手動で変更して変数を含めたりすることはできますが、理想的には、付属のパイプライン統合によってすべてをきれいに実行したいと考えています。
どんな提案でも大歓迎です。