web-dev-qa-db-ja.com

チェックサムを使用した工芸品のアップロード

Artifactoryにアーティファクトをアップロードし、チェックサムを提供しない場合、次の警告が表示されます。

Screenshot, Artifactory, Fix Checksum

どのようにcurlでアップロードし、チェックサムを含めますか?

15
spuder

この機能は現在十分に文書化されていません。例はこのページにあります:

https://www.jfrog.com/knowledge-base/what-are-client-checksum-server-checksum-and-checksum-policy-in-local-repositories/

以下をcurlコマンドに追加するだけです:"--header "X-Checksum-<type>:${CHECKSUM}"

Sha1

CHECKSUM=$(shasum -a 1 foo.Zip | awk '{ print $1 }')

curl --header "X-Checksum-Sha1:${CHECKSUM}" --upload-file "foo.Zip -u "admin:<apikey>" -v https://artifactory.example.com/foo/

MD5

CHECKSUM=$(md5sum foo.Zip | awk '{ print $1 }')

curl --header "X-Checksum-MD5:${CHECKSUM}" --upload-file "foo.Zip -u "admin:<apikey>" -v https://artifactory.example.com/foo/

または、両方のチェックサムを同時に提供します

ARTIFACT_MD5_CHECKSUM=$(md5sum foo.Zip | awk '{print $1}')
ARTIFACT_SHA1_CHECKSUM=$(shasum -a 1 foo.Zip | awk '{ print $1 }')
curl --upload-file "foo.Zip" \
--header "X-Checksum-MD5:${ARTIFACT_MD5_CHECKSUM}" \
--header "X-Checksum-Sha1:${ARTIFACT_SHA1_CHECKSUM}" \
-u "admin:<apikey>" \
-v https://artifactory.example.com/foo/

残念ながら、sha256でのアップロードはcurlでは機能しません バグのため

18
spuder

コメントは許可されていないので、回答として説明を投稿します。

このコメント は、Deploy Artifact by Checksum AP​​Iは、チェックサム検証を伴うアップロードに関するドキュメントです。ただし、これはArtifactoryに既に存在するアーティファクトのアップロードにのみ有効です。 ドキュメントに記載されているように 、404で新しいアーティファクトのアップロードを拒否します。

0
gangefors