Set up Incredibuild on Nimble Studio - Amazon Nimble Studio

Set up Incredibuild on Nimble Studio

Incredibuild is software acceleration technology for builds, tests, and other development processes to run in parallel over a distributed network. When you deploy Incredibuild in your AWS account, it works with the Amazon Virtual Private Cloud (Amazon VPC) distributed network. This tutorial will show you how to set up Incredibuild on Nimble Studio and deploy it to your AWS account.

Note

Incredibuild only supports Windows, so the following information is only for the Windows workstation AMI.

When you configure Incredibuild with your Nimble Studio, the following resources are created:

  • A t3.large Windows EC2 instance running the Incredibuild Coordinator.

  • A Route 53 record for your Incredibuild Coordinator named incredibuild.studioid.nimble.region.aws.

  • An Auto Scaling group for increased Incredibuild capacity to accelerate builds further than the allowed number of Nimble Studio workstations.

  • Security groups and network ACL configurations for Incredibuild to work with Nimble Studio and Amazon VPC, so that workstations and Incredibuild can connect to each other.

  • A studio component that can attach to launch profiles so that Nimble Studio workstations can connect to the Incredibuild Coordinator automatically.


         Diagram: Resources created when you configure Incredibuild with Nimble Studio and their
            groupings.

Prerequisites

Step 1: Deploy Incredibuild server infrastructure to your AWS account

In this step, you will use the GitHub aws-sample NimbleStudioBuildFarm to deploy the infrastructure required for hosting Incredibuild in your AWS account.

  1. Go to the NimbleStudioBuildFarm GitHub repository.

  2. Follow the instructions in the README file to clone the repository, synthesize the application, and deploy the resources into your account.

    1. This needs to be deployed into the same Region as your studio.

After successful deployment, continue to the next step.

Step 2: Retrieve the Incredibuild private record name

In this step, you will retrieve the Incredibuild private record name created as a part of the infrastructure deployment from Step 1: Deploy Incredibuild server infrastructure to your AWS account.

  1. Sign in to the AWS Management Console and open the AWS CloudFormation console.

  2. Select the stack named NimbleStudioBuildFarm.

  3. Select the Outputs tab of the stack.

  4. Find the key named IncredibuildPrivateRecordName.

    1. Notice the value associated with that key, which is the record name for the Incredibuild server.

      
                        The NimbleStudioBuildFarm CloudFormation stack. The Outputs
                           tab is selected and the IncredibuildPrivateRecordName is boxed.

Step 3: Create a custom streaming image with the Incredibuild Agent

In this step, you'll create a custom streaming image for use with your Nimble Studio. It will have the Incredibuild clients installed for interacting with the server.

  1. Follow the Update AMIs: Setting up tutorial to launch an Amazon Elastic Compute Cloud (Amazon EC2) instance with a Nimble Studio compatible base AMI for workstations.

    1. After you get to Step 4: Connect with NICE DCV for Windows workstation AMIs, continue to the next step in this guide.

  2. Download the Incredibuild installer. The link should be in the email you received from Incredibuild when you got your license.

    1. Choose the latest available version for Windows.

    2. Download the installer.

  3. Install the Incredibuild agent.

    1. Use the URL that you retrieved from CloudFormation in step 5a of Step 2: Retrieve the Incredibuild private record name .

  4. Finish installation of the Incredibuild Agent, then follow the remainder of the Nimble Studio docs for creating the encrypted AMI, and updating a launch profile with the new streaming image AMI.

Step 4: Connect Incredibuild to your launch profiles

As part of the deploy, a studio component automatically configures Nimble Studio workstations to connect to the Incredibuild coordinator. The following steps will allow you to use the studio component.

  1. Sign in to the AWS Management Console and open the Nimble Studio console.

  2. Choose Launch profiles in the left navigation pane.

    
                  Nimble Studio console, navigation pane link: Launch profiles.
  3. Select the radio button for the launch profile that you want to change.

  4. Choose, Action. Then choose Edit.

  5. Select the new streaming image that you created in Step 3: Create a custom streaming image with the Incredibuild Agent.

  6. Look in the Launch profile components section, and make sure the check box next to Incredibuild is selected.

  7. Select Update launch profile at the bottom right of the page.

Now any newly launched streaming workstation using this launch profile will be able to work with Incredibuild.

Step 5: Connect Incredibuild to your launch profiles

An Auto Scaling group (which defaults to zero instances) is created when you install Incredibuild. The Auto Scaling group allows you to scale up (or down) the number of Incredibuild agents that are able to accelerate builds in your Nimble Studio.

  1. Sign in to the AWS Management Console and open the Amazon EC2 console.

  2. At the bottom left, select Auto Scaling Groups.

  3. Select the Auto Scaling group with the name NimbleStudioBuildFarm-IncredibuildWorkers.

    
                  Amazon EC2 console Auto Scaling groups section:
                     NimbleStudioBuildFarm-IncredibuildWorkers as Name.
  4. On the Details tab, select Edit.

  5. Select Update and the number of active Incredibuild Agents will increase or decrease to match your Desired capacity.

    1. Specify the number of Incredibuild Agents that you want by modifying Desired capacity.

    2. You can increase the Maximum capacity if that number is lower than your Desired capacity.

    3. You can reduce (or keep) the Desired capacity at 0 so that the only Incredibuild Agents are the streaming workstations.

    
                  The Group size section of the Auto Scaling details page. The Desired capacity is
                     3, Minimum capacity is 0, and Maximum capacity is 40.
  6. Select Update.

Step 6: Manage your Incredibuild Coordinator

You can view the Incredibuild Coordinator settings from any streaming workstation. However, if you want to change anything, like remove old streaming workstations, you must connect to the Incredibuild Coordinator.

The Incredibuild Coordinator doesn’t have a public IP address, so there are two ways that you can connect. Either use Remote Desktop Protocol (RDP) from a streaming workstation, or use a combination of AWS Session Manager and RDP from your local computer.

Get credentials to log into the instance via RDP

In the following steps, you will create a password so that you can connect to the Incredibuild Coordinator. The Incredibuild Coordinator isn't joined to your AWS Managed Microsoft AD domain, so AWS Managed Microsoft AD credentials won’t work.

  1. Sign in to the AWS Management Console and open the Amazon EC2 console.

  2. Find the instance named Incredibuild Coordinator, and select its instance ID.

  3. Select Connect at the top right of this page.

  4. Make sure that you are on the Session Manager tab, and select Connect.

  5. Enter net user Administrator * and enter a password that you will use to connect through RDP.

  6. You’ll have to reenter the password again to confirm.

Now you have the credentials to log into the instance through RDP. When you use a streaming workstation, you can connect through RDP. The URL is what you retrieved earlier from CloudFormation in Step 2: Retrieve the Incredibuild private record name.

Connect to the instance from your local machine

To connect to the instance directly from your local machine, you’ll need the AWS CLI installed, plus you will need the Session Manager plugin installed. Once done, you can follow these instructions:

  1. Sign in to the AWS Management Console and open the Amazon EC2 console.

  2. Find the instance named Incredibuild Coordinator.

    1. Notice its instance ID because you will need it in the next step.

  3. Run the following command in a local command prompt: aws ssm start-session —document-name AWS-StartPortForwardingSession —parameters "localPortNumber=55678,portNumber=3389" —target instance-id

    1. The output should look similar to:

      Starting session with SessionId: session-id Port 55678 opened for sessionId session-id Waiting for connections...

Keep that process running in the background. Now you can use your local RDP client and connect to localhost:55678. The Session Manager plugin will route all traffic between your local port 55678 and the RDP port 3389 on the Incredibuild Coordinator EC2 instance. In both cases, you can log into your Incredibuild Coordinator instance as Administrator using the password that you entered earlier. After that, you can load Incredibuild Coordinator.