我正在尝试创建自己的Jenkins图像,跳过向导并通过环境变量设置管理员密码。
我尝试设置状态以禁用它(取自Mesosphere Jenkins服务),但这不起作用:
# disable first-run wizard
RUN echo 2.0 > ${JENKINS_STAGING}/jenkins.install.UpgradeWizard.state
如何跳过向导并通过变量设置管理员密码而不是自动生成的密码?
设置管理员密码的正确方法是使用参数启动Jenkins:
java ${JVM_OPTS} \
-Dhudson.udp=-1 \
-Djava.awt.headless=true \
-Dhudson.DNSMultiCast.disabled=true \
-Djenkins.install.runSetupWizard=false \
-jar ${JENKINS_FOLDER}/jenkins.war \
${JENKINS_OPTS} \
--httpPort=${PORT1} \
--webroot=${JENKINS_FOLDER}/war \
--ajp13Port=-1 \
--httpListenAddress=0.0.0.0 \
--ajp13ListenAddress=0.0.0.0 \
--argumentsRealm.passwd.admin=${PASSWORD} \
--argumentsRealm.roles.user=admin \
--argumentsRealm.roles.admin=admin \
--prefix=${JENKINS_CONTEXT}
在这种情况下,--argumentsRealm *参数是最重要的,因为它们为admin设置角色和密码。