0
我沒有在網上一些研究,並最終結束了這個設置爲.travis.yml:TravisCI行家部署OSSRH快照失敗,因爲未經授權
language: java
jdk: oraclejdk8
install: mvn install -B
before_script:
- openssl aes-256-cbc -K $encrypted_ea1244aca28a_key -iv $encrypted_ea1244aca28a_iv -in codesigning/codesigning.asc.enc -out codesigning/codesigning.asc -d
- gpg --fast-import codesigning/codesigning.asc
script:
- mvn test -B
- if [ $TRAVIS_TEST_RESULT -eq 0 ]; then
mvn deploy -B -P sign,build-extras --settings codesigning/mvnsettings.xml;
fi
env:
global:
- secure: encrypted env-variable OSSRH_USER
- secure: encrypted env-variable OSSRH_PASS
- secure: encrypted env-variable GPG_KEY_NAME
- secure: encrypted env-variable GPG_PASSPHRASE
文件夾中提到的文件代碼簽名是在地方
內容的mvnsettings.xml
<settings>
<servers>
<server>
<id>ossrh</id>
<username>${env.OSSRH_USER}</username>
<password>${env.OSSRH_PASS</password>
</server>
</servers>
<profiles>
<profile>
<id>gpg</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.keyname>${env.GPG_KEY_NAME}</gpg.keyname>
<gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
的樣例項目com.sikulix.tigervnc
我相信,在部署工作,因爲我與詹金斯相同的證書和簽名密鑰本地(東西是OSSRH)進行測試。
如果我運行TravisCI此設置中,當試圖上傳到OSSRH與
Failed to deploy artifacts: Could not transfer artifact
com.sikulix:sikulix2tigervnc:jar.asc:2.0.0-20170413.085320-8
from/to ossrh (https://oss.sonatype.org/content/repositories/snapshots):
Failed to transfer file: https://oss.sonatype.org/content/repositories/snapshots/com/sikulix/sikulix2tigervnc/2.0.0-SNAPSHOT/sikulix2tigervnc-2.0.0-20170413.085320-8.jar.asc.
Return code is: 401, ReasonPhrase: Unauthorized.
我有不同的設定做出各種測試誤差,並使用Maven的-X選項和用於GPG -K失敗檢查鑰匙和ENV檢查實際environent - 一切都因爲它應該是:
- OSSRH用戶ID是正確解密
- 密碼沒有在調試日誌中顯示,所以我不得不相信這是確定(不包含bash的任何違規字符),但在環境變量
- 正確的,關鍵是在正確
- 進口簽名步驟密鑰名稱和密碼是正確的
我甚至在各種設置中嘗試過Nexus分段插件:沒有成功。
因爲我真的想完全切換到TravisCI與SikuliX version 2我真的很感激任何幫助。