我在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配置的了解很差。我如何解决使用gradle:jdk8的配置问题?
答案 0 :(得分:1)
keytool -importcert
命令的确有一个-cacerts
选项,但我从未见过它与-trustcacerts
结合使用。
文档中确实提到:
-cacerts cacerts
在cacerts密钥库上操作。
此选项等效于“-keystore path_to_cacerts -storetype type_of_cacerts
”。如果将
-keystore
或-storetype
选项与-cacerts
选项一起使用,将报告错误。
答案 1 :(得分:1)
我在将'keytool import crt to jks'here进行谷歌搜索时找到了解决方法:
keytool -importcert -file my.cert.location/my.cert.crt -storepass changeit -keystore $JAVA_HOME/jre/lib/security/cacerts -alias mycert1
-keystore必须是默认的Java密钥库位置– $ JAVA_HOME / jre / lib / security / cacerts。它适用于gradle:jdk8。我可以使用这些keytool选项进行构建和发布。此命令将.crt证书添加到默认的Java证书存储中。