本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 curl 進行發佈
本節説明如何使用 HTTP 客户端curl
將 Maven 工件發佈到 CodeArtifact 儲存庫。使用發佈成品curl
在您的環境中沒有或想要安裝 Maven 客户端時非常有用。
發佈一個 Maven 工件curl
-
FETCH CodeArtifact 授權令牌,請按照使用環境變數傳遞身分驗證權杖並返回到這些步驟。
-
使用以下內容
curl
命令將 JAR 發佈到 CodeArtifact :儲存庫在每個
curl
命令,取代下列預留位置:Replace
我的域
與您的 CodeArtifact 網域名稱。Replace
111122223333
使用您的擁有者的 ID CodeArtifact 網域。Replace
us-west-2
與您的 CodeArtifact 網域。Replace
我的回購
與您的 CodeArtifact 儲存庫名稱。
curl --request PUT https://
my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/maven/my_repo
/com/mycompany/app/my-app/1.0/my-app-1.0.jar
\ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @my-app-1.0.jar
重要
您必須在
--data-binary
參數,並使用@
character. 將值放在引號中時,@
必須包含在引號內。 -
使用以下內容
curl
命令將 POM 發佈到 CodeArtifact :儲存庫curl --request PUT https://
my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/maven/my_repo
/com/mycompany/app/my-app/1.0/my-app-1.0.pom
\ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @my-app-1.0.pom
-
此時,Maven 神器將在您的 CodeArtifact 存儲庫的狀態為
Unfinished
。為了能夠使用該軟件包,它必須位於Published
狀態。您可將軟件包從Unfinished
至Published
通過上傳maven-metadata.xml
文件添加到您的軟件包中,或者調用更新包裝狀態 API以更改狀態。-
選項 1:使用以下內容
curl
命令添加maven-metadata.xml
文件添加到您的包中:curl --request PUT https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/my_repo
/com/mycompany/app/my-app/maven-metadata.xml
\ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @maven-metadata.xml
下列為
maven-metadata.xml
文件:<metadata modelVersion="1.1.0"> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <versioning> <latest>1.0</latest> <release>1.0</release> <versions> <version>1.0</version> </versions> <lastUpdated>20200731090423</lastUpdated> </versioning> </metadata>
-
選項 2:將包裹狀態更新為
Published
使用UpdatePackageVersionsStatus
API。aws codeartifact update-package-versions-status \ --domain
my_domain
\ --domain-owner111122223333
\ --repositorymy_repo
\ --format maven \ --namespacecom.mycompany.app
\ --packagemy-app
\ --versions1.0
\ --target-status Published
-
如果您只有工件的 JAR 文件,則可以將消耗軟件包版本發佈到 CodeArtifact 儲存庫使用mvn
。如果您無權訪問工件的源代碼或 POM,這將非常有用。如需詳細資訊,請參閱 發佈第三方成品。