本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CodeArtifact 與部門一起使用
您可以使deps.edn
用clj
來管理 Clojure 專案的相依性。本節說明如何設定deps.edn
使用 CodeArtifact 儲存庫。
擷取相依性
Clojure
要配置從 CodeArtifact 存儲庫獲取依賴關係,您必須編輯 Maven 配置文件,settings.xml
.
-
在中
settings.xml
,新增一個<servers>
區段,其中包含CODEARTIFACT_AUTH_TOKEN
環境變數的參考,以便 Clojure 在 HTTP 要求中傳遞權杖。注意
如果您希望 settings.xml 文件位於
~/.m2/settings.xml
. 如果在其他位置,請在此位置建立檔案。<settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
如果您還沒有,請使用
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
保證將首先檢查 Mavenclojars
庫的central
和存儲庫。之後,deps.edn
將檢查中列出的其他存儲庫。 -
為了防止直接從 Clojar 和 Maven 中央下載,
central
並且clojars
需要設置為nil
。
確保您在環境變量中具有 CodeArtifact Auth 令牌(請參閱使用環境變量傳遞身份驗證令牌)。在這些變更之後建立套件時,中的相依性
deps.edn
將會從中擷取 CodeArtifact。-
發 Artifacts
-
更新您的 Maven 設置並
deps.edn
包含 CodeArtifact 為 Maven 識別的服務器(請參閱擷取相依性)。您可以使用諸如部署之類的工具將成品上傳至 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 參考基本原理中修改預設存