我们运行一个神器服务器,它已移动到另一个端点(artifactory-b.example.com).为了使其向后兼容,旧的url(artifactory-a.example.com)被代理到新的url().
但是,使用sbt发布时会使用.ivy2/.credentials具有以下布局的文件
realm=Artfactory realm
host=artifactory-a.example.com
user=artifactory-user
password=P4ssw0rdH4sh
Run Code Online (Sandbox Code Playgroud)
但是,我想改变它,所以新的构建将发布到正确的端点
realm=Artfactory realm
host=artifactory-d.example.com
user=artifactory-user
password=P4ssw0rdH4sh
Run Code Online (Sandbox Code Playgroud)
是否可以在一个文件中添加多个域?那个sbt将尝试第一个,如果它不起作用(Forbidden | Not Found)第二个?所以我的.ivy2/.credentials文件看起来像
# old instance for backwards compatibility
realm=Artfactory realm
host=artifactory-a.example.com
user=artifactory-user
password=P4ssw0rdH4sh
# New spiffy instance
realm=Artfactory realm
host=artifactory-b.example.com
user=artifactory-user
password=P4ssw0rdH4sh
Run Code Online (Sandbox Code Playgroud)
任何人有这方面的经验,或者我必须使用两个文件,并将我的仓库中的引用更改为第二个文件(即.ivy2/.credentials2).
PS领域位于文件中,因为多个repos使用这些凭据进行发布.这里非常重要的是,领域具有相同的名称,只有不同的端点(与此帖不同):
可能在凭证文件中没有多个领域,但是您可以在多个凭证文件中拥有多个领域,每个领域都在一个凭证文件中.
在~/.ivy/.credentials将是:
realm=Sonatype Nexus Repository Manager
host=mvn.nexus1.org
user=readonly
password=readonlyPass
Run Code Online (Sandbox Code Playgroud)
并将在~/.ivy/.credentials.deploy:
realm=Sonatype Nexus Repository Manager
host=deploy.nexus2.org
user=deployment
password=deploymentPass
Run Code Online (Sandbox Code Playgroud)
那么你将在你的build.sbt:
credentials += Credentials(Path.userHome / ".ivy2" / ".credentials")
credentials += Credentials(Path.userHome / ".ivy2" / ".credentials.deploy")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1844 次 |
| 最近记录: |