如何使用 Ivy 从私有 Gitlab 项目中的 Maven 存储库下载工件?

问题描述 投票:0回答:1

作为 Apache Ant 执行的一部分,我需要使用咒语下载一组工件,如下所示,使用

resolve
retrieve

工件位于 Maven 存储库 这是“私人”项目的一部分。因此,我需要使用经过身份验证的访问来检索文物。 <ivy:resolve> <dependency org="org.some" name="artefact" rev="0.0.1-SNAPSHOT" /> </ivy:resolve> <ivy:retrieve />

我需要如何配置此类访问权限?

我有

阅读我需要
    验证
  • 才能下载的建议。 寻找但未找到使用
  • 自定义 HTTP 标头的方法
  • 寻找但未找到使用
  • 基本身份验证
  • 的方法 特别查看了
  • ivy 设置
  • 凭证
gitlab ant maven-2 ivy
1个回答
0
投票
basic auth

并基于 sbt

 上的 
评论。

credentials

元素有四个属性:

  • 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>

© www.soinside.com 2019 - 2024. All rights reserved.