Running an Advanced Command-Line Installation

5 minute read

The advanced command-line installation lets you install individual CloudBees Flow components such as a CloudBees Flow server, built-in database, web server, repository server, or CloudBees Flow tools on specific machines. You can also change the default installation settings to accommodate your environment. Review Before You Install CloudBees Flow 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 Flow 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/Electric Cloud/ElectricCommander]

  5. Press Enter to accept the default or enter another directory.

The following prompt appears:

Install a CloudBees Flow server? [n/Y]

  1. 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 Flow tools, enter n for every server option. The CloudBees Flow tools are installed automatically even if you choose not to install any server software.
    1. Enter y to install a CloudBees Flow 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 Flow repository server? [n/Y] `

    4. Enter y to install a CloudBees Flow repository server.

      The following prompt appears:

      Specify the install directory (for program files and binaries). [/opt/Electric Cloud/ElectricCommander]

      Any combination of the following installation screens will appear depending on which servers you install.
  2. 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/Electric Cloud/ElectricCommander]

  1. 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.

  1. 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]

  1. 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 Flow web server.

    The following prompt appears:

    Specify the user the server, web, and/or repository will run as. []

  2. Enter a user name if you are installing a CloudBees Flow, web, or repository server.

    This is the user who owns the CloudBees Flow 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. []

  1. Enter a group name if you are installing a CloudBees Flow, web, or repository server.

    This is the group who owns the CloudBees Flow 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 Flow 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 ( include::ROOT:partial$install-trad/passkey-dir.adoc[]). The key file is used to decrypt passwords stored in CloudBees Flow. 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.
  1. 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. []

  1. Enter a user name. This is the user who owns the CloudBees Flow 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. []

  1. Enter a group name. This is the group that owns the CloudBees Flow agent process.

Several prompts appear that ask you to specify the TLS or SSL protocols for the agent, CloudBees Flow 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]

  1. 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 Flow installations: TLSv1, TLSv1.1, and TLSv1.2 are enabled

    • Existing CloudBees Flow installations: TLSv1, TLSv1.1, TLSv1.2, and SSLv2Hello are enabled

      The default security configuration for upgrades from version 8.5 and newer versions is inherited from the existing installation being upgraded.

      To avoid the following warning in the Automation Platform web UI, we recommend removing the SSL 2.0 Client Hello or SSLv2Hello protocol from your security configurations for all components:

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.

To safely remove this protocol, enter the following command on the CloudBees Flow server:

$ ecconfigure --serverTLSEnabledProtocol=TLSv1,TLSv1.1,TLSv1.2

When you do this, you would also need to upgrade older agents to the latest version to avoid security risks. You would need to upgrade agents if you are using the following agent versions:

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

  • Sun Solaris, HP UX, Mac OS: 8.4 or older

    The following message appears:

    Installing CloudBees Flow…​

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

  1. For non-root/non- sudo Linux installations, configure autostart for the CloudBees Flow services.