update
This commit is contained in:
@@ -2,8 +2,8 @@ name: Deploy CD Server
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
# branches:
|
branches: ['**']
|
||||||
# - main
|
# - main
|
||||||
# paths:
|
# paths:
|
||||||
# - 'workspace/sprint_1_2/CODEBASE/deps/implementation/CD_server/**'
|
# - 'workspace/sprint_1_2/CODEBASE/deps/implementation/CD_server/**'
|
||||||
|
|
||||||
@@ -16,6 +16,17 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
|
||||||
|
- name: Copy CD server code to VM
|
||||||
|
uses: appleboy/scp-action@v0.1.7
|
||||||
|
with:
|
||||||
|
host: ${{ vars.LIGHTSAIL_DEPLOY_HOST }}
|
||||||
|
username: ${{ secrets.LIGHTSAIL_USERNAME }}
|
||||||
|
key: ${{ secrets.LIGHTSAIL_SSH_KEY }}
|
||||||
|
port: ${{ vars.LIGHTSAIL_PORT }}
|
||||||
|
source: "workspace/sprint_1_2/CODEBASE/deps/implementation/CD_server/"
|
||||||
|
target: "/opt/cd-server/"
|
||||||
|
strip_components: 0
|
||||||
|
|
||||||
- name: Deploy to Lightsail VM
|
- name: Deploy to Lightsail VM
|
||||||
uses: appleboy/ssh-action@v1.0.3
|
uses: appleboy/ssh-action@v1.0.3
|
||||||
with:
|
with:
|
||||||
@@ -34,31 +45,20 @@ jobs:
|
|||||||
sudo useradd -m -s /bin/bash deploy
|
sudo useradd -m -s /bin/bash deploy
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "[deploy] Adding deploy user to docker group"
|
echo "[deploy] Adding deploy user to docker group"
|
||||||
sudo usermod -aG docker deploy || true
|
sudo usermod -aG docker deploy || true
|
||||||
|
|
||||||
echo "[deploy] Creating $DEPLOY_DIR"
|
echo "[deploy] Ensuring $DEPLOY_DIR ownership"
|
||||||
sudo mkdir -p "$DEPLOY_DIR"
|
|
||||||
sudo chown deploy:docker "$DEPLOY_DIR"
|
|
||||||
|
|
||||||
echo "[deploy] Syncing code to $DEPLOY_DIR"
|
|
||||||
sudo rsync -avz --delete \
|
|
||||||
--exclude='.git' \
|
|
||||||
--exclude='__pycache__' \
|
|
||||||
--exclude='*.pyc' \
|
|
||||||
--exclude='.env' \
|
|
||||||
./workspace/sprint_1_2/CODEBASE/deps/implementation/CD_server/ "$DEPLOY_DIR/"
|
|
||||||
|
|
||||||
sudo chown -R deploy:docker "$DEPLOY_DIR"
|
sudo chown -R deploy:docker "$DEPLOY_DIR"
|
||||||
|
|
||||||
echo "[deploy] Building CD server Docker image"
|
|
||||||
sudo -u deploy docker compose -f "$DEPLOY_DIR/docker-compose.yml" build --no-cache
|
|
||||||
|
|
||||||
echo "[deploy] Creating .env file"
|
echo "[deploy] Creating .env file"
|
||||||
sudo -u deploy bash -c "echo 'WEBHOOK_SECRET=${{ secrets.WEBHOOK_SECRET }}' >> $DEPLOY_DIR/.env"
|
sudo -u deploy bash -c "echo 'WEBHOOK_SECRET=${{ secrets.WEBHOOK_SECRET }}' >> $DEPLOY_DIR/.env"
|
||||||
sudo -u deploy bash -c "echo 'AWS_ECR_REGION=${{ secrets.AWS_ECR_REGION }}' >> $DEPLOY_DIR/.env"
|
sudo -u deploy bash -c "echo 'AWS_ECR_REGION=${{ secrets.AWS_ECR_REGION }}' >> $DEPLOY_DIR/.env"
|
||||||
sudo chmod 600 "$DEPLOY_DIR/.env"
|
sudo chmod 600 "$DEPLOY_DIR/.env"
|
||||||
|
|
||||||
|
echo "[deploy] Building CD server Docker image"
|
||||||
|
sudo -u deploy docker compose -f "$DEPLOY_DIR/docker-compose.yml" build --no-cache
|
||||||
|
|
||||||
echo "[deploy] Starting CD server container"
|
echo "[deploy] Starting CD server container"
|
||||||
sudo -u deploy docker compose -f "$DEPLOY_DIR/docker-compose.yml" up -d --force-recreate
|
sudo -u deploy docker compose -f "$DEPLOY_DIR/docker-compose.yml" up -d --force-recreate
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user