本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CodeArtifact 搭配 deps.edn 使用
您可以使用 deps.edn
搭配 clj
來管理 Clojure 專案的相依性。本節說明如何設定 deps.edn
以使用 CodeArtifact 儲存庫。
擷取相依性
若要設定 Clojure
從 CodeArtifact 儲存庫擷取相依性,您必須編輯 Maven 組態檔案 settings.xml
。
-
在 中
settings.xml
,新增參照CODEARTIFACT_AUTH_TOKEN
環境變數的<servers>
區段,讓 Clojure 在HTTP請求中傳遞權杖。注意
Clojure 預期 settings.xml 檔案位於
~/.m2/settings.xml
。如果位於其他地方,請在此位置建立 檔案。<settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
如果您還沒有 ,請使用 為您的專案產生 POM xml
clj -Spom
。在
deps.edn
組態檔案中,新增符合 Maven 中伺服器 ID 的儲存庫settings.xml
。:mvn/repos { "clojars" nil "central" nil "codeartifact" {:url "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/"} }
注意
-
tools.deps
保證會先檢查central
和clojars
儲存庫的 Maven 程式庫。之後,deps.edn
將檢查 中列出的其他儲存庫。 -
為了避免直接從 Clojars 和 Maven Central 下載,
central
且clojars
需要設定為nil
。
請確定您在環境變數中具有 CodeArtifact Auth 權杖 (請參閱 使用環境變數傳遞身分驗證權杖)。在這些變更之後建置套件時, 中的相依性
deps.edn
將從 擷取 CodeArtifact。注意
若要使用雙堆疊端點,請使用
codeartifact.
端點。region
.on.aws-
發佈成品
-
更新您的 Maven 設定
deps.edn
,並將 包含 CodeArtifact 為 maven 辨識伺服器 (請參閱 擷取相依性)。您可以使用 deps-deploy等工具,將成品上傳至 CodeArtifact。 在 中
build.clj
,新增deploy
任務,將必要的成品上傳到先前的設定codeartifact
儲存庫。(ns build (:require [deps-deploy.deps-deploy :as dd])) (defn deploy [_] (dd/deploy {:installer :remote :artifact "PATH_TO_JAR_FILE.jar" :pom-file "pom.xml" ;; pom containing artifact coordinates :repository "codeartifact"}))
透過執行 命令發佈成品:
clj -T:build deploy
如需修改預設儲存庫的詳細資訊,請參閱 Clojure Deps 和CLI參考原理 中的修改預設儲存庫