Setting Up Artillery Pro

Installing Artillery Pro CLI

Install Artillery Pro with:

npm install -g artillery-pro@latest

You need to have Artillery installed first. If you don't have it installed already, run npm install -g artillery@latest

We recommend that you always install the latest version of Artillery and Artillery Pro and keep both up-to-date.

NOTE: Artillery Pro should work with Node.js v4+ but Node.js v8.x (the LTS release) is the recommended and officially supported version.

Activating The Installation

Artillery Pro CLI needs to be activated with a valid license before use.

Two methods of activation are supported: Github login and via email.

Activate with your email address:

artillery activate-pro --email user@example.com

Or activate with a Github account:

artillery activate-pro

Using a license key file

If you have a license key file, Artillery Pro may also be activated with:

artillery activate-pro --license-file my-artillery-pro-license.key

Once the activation process is complete, Artillery Pro features may be used.

For the activation process to complete successfully, your team's Github organization and/or email domain needs to have an active license associated with it. Please refer to https://artillery.io/pro/ for details, or email team@artillery.io with any questions.

Checking License Status

To see the status of the current license installed on the system re-run activate-pro with no arguments:

artillery activate-pro

The output should look similar to:

        ___         __  _ ____                   ____
  _____/   |  _____/ /_(_) / /__  _______  __   / __ \_________  _____
 /____/ /| | / ___/ __/ / / / _ \/ ___/ / / /  / /_/ / ___/ __ \/____/
/____/ ___ |/ /  / /_/ / / /  __/ /  / /_/ /  / ____/ /  / /_/ /____/
    /_/  |_/_/   \__/_/_/_/\___/_/   \__, /  /_/   /_/   \____/
                                    /____/
Your copy of Artillery Pro is active ✌

Activation details:
  Email: arnav@acme-corp.tld
  Expiry date: May 23 2019
  License type: Commercial

Set up Artillery Pro Backend Components

To run tests from your own AWS account, Artillery Pro's backend components need to be set up. Those are what takes care of the heavy lifting of running Artillery test scripts from ECS/Fargate clusters. The run-cluster command interacts with those components.

If the backend components for Artillery Pro have already been installed (this would usually be done by a DevOps engineer) and you have configured your AWS credentials, you can start creating and running tests with Artillery Pro.

Otherwise, the backend components of Artillery Pro will need to be installed.

Setting up Artillery Pro's Backend Components

The backend components can be installed or upgraded with:

AWS_PROFILE=admin-user artillery setup-pro --region us-east-1

Make sure to substitute the appropriate AWS profile name and region that you want to install Artillery Pro in.

Note: only the following regions are currently supported:

(We are working on extending the list to all regions supported by AWS.)

The setup-pro command is safe to run multiple times (i.e. it's idempotent). If everything has already been installed, it will simply do nothing and exit.

Artillery Pro will create a CloudFormation stack behind the scenes, and print stack events as it progresses. You can also follow its progress via the AWS Console.

Setting up IAM Permissions

The setup-pro command creates an IAM policy that allows access to Artillery Pro's backend components. Once the setup process is completed, that IAM policy needs to be attached to an IAM user (or role) that will use the Artillery Pro CLI to run tests.

setup-pro will output a command which can be used to attach the generated IAM policy to an existing user, which will look similar to:

aws iam attach-user-policy --user-name artillery-cli-user --policy-arn
arn:aws:iam::123541558888:policy/artilleryio-cli-user

where artillery-cli-user is the name of the IAM user whose credentials will be used to run Artillery tests.

Next Steps

Once everything is set up, check that everything is working by running a Hello World test from your own ECS/Fargate cluster.

If you have any questions, just drop us a line on team@artillery.io