fix CD part 7
All checks were successful
CI / build-test (push) Successful in 45s
Deploy Staging (Docker) / deploy (push) Successful in 32s

This commit is contained in:
Do Manh Phuong 2026-05-10 23:43:58 +07:00
parent ee462d5544
commit 6714ef5011

View File

@ -11,44 +11,20 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Build & Save Image - name: Build Image
run: | run: |
IMAGE="${{ secrets.IMAGE_NAME }}" IMAGE="${{ secrets.IMAGE_NAME }}"
if [ -z "$IMAGE" ]; then IMAGE="ttmt-frontend"; fi if [ -z "$IMAGE" ]; then IMAGE="ttmt-frontend"; fi
IMAGE=$(echo "$IMAGE" | tr '[:upper:]' '[:lower:]') IMAGE=$(echo "$IMAGE" | tr '[:upper:]' '[:lower:]')
docker build --build-arg NODE_VERSION=22.14.0 -t $IMAGE:staging-${{ github.sha }} . docker build --build-arg NODE_VERSION=22.14.0 -t $IMAGE:staging-${{ github.sha }} .
docker save -o ./ttmt-frontend.tar $IMAGE:staging-${{ github.sha }}
- name: Upload Image Tar - name: Deploy local (docker compose)
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_PORT: ${{ secrets.SSH_PORT }}
SSH_USER: ${{ secrets.SSH_USER }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: | run: |
pwd
ls -lah
ls -lah ./ttmt-frontend.tar
mkdir -p ~/.ssh
printf '%s' "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
SSH_PORT="${SSH_PORT:-22}"
scp -v -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P "$SSH_PORT" ./ttmt-frontend.tar "$SSH_USER@$SSH_HOST:/tmp/ttmt-frontend.tar"
- name: Deploy on target (docker compose)
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.SSH_PORT }}
script: |
IMAGE="${{ secrets.IMAGE_NAME }}" IMAGE="${{ secrets.IMAGE_NAME }}"
if [ -z "$IMAGE" ]; then IMAGE="ttmt-frontend"; fi if [ -z "$IMAGE" ]; then IMAGE="ttmt-frontend"; fi
IMAGE=$(echo "$IMAGE" | tr '[:upper:]' '[:lower:]') IMAGE=$(echo "$IMAGE" | tr '[:upper:]' '[:lower:]')
COMPOSE_FILE=/home/compmanage/docker-compose.yml COMPOSE_FILE=/home/compmanage/docker-compose.yml
OVERRIDE_FILE=/tmp/ttmt-frontend.override.yml OVERRIDE_FILE=/tmp/ttmt-frontend.override.yml
docker load -i /tmp/ttmt-frontend.tar
cat > $OVERRIDE_FILE <<EOF cat > $OVERRIDE_FILE <<EOF
services: services:
frontend: frontend:
@ -56,4 +32,4 @@ jobs:
EOF EOF
docker rm -f ttmt-frontend || true docker rm -f ttmt-frontend || true
docker compose -f $COMPOSE_FILE -f $OVERRIDE_FILE up -d --no-deps --force-recreate frontend docker compose -f $COMPOSE_FILE -f $OVERRIDE_FILE up -d --no-deps --force-recreate frontend
rm -f /tmp/ttmt-frontend.tar $OVERRIDE_FILE rm -f $OVERRIDE_FILE