Set up Perforce Helix Core on Nimble Studio - Amazon Nimble Studio

Set up Perforce Helix Core on Nimble Studio

Perforce Helix Core is a popular version control software in games development technology.

When you host Perforce on AWS and access the server from Amazon Nimble Studio streaming sessions, you get innate cloud native benefits. Streaming sessions exist in the same Amazon Virtual Private Cloud (Amazon VPC) as the Perforce server. This makes connections to the server, and syncing files from the server, fast and secure. In the AWS network, your files are protected because they don't travel over the public internet.

This guide explains how to set up a Perforce Helix Core server on AWS that is accessible to users within Nimble Studio. This guide also includes setup instructions for Perforce Helix Swarm, which is a code review tool used with Perforce Helix Core.

Prerequisites

Step 1: Deploy Perforce server infrastructure to your AWS account

In this step, you will use the GitHub aws-sample NimbleStudioPerforceServer to deploy the infrastructure required for hosting Perforce Helix Core in your AWS account.

  1. Go to the NimbleStudioPerforceServer 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: Create a custom streaming image with the Perforce client

In this step, you will retrieve the Perforce Server private record name. This private record name was created during infrastructure deployment from Step 1: Deploy Perforce 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 NimbleStudioPerforceServerStack.

  3. Select the Outputs tab of the stack.

  4. Find the key named P4PrivateRecordName.

    1. Notice the value associated with that key, which is the record name for the Perforce Server.

      
                        The NimbleStudioPerforceServerStack CloudFormation stack.
                           The Outputs tab is selected and the P4PrivateRecordName is
                           boxed.

Step 3: Create a custom streaming image with the Perforce client

In this step, you will create a custom streaming image for use with your Nimble Studio. It will have the Perforce 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 or to Step 4: Connect with NICE DCV for Linux workstation AMIs, continue to the next step in this guide.

  2. Download the Perforce Helix Visual client.

    1. Choose the latest available version for your platform.

    2. Download the installer on to your Amazon EC2 instance. You can do this by using the public internet or through use of an Amazon S3 bucket as described in the Nimble Studio documentation.

  3. The Perforce client installer recommends installing four individual Helix client applications: Helix Visual Client (P4V), Merge and Diff Tool (P4Merge), Administration Tool (P4Admin), and Command-Line Client (P4).

    1. This guide assumes that all four clients will be installed.

    2. You can customize installation based on your needs.

    3. For example, you can create an Admin streaming image that includes the Administration Tool. You can also create a separate user streaming image that includes the Helix Visual Client and Merge and Diff Tool.

  4. For the client configuration, you can input the name of the Perforce Helix Core Server that clients will connect to.

    1. This is the value of the record name retrieved in step 5a of Step 2: Create a custom streaming image with the Perforce client, with an additional prefix and port number suffix.

    2. The input should resemble the following: ssl:perforce-record-name>:1666

  5. Finish installation of the clients. After that, follow the remaining Nimble Studio documentation for creating the encrypted AMI, and updating a launch profile with the new streaming image AMI.

Step 4: Launch a streaming session and connect to Perforce

Follow these steps to launch a streaming session and connect to the Perforce server using the visual client. You will use the new streaming image that you created in Step 3: Create a custom streaming image with the Perforce client.

  1. Log in to the portal.

  2. Launch a streaming session for the new streaming image created with the appropriate launch profile.

  3. After you have logged in to the streaming session, open the P4V application.

  4. Connect to the server using the default administrator account and password.

    1. The User is perforce.

    2. To find the password, go to Secrets Manager. Search for the secret with the description Perforce Helix Core Password. Use the secret value that you retrieve as the password.

      
                        The Secrets Manager PerforceHelixCorePassword secret.
  5. After opening the connection using the P4V client, enter the value for the secret’s plaintext as the password.

    
                  The Open Connection window. The server is ssl:,perforce serverrecord
                        name>:1666 and the User is perforce.
  6. The P4V client log tab should indicate if Perforce was able to connect to the Helix Swarm server by displaying the message: Connected to Swarm Version 'SWARM/2021.2/2182579 (2021/09/13)'

Connecting to the Perforce Server verifies that the Perforce Server setup is complete. After completion, you can configure the Perforce Server. For example, you can use the P4Admin tool to create additional users, or to configure Perforce depots.