CodeArtifact で deps.edn を使用する
deps.edn と clj を使用して、Clojure プロジェクトの依存関係を管理します。このセクションでは、CodeArtifact リポジトリを使用して deps.edn を設定する方法を示します。
依存関係の取得
Clojure を設定して CodeArtifact リポジトリから依存関係を取得するには、Maven 設定ファイル settings.xml を編集する必要があります。
-
CODEARTIFACT_AUTH_TOKEN環境変数を参照して<servers>セクションをsettings.xmlに追加し、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> ファイルを作成していない場合は、
clj -Spomを使用してプロジェクト用の POM xml を生成します。deps.edn設定ファイルに、Mavensettings.xmlのサーバー ID と一致するリポジトリを追加します。:mvn/repos { "clojars" nil "central" nil "codeartifact" {:url "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/"} }注記
-
clojarsによって、Maven ライブラリーのtools.depsとcentralリポジトリが最初にチェックされることが保証されます。その後、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に、以前に設定したcodeartifactリポジトリに必要なアーティファクトをアップロードするdeployタスクを追加します。(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 and CLI Reference Rationale」の「Modifying the default repositories