CodeArtifact 與部門一起使用 - CodeArtifact

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CodeArtifact 與部門一起使用

您可以使deps.ednclj來管理 Clojure 專案的相依性。本節說明如何設定deps.edn使用 CodeArtifact 儲存庫。

擷取相依性

Clojure要配置從 CodeArtifact 存儲庫獲取依賴關係,您必須編輯 Maven 配置文件,settings.xml.

  1. 在中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>
  2. 如果您還沒有,請使用clj -Spom.

  3. 在您的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

  1. 更新您的 Maven 設置並deps.edn包含 CodeArtifact 為 Maven 識別的服務器(請參閱擷取相依性)。您可以使用諸如部署之類的工具將成品上傳至 CodeArtifact。

  2. 在您的中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"}))
  3. 執行下列命令來發佈成品:clj -T:build deploy

如需有關修改預設存放庫的詳細資訊,請參閱在 Clojure Deps 和 CLI 參考基本原理修改預設存放庫。