Install the DevOps Lifecycle Manager solution

ActionHub, a component of CollabNet's DevOps solution, is the next generation platform for integrating and automating software development tools used in the entire software development life cycle. ActionFlow, another piece of CollabNet's DevOps solution, works as the orchestrator on the DevOps solution. ActionFlow is integrated with TeamForge and connected on ActionHub for the creation of different workflows. The workflows fire actions that will do almost everything you need to automate your development environment.

Before you begin, you must have TeamForge and EventQ 17.1 (or later) installed and running. In this setup, it is assumed that you have TeamForge Application (including the database and datamart) and EventQ (EventQ Application, MongoDB, and RabbitMQ) running on two separate servers. See TeamForge installation requirements and EventQ installation requirements to know what it takes to run TeamForge and EventQ. ActionHub is installed on the TeamForge Application Server and ActionFlow is installed on a seprate server. Also see Port Requirements.

Do this on the EventQ Server

  1. Log on to the EventQ Server and download the ActionHub installer RPM: CN-actionhub-17.1.0.11.rpm.
  2. Install ActionHub.
    Note: Before installing ActionHub, ensure that the EventQ services are up and running.
    • /etc/init.d/eventq status
    • yum install actionhub_installer
  3. Run the enableActionHub utility. This is to create the RabbitMQ account for ActionHub to use.
    • /opt/collabnet/teamforge/bin/enableActionHub

Do this on the TeamForge Application Server

  1. Log on to the TeamForge Application Server and download the ActionHub installer RPM: CN-actionhub-17.1.0.11.rpm.
  2. Install ActionHub.
    • yum install CN-actionhub
  3. Run the enableActionHub utility. This is to update the site-options.conf file with the ActionHub services and database information.
    • /opt/collabnet/teamforge/bin/enableActionHub
  4. Make sure the PUBLIC_FQDN site-options.conf token is set as follows:
    localhost:PUBLIC_FQDN = <IP address of TeamForge Application Server>
  5. Stop TeamForge.
    • /opt/collabnet/teamforge/bin/teamforge stop
  6. Deploy services.
    • /opt/collabnet/teamforge/bin/teamforge provision -y

Note: It will take a few minutes for TeamForge to start up.

  1. Bootstrap ActionHub.
    • /opt/collabnet/teamforge/bin/teamforge bootstrap -s actionhub
  2. Bootstrap ActionHub database.
    • /opt/collabnet/teamforge/bin/teamforge bootstrap -s actionhub-database
  3. Start TeamForge.
    • /opt/collabnet/teamforge/bin/teamforge start
  4. Open the site in your browser (https:\\hostname) and verify that TeamForge is up and running.

Enter the TeamForge DevOps license key

  1. Enter the DevOps license key. Select Projects > License Info, click Enter License Key, paste the TeamForge DevOps license key and click Save.
    Note: Click Get License Key if you want to get the TeamForge DevOps license key.
    You can now assign the DevOps license to users.
  2. Assign DevOps license to the TeamForge Administrator.
    1. Select Projects > Users.
    2. Select TeamForge Administrator.
    3. Click Edit.
    4. Select DevOps from the License Type drop-down list.
    5. Click Update.
    This concludes setting up ActionHub with TeamForge. You can now add ActionHub to projects, create and integrate new workflow systems and create new rules to automate your processes.

Install ActionFlow and ActionDesigner: Do this on a separate server

Requirements

  1. Log on to the TeamForge Application Server, copy the values of WorkFlow Queue, Action Queue, AMQP_User and AMQP_Password for ActionFlow from the UI and keep them handy. For more information, see Create Workflow Systems.
  2. Log on to the ActionFlow Server.
  3. Install the ActionFlow RPM.
    • yum install -y CN-actionflowst2-17.1.0.xx.rpm
  4. Update the ActionFlow site-options.conf file with ActionFlow username and password.
    Note: You will be using this username and password to log on to ActionFlow post installation.
    • vi /opt/stackstorm/installer/site-options.conf
    ACTIONFLOW_USER=<username> 
    ACTIONFLOW_PASSWORD=<password>
    ST2_HOSTNAME=<The IP Address or fully qualified domain name of the ST2 host>
    EVENTQ_HOST= <IP where TeamForge is hosted or  IP where eventq is hosted if EventQ is running on a separate server>
    WORKFLOW_QUEUE=<ws.plug#### copied previously from TeamForge >
    ACTION_QUEUE= <actions.plug#### copied previously from TeamForge>
    AMQP_USER=<AMQP user  copied previously from TeamForge server>
    AMQP_PASSWORD= <AMQP password copied previously from TeamForge server
  5. Run the ActionFlowSt2Install.sh script.
    • ./ActionFlowSt2Install.sh

    Once the installation is complete, you will be prompted to press Enter to restart the server.

  6. Install the ActionDesigner RPM.
    • yum install -y CN-actiondesigner-17.1.0.xx.rpm
  7. Edit the config.js file with the required information for ActionDesigner to connect with ActionFlow.
    • vi /opt/actiondesigner/config.js
    "use strict";
    var config = {
       "workflowHost": "<the URL for the ActionFlow instance>"
    };
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.default = config;
  8. Start ActionDesigner.
    • systemctl start actiondesigner
  9. Run the CN-st2web RPM.
    • rpm -ivh --force --nodeps --replacepkgs --replacefiles CN-st2web-17.1.0.x.rpm
  10. Configure SSL for ActionFlow, if required. For more information, see StackStorm Authentication.
    1. In /etc/ssl/st2/ copy the .crt file to be used as st2.crt.
    2. In /etc/ssl/st2/ copy the .key file to be used as st2.key.
    3. Edit the /etc/st2/st2.conf file. Look for the use_ssl setting, set it to True and append the path to cert and key files as shown below.
      use_ssl = True
      cert = /etc/ssl/st2/st2.crt
      key =/etc/ssl/st2/st2.key
    4. Restart Stackstorm and Nginx services.
      • st2ctl restart
      • service nginx restart
  11. Configure SSL for ActionDesigner, if required.
    1. In /opt/actiondesigner/ssl/ copy the .crt file to be used as ca.crt.
    2. In /opt/actiondesigner/ssl/ copy the .crt file to be used as server.crt.
    3. In /opt/actiondesigner/ssl/ copy the .key file to be used as server.key.
  12. Verify ActionFlow installation.
    1. Add ActionFlow to TeamForge projects. See Add ActionHub/ActionFlow to TeamForge projects.
    2. Create a test rule targetting ActionFlow and save the rule. See Create Rules.
      • For example, create a test rule as follows:
        • Rule Name: "TestActionFlow"
        • Rule Source: "Work Item > Defects"
        • Target: "ActionFlow"
        • Criteria: leave defaults
        • Action: "helloworld"
        • Parameters: blank
        • Save the rule.
      • Go to Trackers > Defects and add a comment to a defect.
      • Select ActionHub from the tools menu, go to Rule Execution History tab and verify that the test rule has been executed.
      • Select ActionFlow from the tools menu and log on to ActionFlow.
      • In the History tab, you should see two processes: "actionhub.msg_handler" and "collabnet-generic-flows.helloworld". Watch for the status circle in front of these processes to turn green indicating that the processes ran successfully.
  13. Verify ActionDesigner installation.
    1. Open the following URL in a browser: https://<host>:8001/actiondesigner (for example, https://forge-actionflow.collab.net:8001/actiondesigner) and log on to ActionDesigner using your ActionFlow credentials.
This concludes setting up ActionFlow with TeamForge. You can now add ActionFlow to projects, and create new rules to automate your processes.