Install Continuous Delivery

After installing Bolt, specify your initial configuration setting and deploy Continuous Delivery for the first time.

If you have already installed Continuous Delivery and would like to add a license file to it, please see Add or update a license key.
Before you begin:

Unlike version 4.x, Continuous Delivery 5.x uses Bolt for installation, configuration, and administration instead of PAM. To install Continuous Delivery, you need a Forge API token to download the cd4peadm module.

Before migrating, please make sure the system you plan to install Bolt on has internet access as well as SSH access to the system on which you intend to install Continuous Delivery 5.x. In addition, because Bolt is installed on one or more systems and used to manage one centralized Continuous Delivery installation, it may be a good idea to maintain the Bolt project in its own VCS repo.

If noexec is set on the /tmp filesystem on the system on which you intend to install Continuous Delivery 5.x, you need to use Bolt’s tmpdir setting in inventory.yaml to point at a directory on a filesystem that does not have noexec set.

  1. Install Bolt version 3.27.4 or later on a jumphost. This can be the intended Continuous Delivery 5.x host, or any other system.
  2. Create the Continuous Delivery Bolt project and switch to that directory.
    mkdir cd4pe-bolt-project 
    cd cd4pe-bolt-project
    bolt project init cd4pe_bolt_project
  3. Edit the bolt-project.yaml file to specify the module to install and your Forge API token. Change the modules and module-install sections to:
    # bolt-project.yaml
    modules:
      - name: puppetlabs/cd4peadm
        version_requirement: 5.y.z
    
    module-install:
      forge:
         authorization_token: 'Bearer <your API token>'
         baseurl: https://forgeapi.puppet.com
    
  4. Optional: Enable log append mode for Bolt logging to simplify debugging efforts in the case of problems. Add the following to bolt-project.yaml:
    # bolt-project.yaml
    log:
      bolt-debug.log:
        append: true
        level: debug			
    Enabling logging causes bolt-debug.log to grow over time. You can safely delete this file to free space as needed.
  5. Install the cd4peadm module using the command: bolt module install.
  6. Create an inventory.yaml file with the connection information for the host on which Continuous Delivery 5.x is to be installed. For example:
    ---
    groups:
      - name: cd4pe-nodes
        config:
          transport: ssh
          ssh:
            host-key-check: false
            native-ssh: true
            ssh-command: <Path to SSH command>
            user: root
        targets:
          - cd4pev5.<yourcompany.com>

    If you are installing on a localhost, use the following inventory.yaml instead:

    ---
    groups:
      - name: cd4pe-nodes
        config:
          transport: local
          local:
            bundled-ruby: false
        targets:
          - uri: localhost

    If you need to change your resolvable hostname for some reason, see Update your resolvable hostname.
  7. Optional: If you have a license file, create a directory named files and copy the license file to files/license.lic. A license file is required to access the premium features of Continuous Delivery.
  8. Install Continuous Delivery on the target host using: bolt plan run cd4peadm::install.
    If you prefer to install Continuous Delivery noninteractively, instead of using bolt plan run cd4peadm::install do the following:
    1. Generate a configuration file manually using:
         bolt plan run cd4peadm::generate_config \ 
         admin_password=perforce! \
         inventory_aio_target="cd4pe_host" \
         resolvable_hostname="cd4pev5.mycompany.net"

      This generates a configuration file at data/common.yaml. If you would like to see all of the configuration options, use bolt plan show cd4peadm::generate_config.

    2. Install Continuous Delivery on the target host using: bolt plan run cd4peadm::install_from_config.
Results
You can now log into the application at the resolvable hostname with the admin username and password you provided during the installation.