aws-actions/Amazon ECS "Deploy Express Service" Action for GitHub Actions

Creates or updates an Amazon ECS Express Mode service

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 30, 2026
License
Other

Pinned Snippet

workflow.ymlSHA-pinned
uses: aws-actions/amazon-ecs-deploy-express-service@7c48a2de16441d528a3c89829831968dc1455010 # v1.2.2

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
service-nameThe name of the ECS Express service. Used for both creating new services and updating existing ones.yes
imageThe container image URI to deploy (e.g., 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-app:latest)yes
execution-role-arnThe ARN of the task execution role that grants the ECS agent permission to pull container images and publish logsyes
infrastructure-role-arnThe ARN of the infrastructure role that grants ECS permission to create and manage AWS resources (ALB, target groups, etc.)yes
clusterThe name of the ECS cluster. Will default to the 'default' cluster.nodefault
container-portThe port number on the container that receives traffic (containerPort in primaryContainer). If not specified, Express Mode will use port 80.no
environment-variablesEnvironment variables to set in the container (environment in primaryContainer). Provide as JSON array: [{"name":"KEY","value":"VALUE"}]no
secretsSecrets to inject into the container (secrets in primaryContainer). Provide as JSON array: [{"name":"KEY","valueFrom":"arn:aws:secretsmanager:..."}]no
commandOverride the default container command (command in primaryContainer). Provide as JSON array: ["node","server.js"]no
log-groupCloudWatch Logs log group name for container logs (logGroup in awsLogsConfiguration). If not specified, Express Mode creates a log group automatically.no
log-stream-prefixCloudWatch Logs stream prefix for container logs (logStreamPrefix in awsLogsConfiguration). If not specified, Express Mode uses a default prefix.no
repository-credentialsARN of the secret containing credentials for private container registry (credentialsParameter in repositoryCredentials). Required for private registries outside ECR.no
tagsResource tags to apply to the ECS Express Gateway service and associated AWS resources (ALB, target groups, auto-scaling, etc.). Provide as JSON array: [{"key":"Environment","value":"Production"}] or multiline format: Environment=Productionno
mutate-tags-on-updateEnable tag management for service updates. When set to "true", performs complete tag state management by adding new tags and removing existing tags that are not in the provided tags input. When not set or "false", no tag operations are performed during service updates (existing tags remain unchanged). Note: Tags are always applied during service creation regardless of this setting. Requires ecs:TagResource and ecs:UntagResource permissions when enabled.nofalse
cpuThe number of CPU units to allocate (256, 512, 1024, 2048, 4096, 8192, 16384). If not specified, Express Mode defaults to 256 (.25 vCPU).no
memoryThe amount of memory in MiB to allocate (512, 1024, 2048, 4096, 8192, 16384, 30720, 61440, 122880). If not specified, Express Mode defaults to 512 MiB.no
task-role-arnThe ARN of the IAM role that the container can assume to make AWS API calls (taskRoleArn)no
subnetsComma-separated list of subnet IDs for the service (subnets in networkConfiguration). If not specified, Express Mode uses the default VPC.no
security-groupsComma-separated list of security group IDs for the service (securityGroups in networkConfiguration).no
health-check-pathThe path for ALB health checks (healthCheckPath). If not specified, Express Mode defaults to /ping.no
min-task-countMinimum number of tasks for auto-scaling (minTaskCount in scalingTarget). Must be less than or equal to max-task-count.no
max-task-countMaximum number of tasks for auto-scaling (maxTaskCount in scalingTarget). Must be greater than or equal to min-task-count.no
auto-scaling-metricThe metric to use for auto-scaling (autoScalingMetric in scalingTarget): AVERAGE_CPU, AVERAGE_MEMORY, or REQUEST_COUNT_PER_TARGETno
auto-scaling-target-valueThe target value for the auto-scaling metric (autoScalingTargetValue in scalingTarget). For example, 60 for 60% CPU utilization.no
namedescription
service-arnThe ARN of the deployed Express service
endpointThe endpoint URL of the service (from the Application Load Balancer)