Metabase 0.41构建修改deps.edn替换Maven Central为企业远程仓库
Metabase 0.41.0 企业内部Maven仓库配置方案
问题根因
报错是由于Jenkins构建节点无法公网访问Maven中央仓库repo1.maven.org:443,导致依赖拉取失败,需将构建依赖源替换为企业内部私有Maven仓库。
项目级deps.edn修改方案(推荐)
Metabase 0.41版本使用Clojure tools.deps作为依赖管理工具,直接修改项目根目录下的deps.edn文件即可替换依赖源:
- 打开项目根目录的
deps.edn文件,定位到顶级:mvn/repos配置节点 - 将原有默认配置替换为以下内容,替换占位符为企业实际仓库信息:
:mvn/repos { ;; 替换默认Maven Central为企业内部仓库 "central" {:url "http://<企业内部Maven仓库公开组地址>" ;; 如仓库无需认证可删除以下两行 :username :env/MAVEN_REPO_USER :password :env/MAVEN_REPO_PASS} ;; 同步替换Clojars镜像为企业内部源,无对应镜像可删除该项 "clojars" {:url "http://<企业内部Clojars镜像地址>" :username :env/MAVEN_REPO_USER :password :env/MAVEN_REPO_PASS} }
Jenkins构建适配配置
- 若仓库需要认证,在Jenkins流水线中注入
MAVEN_REPO_USER和MAVEN_REPO_PASS两个环境变量即可被deps.edn自动读取,无需硬编码账号密码到配置文件 - 若不想修改项目代码,可在Jenkins构建节点的执行用户目录下新建
~/.clojure/deps.edn文件,写入上述仓库配置,全局配置优先级高于项目级配置,会自动覆盖默认依赖源
验证方法
修改完成后执行clj -Spath命令,若没有出现连接报错则说明依赖源配置生效,可正常执行后续构建操作。
内容的提问来源于stack exchange,提问作者Prem Sahu
相关产品推荐
相关产品推荐

