The currently used client (boto3==1.9.139) is outdated and does not support ECS Fargate 1.4 style tasks with EFS volume configuration:
✖ ECS task definition parameter validation error:
Parameter validation failed:
Unknown parameter in volumes[0]: "efsVolumeConfiguration", must be one of: name, host, dockerVolumeConfiguration
boto3 1.13.3 would be ok.
Hi @László Szabó ,
The new aws-ecs-deploy pipe's version with updates released!
Please provide us feedback about your experience.
Cheers,
Alex
Thank you! It's working well, I can use the official pipe again.
László
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @László Szabó ,
Thank you for your feedback!
We'll update the boto3 client soon and release a new version.
Cheers,
Alex
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Team,
Using latest yml file I'm unable to update ecs cluster, But i'm able to build image and pushing the image to ecr successfully. And ecs deploy also completed successfully but ecs task revision not updating and Image also not updating.
please suggest someone, and putting my script below.
image: python:3.7.4-alpine3.10
pipelines:
tags:
ecr-release-*:
- step:
name: Build and pushing the Docker Image
services:
- docker
caches:
- pip
script:
- pip3 install awscli
- IMAGE="709724358365.dkr.ecr.ap-south-1.amazonaws.com/testrepo"
- TAG=latest
- aws configure set aws_access_key_id $AWS_ACCESS_KEY
- aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
- aws configure set AWS_DEFAULT_REGION $AWS_REGION
- eval $(aws ecr get-login --no-include-email --region ap-south-1 | sed 's;https://;;g')
- docker build -t $IMAGE:$TAG .
- docker push $IMAGE:$TAG
- step:
name: Get Latest Task Definition Revision
caches:
- pip
script:
- pip3 install awscli
- |
# Get the latest revision of your task definition using AWS CLI and jq
LATEST_REVISION=$(aws ecs list-task-definitions --family testapp-task --query 'taskDefinitionArns[0]' --output json | jq -r '. | split("/") | last')
echo "Latest Task Definition Revision: $LATEST_REVISION"
# Store the latest revision in an environment variable
echo "export LATEST_TASK_DEFINITION=$LATEST_REVISION" >> $task-definition.json
- step:
name: Deploy to ECS
script:
- pipe: atlassian/aws-ecs-deploy:1.8.0
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_REGION
CLUSTER_NAME: 'myapp-cluster'
SERVICE_NAME: 'testapp-service'
TASK_DEFINITION: $LATEST_TASK_DEFINITION
FORCE_NEW_DEPLOYMENT: 'true'
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.