gpt4 book ai didi

sbt - 如何仅在 Travis 和 sbt 0.13 下的 master 分支上发布

转载 作者:行者123 更新时间:2023-12-03 14:30:54 26 4
gpt4 key购买 nike

我正在使用 Travis 进行持续构建和集成。

after_success:
- sbt publish

虽然我们希望 Travis 构建我们所有的分支和拉取请求,但我们只希望它 publish何时开启 master分支。
publishTo <<= version { (v: String) =>
val nexus = s"asdf"
/* Don't let Travis publish when building pull requests.
* $TRAVIS_PULL_REQUEST == "false" if it's not a pull request. So we wan't publishTo to be
* None when TRAVIS_PULL_REQUEST != false.
*/
if(Try(sys.env("TRAVIS_PULL_REQUEST")).getOrElse("false") != "false")
None
/* Don't let Travis publish except when building master. */
if(Try(sys.env("TRAVIS_BRANCH")).map(_ != "master").getOrElse(false))
None
else if(v.trim.endsWith("SNAPSHOT"))
Some("snapshots" at nexus + "snapshots")
// don't let Travis publish releases, either
else if(Try(sys.env("TRAVIS")).getOrElse("false") == "true")
None
else
Some("releases" at nexus + "releases")
})

这种方法的问题在于 Travis 编译分支两次,因为它在最后一步发布失败。

如何完全阻止 Travis 运行 sbt publish当在非 master分支?

最佳答案

您可能会考虑在发布脚本之外处理此问题:

after_success:
- test $TRAVIS_PULL_REQUEST == "false" && test $TRAVIS_BRANCH == "master" && sbt publish

关于sbt - 如何仅在 Travis 和 sbt 0.13 下的 master 分支上发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20665007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com