Мы пытаемся импортировать сертификат в хранилище ключей Java, которое используется нашим мастером Jenkins, который подписан нашим CA. Мы используем следующий шаблон CloudFormation для Jenkins HA Master & Agents. AMI является официальным Amazon Linux 2.
Вот что я до сих пор собирал, чтобы добавить в шаблон CloudFormation:
'/opt/pull_sonarqube_cert.sh':
content: |
#!/bin/bash -e
openssl s_client -connect sonarqube.aws.redacted.com:443 2>&1 < /dev/null | sed -n '/-----BEGIN/,/-----END/p' > /opt/SQ_cert.pem
export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64"
PATH=$JAVA_HOME/bin:$PATH
export JENKINS_HOME="/var/lib/jenkins"
mkdir $JENKINS_HOME/keystore/
cp $JAVA_HOME/jre/lib/security/cacerts $JENKINS_HOME/keystore/
keytool -import -noprompt -alias SQ01 -keystore $JENKINS_HOME/keystore/cacerts -file /opt/SQ_cert.pem -storepass redacted
echo 'JAVA_ARGS="$JAVA_ARGS -Djavax.net.ssl.trustStore=/var/lib/jenkins/keystore/cacerts"' >> /etc/sysconfig/jenkins
mode: '000755'
owner: root
group: root
- Будет ли это работать? Должны ли мы не определить JAVA_HOME и использовать
изменение команды file ?
- Что можно сделать, чтобы отделить это
лучше?