作为 Apache Ant 执行的一部分,我需要使用咒语下载一组工件,如下所示,使用
resolve
和 retrieve
。
工件位于 Maven 存储库
这是“私人”项目的一部分。因此,我需要使用经过身份验证的访问来检索文物。
<ivy:resolve>
<dependency org="org.some"
name="artefact"
rev="0.0.1-SNAPSHOT" />
</ivy:resolve>
<ivy:retrieve />
我需要如何配置此类访问权限?
我有
阅读我需要
basic auth
并基于 sbt
上的评论。
元素有四个属性:
host
:主持人姓名
realm
:领域名称(可选)
username
:用户名
passwd
:密码
realm
可以省略,因为它是由Gitlab自动设置的。
username
是
自定义HTTP标头令牌类型名称之一,在下面的示例中它是
Private-Token
。
passwd
是私有代币的价值。
host
必须是gitlab主机的DNS名称,下面是
gitlab.com
,有两个maven2兼容的解析器。第一个指没有 root
,因此默认为
${ivy.ibiblio.default.artifact.root}
,即 Maven Central。第二个指向私有存储库。 可以增强这些设置以利用项目 ID 的插值
https://gitlab.example.com/api/v4/projects/<project_id>/packages/maven
通过Ivy Properties
和Ant环境导入使用
预定义变量
CI_PROJECT_ID
,如所示。
<ivysettings>
<settings defaultResolver="local-chain" />
<credentials host="gitlab.com"
username="Private-Token" passwd="glpat-29Z9xUf-ns4RytWz-nV6" />
<resolvers>
<ibiblio name="maven2" m2compatible="true" />
<ibiblio name="gitlab" m2compatible="true"
root="https://gitlab.com/api/v4/projects/53177094/packages/maven" />
<chain name="local-chain">
<resolver ref="maven2" />
<resolver ref="gitlab" />
</chain>
</resolvers>
</ivysettings>