Skip to content

A CI/CD Workflow with FAST

If you integrate FAST into a CI/CD workflow, several extra steps will be added to the existing CI/CD workflow. These steps can be part of either an existing CI/CD job or a separate job.

The exact extra steps will differ depending on the test run creation scenario in action. All possible scenarios are described below.

Integration via the Wallarm API (aka “Deployment via API”)

In this scenario, the FAST node is managed via the Wallarm API. The API is also employed to manage test runs. The FAST node can either record baseline requests or work with already recorded baseline requests:

Integration via API

In this scenario, FAST demonstrates the following behavior:

  • A single FAST node Docker container is bound to a single corresponding cloud FAST node. To run multiple containers with a FAST node simultaneously, you need the same number of cloud FAST nodes and tokens as the number of containers you are planning to deploy.

  • If you create a new FAST node for a cloud FAST node and there is another FAST node tied to that cloud node, the test run execution will be aborted for the latter node.

  • A test policy and a test record may be used by several test runs and FAST nodes.

See this document for details on how FAST integration is made in this case.

Integration via the FAST Node (aka “Deployment with CI MODE”)

In this scenario, the FAST node is used in the testing and recording modes. The operation mode is switched by manipulating the CI_MODE environment variable when deploying a container with the node. The FAST node manages test runs by itself; therefore there is no need for a CI/CD tool to interact with the Wallarm API.

See the image below for a schematic explanation of this scenario:

Integration with CI MODE

In this scenario, FAST demonstrates the following behavior:

  • A single FAST node Docker container is bound to a single corresponding cloud FAST node. To run multiple containers with a FAST node simultaneously, you need the same number of cloud FAST nodes and tokens as the number of containers you plan to deploy.
    To correctly deploy many FAST nodes for use in concurrent CI/CD workflows, you will need to use a different approach that is similar to the CI MODE described below.

  • If you create a new FAST node for a cloud FAST node and there is another FAST node tied to that cloud node, the test run execution will be aborted for the latter node.

  • A test policy and a test record may be used by several test runs and FAST nodes.

See this document for details on how FAST integration is made in this case.

Deploying the FAST Node with CI MODE for Use in Concurrent CI/CD Workflows

To deploy FAST node in a way that is suitable for concurrent CI/CD workflows, you should use CI MODE as described above and pass the additional BUILD_ID environment variable to the node's container.

The BUILD_ID parameter allows recording to several different test records while using a single cloud FAST node, and reusing these test records later to fire up a few concurrent test runs.

See the image below for a schematic explanation of this scenario:

Integration with BUILD_ID

In this scenario, FAST demonstrates the following behavior:

  • A few FAST nodes can operate via a single cloud FAST node to work in concurrent CI/CD workflows. Note that the same token is used by all of these FAST nodes.

  • Test runs use different test records marked with distinct BUILD_ID identifiers.

  • These test runs execute in parallel; moreover, they may employ different test policies, if necessary.

See this document for detailed explanation about how to use FAST in concurrent CI/CD workflows.

HTTPS support

This instruction describes the integration of FAST with CI/CD to test the application working over HTTP protocol.

FAST node also supports testing applications working over HTTPS protocol. More details are described in the Quick Start guide.