You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ information to effectively respond to your bug report or contribution.
11
11
12
12
We welcome you to use the GitHub issue tracker to report bugs or suggest features.
13
13
14
-
When filing an issue, please check [existing open](https://github.com/awslabs/distributed-load-testing-on-aws/issues), or [recently closed](https://github.com/awslabs/distributed-load-testing-on-aws/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already
14
+
When filing an issue, please check [existing open](https://github.com/aws-solutions/distributed-load-testing-on-aws/issues), or [recently closed](https://github.com/aws-solutions/distributed-load-testing-on-aws/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already
15
15
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
16
16
17
17
* A reproducible test case or series of steps
@@ -41,7 +41,7 @@ GitHub provides additional document on [forking a repository](https://help.githu
41
41
42
42
43
43
## Finding contributions to work on
44
-
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels ((enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/awslabs/distributed-load-testing-on-aws/labels/help%20wanted) issues is a great place to start.
44
+
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels ((enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/aws-solutions/distributed-load-testing-on-aws/labels/help%20wanted) issues is a great place to start.
45
45
46
46
47
47
## Code of Conduct
@@ -56,6 +56,6 @@ If you discover a potential security issue in this project we ask that you notif
56
56
57
57
## Licensing
58
58
59
-
See the [LICENSE](https://github.com/awslabs/distributed-load-testing-on-aws/blob/master/LICENSE.txt) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
59
+
See the [LICENSE](https://github.com/aws-solutions/distributed-load-testing-on-aws/blob/master/LICENSE.txt) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
60
60
61
61
We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
Copy file name to clipboardExpand all lines: README.md
+36-33Lines changed: 36 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,18 +2,19 @@
2
2
3
3
The Distributed Load Testing Solution leverages managed, highly available and highly scalable AWS services to effortlessly create and simulate thousands of connected users generating a selected amount of transactions per second. As a result, developers can understand the behavior of their applications at scale and at load to identify any bottleneck problems before they deploy to Production.
4
4
5
-
6
5
## On this Page
6
+
7
7
-[Architecture Overview](#architecture-overview)
8
8
-[Deployment](#deployment)
9
9
-[Source Code](#source-code)
10
-
-[Creating a custom build](#additional-resources)
11
-
10
+
-[Creating a custom build](#creating-a-custom-build)
12
11
13
12
## Architecture Overview
13
+
14
14

15
15
16
16
## Deployment
17
+
17
18
The solution is deployed using a CloudFormation template with a lambda backed custom resource. For details on deploying the solution please see the details on the solution home page: [Distributed Load Testing](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/)
18
19
19
20
## Source Code
@@ -40,65 +41,67 @@ A NodeJS Lambda function that runs the Amazon ECS task definition for each test.
40
41
A NodeJS Lambda function that checks if the Amazon ECS tasks are running or not.
41
42
42
43
## Creating a custom build
44
+
43
45
The solution can be deployed through the CloudFormation template available on the solution home page: [Distributed Load Testing](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/).
44
-
To make changes to the solution, download or clone this repo, update the source code and then run the deployment/build-s3-dist.sh script to deploy the updated Lambda code to an Amazon S3 bucket in your account.
45
46
46
-
### Prerequisites:
47
-
*[AWS Command Line Interface](https://aws.amazon.com/cli/)
47
+
To make changes to the solution, download or clone this repository, update the source code and then run the deployment/build-s3-dist.sh script to deploy the updated Lambda code to an Amazon S3 bucket in your account.
48
+
49
+
### Prerequisites
50
+
48
51
* Node.js 14.x or later
49
52
50
-
### 1. Clone the Distributed Load Testing on AWS solution repository
51
-
Clone the ```distributed-load-testing-on-aws``` GitHub repository, then make the desired code changes.
53
+
### Running unit tests for customization
54
+
55
+
* Clone the repository and make the desired code changes.
Run unit tests to make sure added customization passes the tests:
63
+
*Run unit tests to make sure the updates pass the tests.
64
+
59
65
```bash
60
-
cd./deployment
66
+
cd$BASE_DIRECTORY/deployment
61
67
chmod +x ./run-unit-tests.sh
62
68
./run-unit-tests.sh
63
69
```
64
70
65
-
### 3. Declare environment variables
71
+
### Building distributable for customization
72
+
73
+
* Configure the environment variables.
74
+
66
75
```bash
67
-
export REGION=aws-region-code # the AWS region to launch the solution (e.g. us-east-1)
68
-
export DIST_OUTPUT_BUCKET=my-bucket-name # bucket where customized code will reside
76
+
export DIST_BUCKET_PREFIX=my-bucket-name # bucket where customized code will reside
69
77
export SOLUTION_NAME=my-solution-name
70
78
export VERSION=my-version # version number for the customized code
79
+
export REGION=aws-region-code # the AWS region to launch the solution (e.g. us-east-1)
71
80
export PUBLIC_ECR_REGISTRY=public.ecr.aws/awssolutions/distributed-load-testing-on-aws-load-tester # replace with the container registry and image if you want to use a different container image
72
81
export PUBLIC_ECR_TAG=v2.0 # replace with the container image tag if you want to use a different container image
73
82
```
74
83
75
-
### 4. Create an Amazon S3 Bucket
76
-
The CloudFormation template is configured to pull the Lambda deployment packages from Amazon S3 bucket in the region the template is being launched in. Create a bucket in the desired region with the region name appended to the name of the bucket. eg: for us-east-1 create a bucket named: ```my-bucket-us-east-1```
> **Note:** When you define `DIST_BUCKET_PREFIX`, a randomized value is recommended. You will need to create an S3 bucket where the name is `<DIST_BUCKET_PREFIX>-<REGION>`. The solution's CloudFormation template will expect the source code to be located in a bucket matching that name.
> **Notes**: The _build-s3-dist_ script expects the bucket name as one of its parameters, and this value should not include the region suffix. In addition to that, the version parameter will be used to tag the npm packages, and therefore should be in the [Semantic Versioning format](https://semver.org/spec/v2.0.0.html).
94
+
> **Note**: The _build-s3-dist_ script expects the bucket name as one of its parameters, and this value should not include the region suffix. In addition to that, the version parameter will be used to tag the npm packages, and therefore should be in the [Semantic Versioning format](https://semver.org/spec/v2.0.0.html).
89
95
90
-
### 6. Upload deployment assets to your Amazon S3 bucket
91
-
Deploy the distributable to the Amazon S3 bucket in your account:
* Deploy the distributable to the Amazon S3 bucket in your account.
96
97
97
-
### 7. Launch the CloudFormation template.
98
-
* Get the link of the `distributed-load-testing-on-aws.template` uploaded to your Amazon S3 bucket.
99
-
* Deploy the Distributed Load Testing on AWS solution to your account by launching a new AWS CloudFormation stack using the link of the `distributed-load-testing-on-aws.template`.
98
+
* Make sure you are uploading the distributable to the `<DIST_BUCKET_PREFIX>-<REGION>` bucket.
99
+
* Get the link of the solution template uploaded to your Amazon S3 bucket.
100
+
101
+
* Deploy the solution to your account by launching a new AWS CloudFormation stack using the link of the solution template in Amazon S3.
100
102
101
103
## Creating a custom container build
104
+
102
105
This solution uses a public Amazon Elastic Container Registry (Amazon ECR) image repository managed by AWS to store the solution container image that is used to run the configured tests. If you want to customize the container image, you can rebuild and push the image into an ECR image repository in your own AWS account.
103
106
For details on how to customize the container image, please see the **Container image customization** section of the [implementation guide](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/container-image.html).
0 commit comments