[Jenkins] Fixing work v2 with LDAP plugin
* Install LDAP plugin * Update config.xml * More accurate search in get_api_token.sh Change-Id: I27f4e99a69e492d303e1f5a6653abcdb473ef7ee
This commit is contained in:
parent
07059c9d22
commit
f7ce50c309
@ -132,7 +132,11 @@ Methods:
|
||||
- $this.instance.putHieraData($data)
|
||||
|
||||
- $resources: new(sys:Resources)
|
||||
- $._environment.reporter.report($this, 'Connecting Jenkins to OpenLDAP server')
|
||||
- $._environment.reporter.report($this, 'Installing jenkins LDAP plugin...')
|
||||
- $template: $resources.yaml('InstallPlugins.template').bind({plugins => ldap})
|
||||
- $.instance.agent.call($template, $resources)
|
||||
- $._environment.reporter.report($this, 'LDAP plugin is installed.')
|
||||
- $._environment.reporter.report($this, 'Connecting Jenkins to OpenLDAP server...')
|
||||
- $template: $resources.yaml('ConnectLDAP.template')
|
||||
- $.instance.agent.call($template, $resources)
|
||||
- $._environment.reporter.report($this, 'Jenkins is connected to OpenLDAP server!')
|
||||
|
@ -5,20 +5,30 @@
|
||||
<numExecutors>2</numExecutors>
|
||||
<mode>NORMAL</mode>
|
||||
<useSecurity>true</useSecurity>
|
||||
<securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap@1.6">
|
||||
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
|
||||
<denyAnonymousReadAccess>false</denyAnonymousReadAccess>
|
||||
</authorizationStrategy>
|
||||
<securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap@1.12">
|
||||
<server>ldap://<%= openldap_ip %>:389</server>
|
||||
<rootDN>dc=<%= domain.split(".")[0] %>,dc=<%= domain.split(".")[1] %></rootDN>
|
||||
<inhibitInferRootDN>false</inhibitInferRootDN>
|
||||
<userSearchBase></userSearchBase>
|
||||
<userSearch>uid={0}</userSearch>
|
||||
<groupMembershipStrategy class="jenkins.security.plugins.ldap.FromGroupSearchLDAPGroupMembershipStrategy">
|
||||
<filter></filter>
|
||||
</groupMembershipStrategy>
|
||||
<managerDN>cn=<%= admin_name %>,dc=<%= domain.split(".")[0] %>,dc=<%= domain.split(".")[1] %></managerDN>
|
||||
<!-- NOTE: need to store managerPassword in base64 encoded, otherwise Jenkins can't correctly parse it -->
|
||||
<% require 'base64' %>
|
||||
<managerPassword><%= Base64.encode64(admin_password) %></managerPassword>
|
||||
<managerPassword><%= Base64.encode64(admin_password) -%></managerPassword>
|
||||
<disableMailAddressResolver>false</disableMailAddressResolver>
|
||||
<displayNameAttributeName>displayname</displayNameAttributeName>
|
||||
<mailAddressAttributeName>mail</mailAddressAttributeName>
|
||||
<userIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
|
||||
<groupIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
|
||||
</securityRealm>
|
||||
<disableRememberMe>false</disableRememberMe>
|
||||
<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy\$DefaultProjectNamingStrategy"/>
|
||||
<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
|
||||
<workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULLNAME}</workspaceDir>
|
||||
<buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
|
||||
<markupFormatter class="hudson.markup.EscapedMarkupFormatter"/>
|
||||
@ -33,12 +43,14 @@
|
||||
<name>All</name>
|
||||
<filterExecutors>false</filterExecutors>
|
||||
<filterQueue>false</filterQueue>
|
||||
<properties class="hudson.model.View\$PropertyList"/>
|
||||
</hudson.model.AllView>
|
||||
</views>
|
||||
<primaryView>All</primaryView>
|
||||
<slaveAgentPort>0</slaveAgentPort>
|
||||
<slaveAgentPort>-1</slaveAgentPort>
|
||||
<label></label>
|
||||
<crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
|
||||
<excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
|
||||
</crumbIssuer>
|
||||
<nodeProperties/>
|
||||
<globalNodeProperties/>
|
||||
</hudson>
|
||||
</hudson>
|
@ -3,14 +3,14 @@
|
||||
username="%USERNAME%"
|
||||
password="%PASSWORD%"
|
||||
jenkins_host="%JENKINS_HOST%"
|
||||
cmd="curl --user '$username:$password' http://${jenkins_host}:8080/me/configure | grep -o '\"[0-9a-f]\{32\}\"' | cut -d '\"' -f 2"
|
||||
cmd="curl --user '$username:$password' http://${jenkins_host}:8080/me/configure | grep apiToken | grep -o '\"[0-9a-f]\{32\}\"' | cut -d '\"' -f 2"
|
||||
|
||||
# Jenkins might not be ready at this point.
|
||||
# Retry logic is used here.
|
||||
token=$(eval $cmd)
|
||||
tries=10
|
||||
|
||||
while [ -z $token ]; do
|
||||
while [ -z "$token" ]; do
|
||||
sleep 20
|
||||
token=$(eval $cmd)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user