1.3.1. Installation Overview

In Introduction, the different components of Axivion Suite were outlined:
  • Analysis agent

  • Dashboard server

  • User frontend

In this Section, the general approach is described to bring up all of these aspects with a high-level focus on the decisions that should be taken. For detailed instructions, please follow the references provided. For simplification of the text, it is assumed that each of the aspects will be installed on its own (virtual) machine, but this is not a requirement.

1.3.1.1. Dashboard Server

The dashboard server provides information source about analyzed projects via a HTTP or HTTPS based connection. The following information will be needed to complete the installation:

  • HTTP or HTTPS port on the dashboard server host (default: HTTPS, 9443). If desired, a nice hostname. The entire URL will be required to configure analysis agents.

  • Optionally, customer-specific certificate to enable HTTPS. By default, a self-signed certificate is created. See Securing Communication with other Services for details.

  • Technical user account to execute the dashboard server

  • Connection to LDAP/AD to allow users to login with their system username/password. Alternatively, or additionally, local user accounts can be created manually on the dashboard server, see Authentication for details. Please note these requirements:

    • AD (only on Windows®): please use a domain user account as the technical user for the dashboard server. Please create this technical user account in the same domain as developers’ accounts who need access to the dashboard server.

    • LDAP: additional IT information is required, please review the detailed installation instructions referenced above.

  • To install projects into the dashboard server, a file storage (e.g. a network-shared directory) is needed. In this directory, analysis results can be placed by the analysis agents when an analysis run has completed. Please note that the dashboard server’s technical user as well as the build agents need read and write access permissions.

  • The dashboard server user account will need access to the version control systems of all installed projects. This allows the dashboard server to display source code of the projects. The command line tools of all version control systems need to be installed on the dashboard server host and access permissions need to be granted to the dashboard server’s technical user. If the information about version control systems required by the projects is not readily available, this step can be postponed until the project is installed in the dashboard server.

  • Depending on the version control system, a path in the dashboard server’s file system may be necessary to create a clone/checkout/working copy of the project’s source code. For some VCSes this initial clone/checkout has to be created manually (with access permissions for the dashboard server’s technical user). This path may also need to be configured in a project configuration (see option names starting with “sourceserver” in Section VCSIntegration). Optionally, it is possible to create a user-defined environment variable which is set to this path on the dashboard server’s host. This environment variable can be referenced in the analysis configuration instead of the absolute path, giving more flexibility to change the path at a later point of time.

  • The dashboard server can optionally send notification emails upon availability of new analysis results. SMTP information can be configured via the web interface.

1.3.1.2. Analysis Agent

Setting up the analysis agent of a project is largely independent from the dashboard server installation. However some information and preparation is required for the project configuration:

  • Dashboard server URL.

  • Path of and read/write access permissions to the file storage shared with the dashboard server.

  • For some version control systems, the dashboard server needs additional configuration. Please see the corresponding paragraph above and any option names starting with “sourceserver” in Section VCSIntegration for details. Any option value for a “sourceserver” option needs to be valid on the dashboard server. They need not have meaning on the Analysis Agent.

For a new project these pieces of information need to be decided:

  • A new directory shall be defined to contain the configuration for the analysis with Axivion Suite . This directory should be placed into version control and be maintained along with the project’s source code. A typical name for this directory is axivion/.

  • A project name under which the results will appear on the dashboard server (option /Project/name). The name should be unique on the dashboard server.

  • The project root directory (option /Project/directory). This directory needs to be a root directory for all source code files that should be analyzed. For some types of VCS (e.g. git) this directory also needs to contain the entire working trees (not only a subtree). For projects with a single git repository, the git root directory is usually the project root directory. For e.g. Subversion, it is also possible to use only a subtree of the working copy. The path to the project root directory is specified relative to the configuration directory.

To create the project configuration, proceed like this:

  • Setup compiler profile.

  • Integrate the Axivion compiler and linker into the build system. It is possible to test the required steps from a command shell first, or to directly configure the commands with axivion_config and test the setup with axivion_ci. Note that by default, axivion_ci performs a clean build. To incrementally test the setup, be sure to set the options /Project/ci_mode.clean_before and /Project/ci_mode.clean_after.

  • Create a new project configuration inside the project’s configuration directory (see Project Configuration).

1.3.1.3. User Frontend

Please select and install the required frontends as explained in the Installation subsections of Section User Interface.