1

アーティファクト リポジトリに一連の zip ファイルがあり、最新のアーティファクトを取得する必要があります。アーティファクトの構造は次のとおりです。

Homeloan
-> test-application-dev-local_1.zip
-> test-application-dev-local_2.zip
-> test-application-dev-local_3.zip
-> test-application-dev-local_4.zip
-> test-application -dev-local_5.zip
-> test-application-dev-local_6.zip
-> test-application-dev-local_7.zip

これらのアーティファクトはすべて、Msbuild の出力です。ユーザーがコードをチェックインするたびに、TeamCity にビルドされ、アーティファクトが Jfrog にアップロードされます。

現在、最新のアーティファクトを取得する必要があるアドホック基本でトリガーされる別の TeamCity ビルドがあり、この場合は「test-application-dev-local_7.zip」が必要です。

私は TeamcityArtifactory プラグインを使用してアーティファクトを取得しています。以下は私が試した仕様です。

{
    "files": [{
        "aql": {
            "items.find": {
                "@build.name": "test-application-dev-local_*.zip"
            }
        },
        "target": "somepath",

    }]
}

上記の仕様では、7 つの zip ファイルすべてを取得します。上記の仕様に制限を追加しようとしました(これが正しい方法かどうかはわかりません)が、エラーが発生しています

{
"files": [{
    "aql": {
        "items.find": {
            "@build.name": "test-application-dev-local_*.zip"
        }
    },
    "limit":1
    "target": "somepath",

}]

}

Error occurred while resolving dependencies from the spec: Unrecognized field "limit" (class org.jfrog.build.extractor.clientConfiguration.util.spec.Aql), not marked as ignorable (one known property: "items.find"])

最近アップロードされたアーティファクトを取得する方法がわかりません。

4

1 に答える 1

0

Artifactoryのドキュメントにあるように、私でさえこれで立ち往生していました-

「現在、TeamCity では、sortBy、sortOrder、limit、および offset はサポートされていません。」

したがって、これらを実装する他の方法を探す必要がありました。何が私のために働いたのですか?

->

JFrog CLIコマンドで実行できました。

コマンドラインで仕様ファイルを再作成する必要があり、並べ替えと制限の目的で、仕様ファイルに並べ替えと制限を追加する代わりに CLI コマンドを使用しました。

echo ">>> Downloading the archive from artifactory ..."
echo "{" > downloadSpec.json
echo "  \"files\": [" >>downloadSpec.json
echo "    {" >> downloadSpec.json
echo "      \"pattern\": \"artifactory-repo-path/artifact-name*.tar.gz\"," >> downloadSpec.json
echo "      \"target\": \"target-path\-to-download"" >> downloadSpec.json
echo "    }" >> downloadSpec.json
echo "  ]" >> downloadSpec.json
echo "}" >> downloadSpec.json


jfrog rt dl --spec=downloadSpec.json
--url="your-artifactory-server-url" --user="your-artifactory-user-name" -- 
password="your-artifactory-password" --sort-by=updated --sort-order=desc 
--limit=1

どこでjfrog rt dl-> はダウンロードするコマンドです

于 2021-09-07T05:27:21.007 に答える