Azure DevOps 管道期间的 SBT 凭据

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

我正在尝试使用 Azure 管道发布 SBT 版本 (Scala)。 在本地,我可以使用

sbt publish
和 build.sbt 中的以下几行轻松完成此操作:

publishTo := Some("name-of-feed" at "https://....pkgs.visualstudio.com/...")
credentials += Credentials(Path.userHome / ".sbt" / ".credentials")

但是在 Azure 上我的管道失败了,因为它没有我本地的 .sbt/.credentials 文件。

在管道中获取凭据以便发布构建的正确方法是什么? 我不想签入我的个人令牌,所以必须有一些更优雅的方式。

我看到 Azure 提供了一个任务

MavenAuthenticate
如果您使用 Maven 发布。但我不能用它来进行 SBT。 有谁知道怎么做吗?

azure sbt
1个回答
0
投票

简单实用的方法:轻松在构建系统上创建凭据文件。

 # Creates file in .sbt/.credentials that contains the following content:
 # realm=
 # host=pkgs.dev.azure.com
 # user=your-user
 # password=***
  - script: |
      mkdir -p ~/.sbt
      echo "realm=" >> ~/.sbt/.credentials
      echo "host=pkgs.dev.azure.com" >> ~/.sbt/.credentials
      echo "user=your-user" >> ~/.sbt/.credentials
      echo "password=$(SECURE_PASSWORD)" >> ~/.sbt/.credentials
    displayName: Create credentials file

SECURE_PASSWORD 是一个敏感变量,不应公开。

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