一、问题描述
Jenkins 已集成到 CAS,当 CAS 停掉后,访问 Jenkins 会一直提示找不到 CAS 链接,无法正常使用。
二、解决方法
修改 Jenkins 的配置文件 config.xml,将 useSecurity 的 true 改为 false:
vi /home/jenkins/config.xml
<useSecurity>true</useSecurity>
改为:
<useSecurity>false</useSecurity>
改后完整的 config.xml 文件内容如下:
<?xml version='1.1' encoding='UTF-8'?>
<hudson>
<disabledAdministrativeMonitors/>
<version>2.306</version>
<numExecutors>2</numExecutors>
<mode>NORMAL</mode>
<useSecurity>false</useSecurity>
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="org.jenkinsci.plugins.cas.CasSecurityRealm" plugin="cas-plugin@1.6.1">
<casServerUrl>http://192.168.1.58:8080/cas/</casServerUrl>
<casProtocol class="org.jenkinsci.plugins.cas.protocols.Cas30Protocol">
<authoritiesAttribute>groups,roles</authoritiesAttribute>
<fullNameAttribute>cn</fullNameAttribute>
<emailAttribute>mail</emailAttribute>
<proxyEnabled>false</proxyEnabled>
<proxyAllowAny>false</proxyAllowAny>
<proxyAllowList></proxyAllowList>
<jsonEnabled>false</jsonEnabled>
</casProtocol>
<forceRenewal>false</forceRenewal>
<enableSingleSignOut>true</enableSingleSignOut>
<enableRestApi>false</enableRestApi>
<enableLogoutRedirect>true</enableLogoutRedirect>
</securityRealm>
<disableRememberMe>false</disableRememberMe>
<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
<workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULL_NAME}</workspaceDir>
<buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
<markupFormatter class="hudson.markup.EscapedMarkupFormatter"/>
<jdks>
<jdk>
<name>jdk1.8</name>
<home>/opt/java/openjdk</home>
<properties/>
</jdk>
</jdks>
<viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
<myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
<clouds/>
<quietPeriod>5</quietPeriod>
<scmCheckoutRetryCount>0</scmCheckoutRetryCount>
<views>
<hudson.model.AllView>
<owner class="hudson" reference="../../.."/>
<name>all</name>
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
</hudson.model.AllView>
</views>
<primaryView>all</primaryView>
<slaveAgentPort>50000</slaveAgentPort>
<label></label>
<crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
<excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
</crumbIssuer>
<nodeProperties/>
<globalNodeProperties/>
</hudson>
然后重启 Jenkins:
docker restart jenkins