Как я могу развернуть артефакт с помощью Maven, используя API-интерфейс REST?
Я могу выполнить обычное развертывание, используя следующую команду
curl -i -X PUT -u $artifactoryUser:$artifactoryPassword -T /path/to/file/file.zip http://localhost/artifactory/simple/repo/groupId/artifactId/version/file.zip
Однако это не приведет к разрешению или обновлению макета maven на артефакте. Есть ли способ, которым я могу загрузить без использования плагина artifactory-maven?
1 ответ:
Я нашел решение этого вопроса, который я опубликовал.
Используемый Синтаксис:
curl -i -X PUT -K $CURLPWD "http://localhost/artifactory/$REPO/$groupId/$artifactId/$versionId/$artifactId-$versionId.$fileExt"
В итоге написал скрипт, чтобы значения md5 и sha1 загружались вместе с файлом, или же мне пришлось пойти в Artifactory и исправить его вручную.
#!/bin/bash usage() { echo "Please check the Usage of the Script, there were no enough parameters supplied." echo "Usage: ArtifactoryUpload.sh localFilePath Repo GroupID ArtifactID VersionID" exit 1 } if [ -z "$5" ]; then usage fi localFilePath="$1" REPO="$2" groupId="$3" artifactId="$4" versionId="$5" ARTIFAC=http://localhost/artifactory if [ ! -f "$localFilePath" ]; then echo "ERROR: local file $localFilePath does not exists!" exit 1 fi which md5sum || exit $? which sha1sum || exit $? md5Value="`md5sum "$localFilePath"`" md5Value="${md5Value:0:32}" sha1Value="`sha1sum "$localFilePath"`" sha1Value="${sha1Value:0:40}" fileName="`basename "$localFilePath"`" fileExt="${fileName##*.}" echo $md5Value $sha1Value $localFilePath echo "INFO: Uploading $localFilePath to $targetFolder/$fileName" curl -i -X PUT -K $CURLPWD \ -H "X-Checksum-Md5: $md5Value" \ -H "X-Checksum-Sha1: $sha1Value" \ -T "$localFilePath" \ "$ARTIFAC/$REPO/$groupId/$artifactId/$versionId/$artifactId-$versionId.$fileExt"