Installing DevOps Foresight

This section describes the methods for installing the DevOps Foresight server in a new environment.

Prerequisites

Before starting the DevOps Foresight server installation, the DevOps Insight server must be installed and collecting data. In addition, you need the following in order to complete the DevOps Foresight installation:

  • DevOps Foresight server license—this server is licensed separately from CloudBees Flow and DevOps Insight.

  • DevOps Insight host name and port number

  • DevOps Insight Elasticsearch port number

  • DevOps Insight server user name and password

  • CloudBees Flow server host name, user name, and password

System Considerations for DevOps Foresight Server Installation

General considerations

For a production environment, CloudBees recommends that you install the DevOps Foresight server on a system other than systems running other CloudBees Flow components (such as the CloudBees Flow server, web server, repository server, or agent).

System-level considerations

Windows Server 2008

  • In cases where the installer runs under account x , but services will run under account y , the system administrator may need to disable User Account Control (UAC) so that user y has access to the installation directories, both program and data. This applies particularly to data directories.

Ubuntu 18.04 (64-bit)

  • Choosing the Ubuntu User Do not choose nobody ` for the Ubuntu user. Ubuntu does not allow a command such as `su - nobody -c foo.sh, because it is not a shell account.

  • Fixing the ` raise ValueError, 'need a file or string'` error If you receive an error during installation similar to the following,

File "/usr/lib/lsb/install_initd", line 3, in <module>import sys, re, os, initdutilsFile "/usr/lib/lsb/initdutils.py", line 18raise ValueError, 'need a file or string^SyntaxError: invalid syntax

run the following command:

sudo sed -i "s/python3/python/" /usr/lib/lsb/install_initd

This error is a known Ubuntu bug.

Graphical User Interface Installation Methods

The graphical user interface installation methods are supported by Windows platforms and Linux platforms running the X Window System.

Interactive Command-Line Installation

The command-line user interface installation method is supported only by Linux platforms. In this mode, additional command line parameters that are listed in Silent Unattended Installation can be used.

  1. Choose one of the following commands to start the full installer.

    • From a command line, enter sudo ./CloudBeesFlowDevOpsForesightServer-x64-<version>

    • On Linux platforms with the X Window System, the installer invokes the graphical user interface. To override this behavior, enter sudo ./CloudBeesFlowDevOpsForesightServer-x64-<version> --mode console.

      The following message appears:

      Logging to "/tmp/ijtmp_00CB8424-9E21-C4E5-3357-0E5B11BADFA6/installer-EFlowReportServ.log"
      Copyright (c) 2010-2019, CloudBees, Inc. All rights reserved.
      This will install CloudBees Flow DevOps Foresight Server on your computer.  Continue? [n/Y]
  2. Continue the installation by entering y.

    The following message appears:

    Specify the install directory (for binaries) [/opt/electriccloud/electriccommander]
  3. Press Enter to accept the default installation directory, or enter a new installation directory path for program files and binaries.

    The following message appears:

    Specify the data directory (for data files, configurations and logs) [/opt/electriccloud/electriccommander]
  4. Press Enter to accept the default installation directory, or enter a new installation directory path for data files, configurations, and logs.

    The following message appears:

    Specify the user the services will run as [<primary user>]
  5. Enter the name of the user who owns the CloudBees Flow DevOps Foresight server processes.

    The following message appears:

    Specify the group the services will run as [<primary group>]
  6. Enter the name of the group who owns the CloudBees Flow DevOps Foresight server processes, or accept the default primary group of the chosen user by pressing Enter.

    The following message appears:

    Specify the host name or IP address on which the installed service will be available [ip-10-0-0-162.us-west-1.compute.internal]

    The host name or IP address of the system on which the DevOps Foresight server is being installed.

  7. If you want to specify a non-default host name, enter it, or accept the default host name by pressing Enter.

    The following message appears:

    Choose the port which will be used by server [9100]

    This port is used by the DevOps Foresight server.

  8. If you want specify a non-default port number, enter that number, or accept the default port number by pressing Enter.

    The following message appears:

    Specify the host of the remote CloudBees Flow DevOps Insight server []
  9. Enter the host name of DevOps Insight server and press Enter You must specify a host.

    The following message appears:

    Specify the port of the remote CloudBees Flow DevOps Insight server [9200]
  10. Enter the port number for your DevOps Insight Server, or accept default and press Enter.

    The following message appears:

    Does the CloudBees Flow DevOps Insight server on "e5590-phair" use authentication? [n/Y]
  11. In most cases, it does use authentication. Continue the installation by entering y.

    The following message appears:

    Specify the user name with which to login to "e5590-phair" [reportuser]
  12. Enter the user name you configured during the DevOps Insight Server install, or accept the default by pressing Enter.

    The following message appears:

    Specify the password for "reportuser" on "e5590-phair" [changme]
  13. Enter the password you configured during the DevOps Insight Server install, or accept the default by pressing Enter.

    The following message appears:

    Specify the host[:port] of the remote CloudBees Flow server []
  14. Enter the name of the CloudBees Flow server that will communicate with this DevOps Foresight server. If the remote server is using a non-default HTTPS port, you must specify the host name as <host>:<port>. If you do not specify a port, HTTPS port 8443 is assumed (the same as the CloudBees Flow server default port).

    The following message appears:

    Specify the user name with which to login to "<remote host>" [admin]
  15. Enter the name of a CloudBees Flow user on the CloudBees Flow server who has sufficient privileges to edit server settings. This field defaults to the CloudBees Flow-supplied admin user.

    The following message appears:

    Specify the password for "<remote user>" on "<remote host>" []
  16. Enter the password for the CloudBees Flow user. The default password for the admin user is changeme.

    The following message appears:

    The CloudBees Flow DevOps Foresight Server will be configured on CloudBees Flow server version <version> on <remote host>

The CloudBees Flow software is installed on the machine. When the installation completes successfully, a message that contains the line Installation complete appears.

Silent Unattended Installation

You can run the CloudBees Flow DevOps Foresight server installer in unattended (silent) mode with no user interface on either Windows or Linux.

Installing the DevOps Foresight Server

Enter one of the following commands from a command line.

  • Linux: sudo ./CloudBeesFlowDevOpsForesightServer-x64-<version> --mode silent <arguments>

  • Windows: CloudBeesFlowDevOpsForesightServer-x64-<version>.exe --mode silent <arguments>

where:

  • <version> is your CloudBees Flow DevOps Foresight server version number.

  • <arguments> represents any additional silent install arguments.

For a successful installation in this mode, you must specify the following:

  • Linux: Use the --unixServerUser and --unixServerGroup options to specify the user name and group that the CloudBees Flow DevOps Foresight server service runs as.

  • Windows: Use the --windowsServerUser, --windowsServerPassword, and --WindowsServerDomain options to specify the user name, password, and domain (if the account is not local) of the account the CloudBees Flow DevOps Foresight server service runs as or the --windowsServerLocalSystem option to use the local system account.

Arguments

The following table lists installation arguments. You can view the full installer help by entering CloudBees FlowDevOpsForesightServer-x64-<version> --help.

--dataDirectory <argument>

Directory used to store binaries:

  • Default value on Linux: /opt/electriccloud/electriccommander.

  • Default value on Windows: %ProgramFiles%\electriccloud\ElectricCommander (usually: C:\Program Files\electriccloud\ElectricCommander )

--devopsInsightServer <argument>

Host name of the remote DevOps Insight Server server.

--devopsInsightServerPassword <argument>

Password of the remote DevOps Insight Server server.

--devopsInsightServerPort <argument>

Port of the remote DevOps Insight Server server.

--devopsInsightServerUser <argument>

User name to use when logging in to the remote CloudBees Flow server.

--help

Display the information in this table

--hostName <argument>

Host name or IP address to be used by the remote CloudBees Flow server to communicate with the DevOps Foresight server. The default value is the current host name of the machine.

--installDirectory <argument>

Directory used to store binaries.

Default value on Linux: /opt/electriccloud/electriccommander

Default value on Windows: %ProgramFiles%\electriccloud\ElectricCommander (usually: C:\Program Files\electriccloud\ElectricCommander )

--licenseFile <argument>

The file name of the license file.

--mode <arguments>

Set the installer mode:

  • Available values on Linux: console, silent ` or `standard.

  • Available values on Windows: silent ` or `standard.

--remoteServer <argument>

<host>[:<port>] of the remote CloudBees Flow server

--remoteServerPassword <argument>

Password to use when logging in to the remote CloudBees Flow server.

--remoteServerUser <argument>

User name to use when logging in to the remote CloudBees Flow server.

--temp <argument>

Set the temporary directory used by this program

--unixServerGroup <argument>

(Linux only) Group name that the CloudBees Flow DevOps Foresight server services run as

This is required for silent installation on Linux.

--unixServerUser <argument>

(Linux only) User name that the CloudBees Flow DevOps Foresight server services run as

This is required for silent installation on Linux.

--version

Display installer version information

--windowsServerDomain <argument>

(Windows only) Domain of the account the CloudBees Flow DevOps Foresight server services will run as on Windows

Do not use this parameter if a local account used.

--windowsServerLocalSystem

(Windows only) Run the CloudBees Flow DevOps Foresight server services as the local system account

--windowsServerPassword <argument>

(Windows only) Password of the account that the CloudBees Flow DevOps Foresight server services will run as

This is required for silent installation on Windows if the --windowsServerLocalSystem option is not specified.

--windowsServerUser <argument>

User name of the account the CloudBees Flow DevOps Foresight server services will run as on Windows

This is required for silent installation on Windows if the --windowsServerLocalSystem option is not specified.