我使用gitlab-ci.yml中的下一个配置:
image: gradle:jdk11
stages:
- build
- publish
before_script:
- wget -P /tmp http://www.some.com/SOME.crt
- keytool -importcert -trustcacerts -file /tmp/SOME.crt -cacerts -alias "Some" -storepass changeit -noprompt
一切正常。但是我需要将Java版本更改为8。我将配置编辑为image: gradle:jdk8
并收到错误消息:
....
Illegal option: -cacerts
我对gitlab的配置了解很差。我如何修复配置以使用image gradle:jdk8?
keytool -importcert
命令确实具有keytool -importcert
选项,但我从未见过它与-cacerts
结合使用。
文档中确实提到:
-trustcacerts
在cacerts密钥库上操作。此选项等效于“
-cacerts cacerts
”。如果
-keystore path_to_cacerts -storetype type_of_cacerts
或-keystore
选项与-storetype
选项一起使用,将报告错误。
我在将'keytool import crt转到jks'-cacerts
时找到了解决方案:
here
-密钥库必须是默认的Java密钥库位置– $ JAVA_HOME / jre / lib / security / cacerts。它适用于gradle:jdk8。我可以使用这些keytool选项进行构建和发布。此命令将.crt证书添加到默认的Java证书存储中。