Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. set -e
  4.  
  5. # Set the variables below or add them dynamically.
  6. region="us-west-2"
  7. environment="<environment>"
  8. cluster="<cluster>"
  9. commit=$(git rev-parse --short HEAD)
  10. full_commit=$(git rev-parse HEAD)
  11. project="<name>"
  12. image="<account-id>.dkr.ecr.us-west-2.amazonaws.com/$project:$commit"
  13.  
  14. echo "region: $region"
  15. echo "environment: $environment"
  16. echo "commit: $commit"
  17. echo "cluster: $cluster"
  18. echo "project: $project"
  19. echo "image: $image"
  20.  
  21. function release() {
  22. local service="$1"
  23.  
  24. export AWS_DEFAULT_REGION="$region"
  25.  
  26. # Get the task definition and patch the image value.
  27. aws ecs describe-task-definition --task-definition $service \
  28. | jq -r '.taskDefinition' \
  29. | jq -r '{family, containerDefinitions, networkMode, volumes, networkMode, volumes, cpu, memory}' > task-definition.json
  30. cat task-definition.json | jq '.containerDefinitions[0].image = "'$image'"' > new-task-definition.json
  31.  
  32. # Register the task definition and get the next revision.
  33. revision=$(aws ecs register-task-definition --cli-input-json "$(cat new-task-definition.json)" | jq -r '.taskDefinition.revision')
  34.  
  35. echo -n "deploying $service to $revision..."
  36.  
  37. # Contains secrets.
  38. rm task-definition.json
  39. rm new-task-definition.json
  40.  
  41. # Patch the service to the next revision.
  42. aws ecs update-service --cluster $cluster --service $service --task-definition $service:$revision &> /dev/null
  43. echo " done"
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement