本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CodeArtifact 与 deps.edn 一起使用
您可以使用包含 clj
命令的 deps.edn
来管理 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>
如果您还没有 xml,请使用为您的项目生成 POM xml
clj -Spom
。在您的
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/"} }
注意
-
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参考原理中的修改默认存储库