我已經構建了一個OSS項目https://github.com/datlinq/scalafiniti Travis-ci管道完美地工作,但最終完成了一步。sbt發佈使用pgpPassphrase通過Travis CI在Sonatype Nexus上簽名
我跟着這些指南:
- http://www.scala-sbt.org/0.13/docs/Using-Sonatype.html
- http://www.scala-sbt.org/sbt-pgp/usage.html
- https://github.com/xerial/sbt-sonatype
本地我得到了做工精細的所有步驟,實際上發佈到了Nexus。
在.travis.yml
我導入密鑰之前安裝(在travis.ci ENV加密)
before_install:
- echo "$PGP_SECRET" | base64 --decode | gpg --import
- echo "$PGP_TRUST" | base64 --decode | gpg --import-ownertrust
的$PGP_PASS
也被加密特拉維斯env和可用於build.sbt
我檢查它實際上得到此命令中的鍵
pgpPassphrase := sys.env.get("PGP_PASS").map(_.toArray)
現在如果Travis運行命令
sbt publishSigned
它仍然提示我的鑰匙
你需要一個密碼來解鎖用戶密鑰口令: 「com.datlinq.datalabs(主要爲Datalabs OSS)」 2048位RSA密鑰,ID 305DA15D,創造了2017年9月1日
輸入密碼:
我不知道我應該做的,使這項工作
這個時刻被捕獲:
代碼: https://github.com/datlinq/scalafiniti/tree/0d8a6a92bf111bae2a1081b17005a649f8fd00c9 生成日誌: https://travis-ci.org/datlinq/scalafiniti/builds/271328874