Osc*_*sso 18 amazon-s3 ivy amazon-web-services sbt
如此处所述,可以使用maven部署到Amazon S3.
我们如何用sbt做同样的事情,即用sbt发布到S3?
tpu*_*der 22
这是我写给发布到Amazon S3的SBT插件:https: //github.com/frugalmechanic/fm-sbt-s3-resolver
它与已经提到的sbt-s3-resolver类似,但是Apache 2.0 Licensed(而不是AGPL)并且可以在Maven Central上使用.它也更容易使用和配置.
publishTo := Some("S3" at "s3://s3-us-west-2.amazonaws.com/YOUR_BUCKET/repo")
Run Code Online (Sandbox Code Playgroud)
resolvers += "S3" at "s3://s3-us-west-2.amazonaws.com/YOUR_BUCKET/repo"
Run Code Online (Sandbox Code Playgroud)
只需将其添加到project/plugins.sbt文件中:
addSbtPlugin("com.frugalmechanic" % "fm-sbt-s3-resolver" % "0.19.0")
Run Code Online (Sandbox Code Playgroud)
有多种方法可以配置GitHub页面上记录的AWS凭据.
一种方法是创建一个〜/ .sbt/.s3credentials,如下所示:
accessKey = XXXXXXXXXX
secretKey = XXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
插件将自动获取凭证文件,您将能够解析和发布.
这个问题已经过时了,所以你可能已经找到了一些解决方法,但这个答案可能会对其他人有用.
我们的团队也遇到了这样的问题,我们刚刚创建了一个sbt-plugin:sbt-s3-resolver.我们暂时使用它似乎做得很好.它可以
请查看自述文件中的使用说明,如果缺少某些内容,请打开问题.
我还没有尝试过,但是通过查看 api 文档,这可能有效:
project/lib/
,或放入"org.springframework.aws" % "spring-aws-ivy" % "1.0"
中project/build.sbt
)。将其添加到您的 build.sbt 中:
{
val s3r = new org.springframework.aws.ivy.S3Resolver
// call its setters to configure it, see api docs above etc.
publishTo := Some(new sbt.RawRepository(s3r)
}
Run Code Online (Sandbox Code Playgroud)再说一次,我没有尝试过这个,但由于publishTo
is a SettingKey[Option[Resolver]]
, and RawRepository
extendsResolver
并接受 an org.apache.ivy.plugins.resolver.DependencyResolver
, and S3Resolver
Implements DependencyResolver
,我猜它会起作用。
毕竟,sbt 实际上只是 Apache Ivy 的一个包装器。