Skip to content

Commit

Permalink
new idea
Browse files Browse the repository at this point in the history
  • Loading branch information
parhamrahmani committed May 27, 2024
1 parent ec4dae9 commit 0f2c4a4
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions .github/workflows/deploy-to-ec2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,18 @@ jobs:
docker rm my-container || true
docker run -d --name my-container -p 80:5000 ${{ secrets.DOCKER_HUB_USERNAME }}/flask-app-image-repository:latest
EOF
- name: Make shell script template
run: |
cat << EOF > update_instance.sh
#!/bin/bash
ip=$1
ssh -o StrictHostKeyChecking=no -i /home/runner/.ssh/id_rsa ubuntu@$ip << 'EOF'
docker pull ${{ secrets.DOCKER_HUB_USERNAME }}/flask-app-image-repository:latest
docker stop my-container || true
docker rm my-container || true
docker run -d --name my-container -p 80:5000 ${{ secrets.DOCKER_HUB_USERNAME }}/flask-app-image-repository:latest
EOF
cat update_instance.sh
- name: Retrieve Autoscaling EC2 server IPs
id: get_autoscaling_instances_ips
Expand All @@ -93,21 +105,15 @@ jobs:
IFS=$'\n' read -d '' -r -a ips < "$ips_file"
for i in "${!ips[@]}"; do
echo "Auto_Instance_IP_$((i+1)): ${ips[i]}" >> $GITHUB_ENV
touch update_instance_$((i+1)).sh
done
- name: Update Autoscaling EC2 with new Docker image
run: |
cat autoscaling_instance_ips.txt
ips_file="autoscaling_instance_ips.txt"
IFS=$'\n' read -d '' -r -a ips < "$ips_file"
for i in "${!ips[@]}"; do
ssh -o StrictHostKeyChecking=no -i /home/runner/.ssh/id_rsa ubuntu@${ips[i]} << 'EOF'
docker pull ${{ secrets.DOCKER_HUB_USERNAME }}/flask-app-image-repository:latest
docker stop my-container || true
docker rm my-container || true
docker run -d --name my-container -p 80:5000 ${{ secrets.DOCKER_HUB_USERNAME }}/flask-app-image-repository:latest
EOF
done
env:
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
Expand Down

0 comments on commit 0f2c4a4

Please sign in to comment.