Running an Advanced Command-Line Installation

5 minute readReference

The advanced command-line installation lets you install individual CloudBees CD/RO components such as a CloudBees CD/RO server, built-in database, web server, repository server, or CloudBees CD/RO tools on specific machines. You can also change the default installation settings to accommodate your environment. Review Before You Install CloudBees CD/RO before performing this procedure.

  1. Enter the following command to make the installer file executable:

    chmod +x ./CloudBeesFlow-<version>
  2. Do one of the following to start the installation.

    • For installations with root or sudo privileges, enter:

      ./CloudBeesFlow-x64-<version>
    • For installations with root or sudo privileges and the X Window System, override the installer GUI by entering:

      ./CloudBeesFlow-x64-<version> --mode console
    • For non-root/non- sudo installations, enter:

      ./CloudBeesFlow-x64-<version> --mode console --nonRoot

      After this command, enter Y at the following message:

      Do you want to proceed installation as non-root user? [n/Y]

      The following prompt appears:

      Copyright (c) 2010-2019, CloudBees, Inc. All rights reserved. This will install CloudBees CD on your computer. Continue? [n/Y]
  3. Enter y to continue the installation.

    The following prompt appears:

    Specify the type of setup you would like to perform: expressServer, expressAgent, or advanced. [expressServer]
  4. Enter advanced.

    The following prompt appears:

    Specify the install directory (for program files and binaries). [/opt/cloudbees/sda]
  5. Press Enter to accept the default or enter another directory.

    The following prompt appears:

    Install a CloudBees CD/RO server? [n/Y]
  6. Select the servers that you want to install on the current machine.

    For more information, see Architecture .

    If you want to install only the CloudBees CD/RO tools, enter n for every server option. The CloudBees CD/RO tools are installed automatically even if you choose not to install any server software.
    1. Enter y to install a CloudBees CD/RO server.

      The following prompt appears:

      Install a built-in database? [n/Y]
    2. Choose one of the following options:

      • Enter y to install a built-in database.

        This is not recommended for production systems. include::ROOT:partial$install-trad/built-in-db.adoc[]

      • Enter n if you plan to use an external database.

        For more information, see External Database Configuration. If you plan to use MySQL, see Installing the MySQL JDBC Driver.

        The following prompt appears:

        Install an Apache web server? [n/Y]
    3. Enter y to install an Apache web server.

      The following prompt appears:

      Install a CloudBees CD/RO repository server? [n/Y]
    4. Enter y to install a CloudBees CD/RO repository server.

      The following prompt appears:

      CloudBees Software Delivery Automation server has the ability to send information about its use, which helps to make CloudBees Software Delivery Automation better and more intuitive. Telemetry collects anonymized aggregated information and does not collect any identifying information like user names. For privacy reasons, you can turn off the ability to send telemetry data to CloudBees. Send usage data [n/Y] y
      The Send usage data option appears for new installations or upgrades from versions that didn’t have the ability to send usage data (v10.0 and earlier).

    Review information about sending data. Enter n if you do not wish to participate. Otherwise, telemetry data is sent by default.

  7. Press Enter to record your telemetry preference and continue.

    The folowing prompt appears:

    Specify the install directory (for program files and binaries). [/opt/cloudbees/sda]
    Any combination of the following installation screens will appear depending on which servers you install.
  8. Press Enter to accept the default installation directory, or enter a new installation directory path for program files and binaries.

    The following prompt appears:

    Specify the data directory (for configuration files and logs). [/opt/cloudbees/sda]
  9. Press Enter to accept the default installation directory, or enter a new installation directory path for configuration files and logs.

    The software displays prompts for server port values. The prompts that appear will vary depending on the server software you previously selected to install.

  10. Press Enter to accept the default port values, or enter alternate port numbers if you need to specify a different port value.

    The following prompt only appears if you are installing an Apache web server. If you are not installing a web server, you will see a prompt to enter a user name.

    Specify the host name that users will type in their browser to access the web server. [hostName]
  11. Enter a web server host name if you are installing an Apache web server.

    This is the host name users need to type into their browser to access the CloudBees CD/RO web server.

    The following prompt appears:

    Specify the user the server, web, and/or repository will run as. []
  12. Enter a user name if you are installing a CloudBees CD/RO, web, or repository server.

    This is the user who owns the CloudBees CD/RO server, repository server, and web server processes. For example, you might enter build.

    The following prompt appears:

    Specify the group the server, web, and/or web repository will run as. []
  13. Enter a group name if you are installing a CloudBees CD/RO, web, or repository server.

    This is the group who owns the CloudBees CD/RO server, repository server, and web server processes. For example, you might enter build.

    The following message only appears if an agent is installed on this machine. An agent is required on this machine whenever you install a web or repository server and is therefore automatically installed. For details about why local agents are required on web server machines, see Before You Install CloudBees CD/RO Agents .

    You should not use these local agents to run jobs.
    Use the same service account for the agent (not recommended for production systems)? [y/N]

    For security reasons in production environments, you might want to use a separate user and group for the agent service because the server service has permission to read the key file:

    • Linux: installation-directory/conf/passkey

    • Windows: installation-directory\conf\passkey

    The key file is used to decrypt passwords stored in CloudBees CD/RO. Using a different user and group for the agent service ensures that a process running on the agent cannot gain access to the key file.

  14. Choose one of the following options if an agent is automatically installed with the server:

    • Enter y to use the same user and group for the agent service. This is not recommended for production systems.

    • Enter n to use a separate user and group for the agent service.

      The following prompt appears:

      Specify the user the agent will run as. []
  15. Enter a user name. This is the user who owns the CloudBees CD/RO agent process.

    The user/group that the agent runs as must have permission to write to the $INSTALL_DIRECTORY/log directory. If you specify root, enter y when the following confirmation appears:

    It is not recommended to use the 'root' user for running the agent process. Please confirm if you would like to proceed [y/N]

    The following prompt appears:

    Specify the group the agent will run as. []
  16. Enter a group name. This is the group that owns the CloudBees CD/RO agent process.

    Several prompts appear that ask you to specify the TLS or SSL protocols for the agent, CloudBees CD/RO server, and repository server components:

    Specify SSL/TLS protocols for Agent component [TLSv1,TLSv1.1,TLSv1.2] Specify SSL/TLS protocols for Server component [TLSv1,TLSv1.1,TLSv1.2] Specify SSL/TLS protocols for Repository component [TLSv1,TLSv1.1,TLSv1.2]
  17. Answer the security protocol prompts as follows.

    For each component, you can specify a comma-separated list of any combination of TLSv1, TLSv1.1, TLSv1.2, and SSLv2Hello.

    The default security configurations are as follows:

    • First-time CloudBees CD/RO installations: TLSv1, TLSv1.1, and TLSv1.2 are enabled

    • Existing CloudBees CD/RO installations: TLSv1, TLSv1.1, TLSv1.2, and SSLv2Hello are enabled

      The default security configuration for upgrades is inherited from the existing installation being upgraded.

      CloudBees recommends removing the SSL 2.0 Client Hello or SSLv2Hello protocol from your security configurations for all components.

    • Upgrade agents older that fall into this category for security reasons:

      • Windows, Linux: 6.0.3 or older; 6.2 or older

      • Mac OS: 8.4 or older

    • If this warning appears on the Automation Platform UI:

      Note: We recommend removing `SSL 2.0 Client Hello` format from server configuration and upgrade older agents as indicated on the Cloud/Resources Page to avoid security risk.

      then enter the following command on the CloudBees CD/RO server:

      $ ecconfigure --serverTLSEnabledProtocol=TLSv1.2

      The following message appears:

      Installing CloudBees CD/RO...

      CloudBees CD/RO is installed on the machine. When the installation completes successfully, a message that contains the line CloudBees CD/RO <version> was successfully installed! appears.

  18. For non-root/non-sudo Linux installations, configure autostart for the CloudBees CD/RO services.