Jenkins Master

Jenkins Master

Jenkins master as a head of CI systems handles all tasks related to the build system being responsible for its slaves connectivity, users authentication, and job launches.

Deployment

Before you deploy the Jenkins master, perform the following tasks:

  1. Verify that the Puppet Master is deployed and DNS solution is working.

  2. Consider using the Hiera role. As an example, see the jenkins_master role included in the fuel-infra/puppet-manifests repository.

  3. Set the following parameters for the Hiera role on the Jenkins Master:

    ---
    classes:
       - '::fuel_project::jenkins::master'
    
    jenkins::master::jenkins_ssh_private_key_contents: |
      -----BEGIN RSA PRIVATE KEY-----
      MIIEogIBAAKCAQEAzVoDH+iIrEmNBytJqR5IFYUcR7A6JvNTyelt4wIHEgVmNSs/
      9ry/fEivdaaYGJpw2tri23IWNl5PXInnzKZu0KuRDuqEjyiSYQA8gmAF/+2KJmSM
      OCj+QIRutLnHbUyg9MvExSveWrXqZYHKvSS0SJ4a3YP75yS2yp1e5T9YOXX2Na5u
      ...
      LJnYPGIQsEziRtqpClCz9O6qyzPagom13y+s/uYrk9IKzSzjNvHKqzAFIF57paGo
      3TWXEjB/RazdPB0PWfc3kjruz8IhDsLKQYPX+h8JuLO8ZL20Mxo7o3bs/GQnDrw1
      g/PCKBJscu0RQxsa16tt5aX/IM82cJR6At3tTUyUpiwqNsVClJs=
      -----END RSA PRIVATE KEY-----
    
    jenkins::master::jenkins_ssh_public_key_contents: |
      'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNWgMf6IisSY0HK0mpHkgVhRxHs
      Dom81PJ6W3jAgcSBWY1Kz/2vL98SK91ppgYmnDa2uLbchY2Xk9ciefMpm7Qq5EO6oS \
      ...
      KnV7lP1g5dfY1rm6bum7P+Jwf2tdTOa0b5ucK/+iWVbyPO4Z2afPpblh4Vynfe2wMz \
      zpGAp3n5MwtH2EZmSXm/B6/CkgOFROsmWH8MzQEvNBGHhw+ONR9'
    
  4. Set proper service FQDN of the Jenkins Master instance:

    fuel_project::jenkins::master::service_fqdn: 'jenkins-master.test.local'
    
  5. Adjust the security model of the Jenkins after the deployment:

    jenkins::master::security_model: 'unsecured' || 'password' || 'ldap'
    

    Note

    The password is the most basic one, when Jenkins has no access to the LDAP and you still require some authorization to be enabled in the Jenkins.

To deploy the Jenkins Master, complete the following steps:

  1. Install base Ubuntu 14.04 with SSH service and set appropriate FQDN.

  2. Install puppet agent package:

    apt-get update; apt-get install -y puppet
    
  3. Enable puppet agent:

    puppet agent --enable
    
  4. Run the Jenkins Master deployment:

    FACTER_ROLE=jenkins_master FACTER_LOCATION=us1 puppet agent -tvd \
    --server puppet-master.test.local --waitforcert 60
    

The last action requests the client’s certificate. To continue the puppet run, the certificate should be signed from the Puppet Master.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

Contents