Skip to content

update

update #56

Workflow file for this run

name: Deploy to Oracle Cloud VM
on:
push:
branches:
- dev_oracle
jobs:
deploy:
runs-on: ubuntu-latest
env:
OCI_HOST: ${{ secrets.OCI_HOST }}
OCI_USERNAME: ${{ secrets.OCI_USERNAME }}
REPO_NAME: ${{ github.repository }}
API_ENV_CONTENT: ${{ secrets.API_ENV_CONTENT }}
SOCIAL_ENV_CONTENT: ${{ secrets.SOCIAL_ENV_CONTENT }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Configure SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.OCI_SSH_KEY }}" | tr -d '\r' > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
echo "Host *" > ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
echo " UserKnownHostsFile /dev/null" >> ~/.ssh/config
- name: Create temp .env files
run: |
echo "$API_ENV_CONTENT" > api.env
echo "$SOCIAL_ENV_CONTENT" > social.env
- name: Upload .env files to Oracle VM
run: |
scp -i ~/.ssh/id_rsa api.env $OCI_USERNAME@$OCI_HOST:/home/$OCI_USERNAME/app/api-service/.env
scp -i ~/.ssh/id_rsa social.env $OCI_USERNAME@$OCI_HOST:/home/$OCI_USERNAME/app/social-media-service/.env
- name: Deploy to Oracle Cloud Instance
run: |
ssh -i ~/.ssh/id_rsa $OCI_USERNAME@$OCI_HOST <<EOF
set -e
echo "πŸ”„ Updating packages..."
sudo dnf update -y
echo "🐳 Starting Docker..."
sudo systemctl start docker || true
sudo systemctl enable docker || true
echo "🧹 Preparing app directory..."
APP_DIR="/home/$OCI_USERNAME/app"
sudo rm -rf "\$APP_DIR"
mkdir -p "\$APP_DIR"
cd "\$APP_DIR"
echo "πŸ“₯ Cloning latest code..."
git clone --branch dev_oracle https://github.com/$REPO_NAME.git .
echo "πŸ“¦ Verifying uploaded .env files..."
ls -l ./api-service/.env || echo "❌ Missing API .env"
ls -l ./social-media-service/.env || echo "❌ Missing Social .env"
echo "πŸ“¦ Showing contents..."
cat ./api-service/.env || echo "❌ Can't read API .env"
cat ./social-media-service/.env || echo "❌ Can't read Social .env"
echo "🧹 Stopping containers..."
docker-compose -f deploy/docker-compose.yml down || true
echo "πŸš€ Running deploy.sh..."
chmod +x ./deploy.sh
./deploy.sh --up
echo "🧼 Cleaning Docker..."
docker system prune -f || true
EOF