-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaction.yml
117 lines (112 loc) · 6.54 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
name: "Blue/Green Beanstalk"
description: "Deploy to blue/green environments on AWS Elastic Beanstalk."
inputs:
app_name:
description: "Name of the Elastic Beanstalk application. If it doesn't exist, it will be created."
required: true
aws_access_key_id:
description: "AWS Access Key ID. May instead be specified via the AWS_ACCESS_KEY_ID environment variable."
aws_region:
description: "AWS region. May instead be specified via the AWS_REGION environment variable."
aws_secret_access_key:
description: "AWS Secret Access Key. May instead be specified via the AWS_SECRET_ACCESS_KEY environment variable."
aws_session_token:
description: "AWS session token for using temporary credentials. May instead be specified via the AWS_SESSION_TOKEN environment variable."
blue_env:
description: "Name of the blue environment."
needs: [green_env, production_cname, staging_cname]
create_environment:
description: "Whether to create a new environment during deployment if the target environment doesn't exist."
default: "true"
deploy:
description: "Whether to deploy to the target environment."
default: "false"
disable_termination_protection:
description: "Whether to disable termination protection for the target environment's CloudFormation stack before attempting to terminate it."
default: "false"
enable_termination_protection:
description: "Whether to enable termination protection for the target environment's CloudFormation stack after deployment."
default: "false"
green_env:
description: "Name of the green environment."
needs: [blue_env, production_cname, staging_cname]
minimum_health_color:
description: "Minimum health color (Green, Yellow, Red, or Grey) required for the target environment to be considered healthy."
default: "Green"
option_settings:
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."
platform_branch_name:
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."
production_cname:
description: "CNAME prefix for the domain that serves production traffic when performing a blue/green deployment."
needs: [blue_env, green_env, staging_cname]
send_command:
description: "Command to send to the target environment after (optional) deployment. Specify a shell script or series of commands to run. Useful for running tasks related to deployment, such as swapping environment variables before promoting an environment to production."
single_env:
description: "Name of a single environment to deploy. If specified, the blue/green environments and production/staging CNAMEs must not be provided."
needs: [single_env_cname]
single_env_cname:
description: "CNAME prefix to use for a single-environment deployment."
needs: [single_env]
source_bundle:
description: "Path to the source bundle to deploy. If not specified, the sample application will be used."
staging_cname:
description: "CNAME prefix of the staging environment for a blue/green deployment."
needs: [blue_env, green_env, production_cname]
swap_cnames:
description: "Whether to swap the CNAMEs of the blue and green environments."
default: "false"
template_name:
description: "Name of an Elastic Beanstalk configuration template to use when creating a new environment."
terminate_unhealthy_environment:
description: "Whether to terminate an unhealthy target environment. If set to false, the action will fail if the target environment is unhealthy."
default: "false"
update_environment:
description: "Whether to update an existing environment during deployment."
default: "true"
update_listener_rules:
description: |
When set to true, the action will update any elbv2 listener rules on the environments' SharedLoadBalancer tagged with a `bluegreenbeanstalk:target_cname` key, whose value is equal to an environment's CNAME prefix, so that it forwards to the corresponding target group.
For example, you can tag a listener rule that matches the host `my-domain.com` with a tag containing `bluegreenbeanstalk:target_cname` as its key and `my-prod-cname` as its value, and the action will update the listener rule to point to the same target group as the environment with the CNAME `my-prod-cname`.
The listener rules are updated after the CNAMEs are swapped, so this keeps the listener rules in sync with the CNAMEs.
The port of the process may be specified by another tag with the key `bluegreenbeanstalk:target_port` whose value is the port number. If no such tag is found, the default port of 80 will be used.
If you'd only like to update the listener rules for a certain CNAME, you can set this input to the CNAME prefix you'd like to update.
default: "false"
use_default_option_settings:
description: "Whether to use default option settings when creating a new environment."
default: "true"
version_description:
description: "Description to use for the new application version."
version_label:
description: "Version label to use for the new application version."
wait_for_command:
description: "Whether to wait for the send_command execution to complete."
default: "true"
wait_for_deployment:
description: "Whether to wait for the deployment to complete."
default: "true"
wait_for_environment:
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."
default: "true"
wait_for_termination:
description: "Whether to wait for an environment to be terminated. If set to false, the action will fail if the target environment is terminating."
default: "true"
outputs:
target_env_cname:
description: "CNAME of the target environment."
target_env_endpoint_url:
description: "URL of the environment's load balancer, or an Elastic IP address when using a single instance environment."
target_env_id:
description: "ID of the target environment."
target_env_json:
description: "JSON representation of the target environment."
target_env_name:
description: "Name of the target environment."
target_env_status:
description: "Status of the target environment."
runs:
using: "node20"
main: "dist/index.js"
branding:
icon: "arrow-up"
color: "orange"