Skip to content

Test 7

Test 7 #66

Workflow file for this run

name: Deploy to EC2
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Debug Secret
run: |
echo "EC2_SSH_KEY is set: ${{ secrets.AWS_INSTANCE_SSH_PRIVATE_KEY != '' }}"
echo "KNOWN_HOSTS is set: ${{ secrets.KNOWN_HOSTS != '' }}"
echo "AWS_INSTANCE_IP is set: ${{ secrets.AWS_INSTANCE_IP != '' }}"
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.AWS_INSTANCE_SSH_PRIVATE_KEY }}
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Network debugging
env:
HOST: ${{ secrets.AWS_INSTANCE_IP }}
run: |
echo "Attempting to ping the instance..."
ping -c 4 $HOST
echo "Attempting to telnet to port 22..."
timeout 5 telnet $HOST 22
echo "Checking route to the instance..."
traceroute $HOST
- name: Deploy to EC2
env:
HOST: ec2-user@${{ secrets.AWS_INSTANCE_IP }}
run: |
ssh -o StrictHostKeyChecking=accept-new [email protected] "
sudo mkdir -p /opt/albertclo.com &&
sudo chown -R ec2-user:ec2-user /opt/albertclo.com &&
cd /opt/albertclo.com &&
if [ ! -d .git ]; then git clone https://github.com/AlbertClo/albertclo.com.git . ; fi &&
git config --global --add safe.directory /opt/albertclo.com &&
git remote set-url origin https://github.com/AlbertClo/albertclo.com.git &&
git add -A && git reset HEAD --hard &&
git checkout main &&
git fetch origin &&
git reset --hard origin/main &&
docker-compose --env-file .env -f infra/docker/docker-compose.yml up -d
docker-compose --env-file .env -f infra/docker/docker-compose.yml exec php composer install &&
docker-compose --env-file .env -f infra/docker/docker-compose.yml exec php php artisan migrate &&
echo 'done'"