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: README.md
+16-11Lines changed: 16 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# blue-green-beanstalk
2
2
3
-
GitHub Action to automate deployment to blue/green environments on AWS Elastic Beanstalk.
3
+
GitHub Action to automate [blue/green deployment](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) with AWS Elastic Beanstalk.
4
4
5
5
The action will create the following resources:
6
6
@@ -10,9 +10,9 @@ The action will create the following resources:
10
10
11
11
Based on the provided inputs, the action will determine which environment is the target environment, to which a new application version should be deployed.
12
12
13
-
The action uses the values of the `production_cname` and `staging_cname` inputs to determine which environment is the production or staging environment. Accordingly, the `production_cname` and `staging_cname` inputs should be set to the CNAME prefix of the production and staging environments, respectively.
13
+
The action uses the values of the `production_cname` and `staging_cname` inputs to determine which environment is the production or staging environment. Accordingly, the production CNAME should always point to the production environment, and staging CNAME should always point to the staging environment.
14
14
15
-
If neither environment exists, it will create a new environment with the `production_cname` input. If the production environment already exists, the action will target the staging environment, creating it if it doesn't exist.
15
+
If neither environment exists, the action will create a new environment with the `production_cname` input. If the production environment already exists, the action will target the staging environment, creating it if it doesn't exist.
16
16
17
17
After deploying, the action will swap the CNAMEs of the staging and production environments, if `swap_cnames` is set to true.
18
18
@@ -22,9 +22,9 @@ See [action.yml](action.yml)
22
22
23
23
## Terminating Environments
24
24
25
-
If the action finds that the target environment is in an unhealthy state, it will be terminated and recreated, unless `terminate_unhealthy_environment` is set to false. The environment should be configured to recreate any associated resources that are deleted during environment termination, so that they are available when it is recreated.
25
+
If the action finds that the staging environment is in an unhealthy state, it will be terminated and recreated, unless `terminate_unhealthy_environment` is set to false. The environment should be configured to recreate any associated resources that are deleted during environment termination, so that they are available when it is recreated.
26
26
27
-
The action will also enable or disable termination protection on the target environment's underlying CloudFormation stack, if `enable_termination_protection` or `disable_termination_protection`are set to true, respectively.
27
+
Termination protection can be enabled or disabled on the target environment's underlying CloudFormation stack by setting `enable_termination_protection` or `disable_termination_protection` to true.
When using a [shared load balancer](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-alb-shared.html), the `update_listener_rules` input can be set to true, so that the action will update any listener rules that are tagged with a `bluegreenbeanstalk:target_cname` key, whose value is equal to the `production_cname` or `staging_cname` input, so that the listener rule will be updated to point to the same target group as the CNAME.
76
+
When using a [shared load balancer](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-alb-shared.html), the `update_listener_rules` input can be set to true, and the action will update any listener rules on the load balancer that are tagged with a `bluegreenbeanstalk:target_cname` key, whose value is equal to the `production_cname` or `staging_cname` input, so that the listener rule points to the same target group as the CNAME.
72
77
73
78
If using a process on a port besides the default port 80, set another tag on the listener rule with a `bluegreenbeanstalk:target_port` key and a value equal to the port number, so that the listener rule forwards to the target group on that port.
Copy file name to clipboardExpand all lines: action.yml
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ inputs:
31
31
description: "Name of the green environment."
32
32
required: true
33
33
option_settings:
34
-
description: "Path to a JSON file consisting of an array of option settings to use when creating a new environment."
34
+
description: "Path to a JSON file consisting of an array of option settings to use when updating an existing evironment or creating a new environment."
35
35
platform_branch_name:
36
36
description: "Name of the platform branch to use. When creating a new environment, it will be launched with the latest version of the specified platform branch. To see the list of available platform branches, run the `aws elasticbeanstalk list-platform-branches` command."
37
37
production_cname:
@@ -48,7 +48,7 @@ inputs:
48
48
template_name:
49
49
description: "Name of an Elastic Beanstalk configuration template to use when creating a new environment."
50
50
terminate_unhealthy_environment:
51
-
description: "Whether to terminate an unhealthy target environment."
51
+
description: "Whether to terminate an unhealthy target environment. If set to false, the action will fail if the target environment is unhealthy."
52
52
default: "true"
53
53
update_environment:
54
54
description: "Whether to update an existing environment during deployment."
@@ -64,13 +64,13 @@ inputs:
64
64
version_label:
65
65
description: "Version label to use for the new application version."
66
66
wait_for_deployment:
67
-
description: "Whether to wait for the deployment or environment creation to complete."
67
+
description: "Whether to wait for the deployment to complete."
68
68
default: "true"
69
69
wait_for_environment:
70
-
description: "Whether to wait for the target environment to be ready before deployment."
70
+
description: "Whether to wait for the target environment to be ready before deployment. If set to false, the action will fail if the target environment is not ready."
71
71
default: "true"
72
72
wait_for_termination:
73
-
description: "Whether to wait for an environment to be terminated."
73
+
description: "Whether to wait for an environment to be terminated. If set to false, the action will fail if the target environment is terminating."
0 commit comments