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我真的很感激任何帮助。