Change SSH command usage #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy on Production Update | |
on: | |
push: | |
branches: | |
- prod | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
environment: | |
name: production | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Configure SSH | |
run: | | |
mkdir -p ~/.ssh/ | |
echo "$PROD_SSH_KEY" > ~/.ssh/hubgpt_prod.key | |
chmod 600 ~/.ssh/hubgpt_prod.key | |
cat >>~/.ssh/config <<END | |
Host prod | |
HostName $PROD_EC2_HOST_IP | |
User $PROD_EC2_USER | |
IdentityFile ~/.ssh/hubgpt_prod.key | |
StrictHostKeyChecking no | |
END | |
env: | |
PROD_EC2_USER: ${{ secrets.STAGING_SSH_USER }} | |
PROD_SSH_KEY: ${{ secrets.STAGING_SSH_KEY }} | |
PROD_EC2_HOST_IP: ${{ secrets.STAGING_SSH_HOST }} | |
- name: Deploy to Production | |
run: | | |
ssh prod << 'EOF' | |
cd danswer | |
make re-deploy | |
echo "Deployment complete" | |
EOF | |
- name: Wait before pinging | |
run: sleep 60 | |
- name: Ping the website | |
run: | | |
response=$(curl -o /dev/null -s -w "%{http_code}\n" https://hubgpt-prod.idinsight.io) | |
if [ "$response" -eq 200 ]; then | |
echo "Site is up and returned HTTP status 200" | |
else | |
echo "Site might be down or is not returning HTTP status 200, returned HTTP status $response" | |
exit 1 | |
fi |