From c4b11a5b835eddec7f5aa7dd0730e3e8f0a27751 Mon Sep 17 00:00:00 2001 From: Benedict Ell Nino <37230456+ninoslat1@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:45:42 +0700 Subject: [PATCH] Update main.yml --- .github/workflows/main.yml | 75 +++++++++++++++++++++++++++++++------- 1 file changed, 61 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b59dedc..589424d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,20 +1,67 @@ -name: Build & Deploy +name: Excel Reader App CI/CD + on: push: - branches: [main] + branches: + - main + + pull_request: + branches: + - main jobs: - deploy: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '16' + + - name: Install dependencies + run: npm ci + + - name: Build project + run: npm run build + + deploy-docker: + name: Deploy DockerHub + needs: build + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push Docker image + env: + DOCKER_IMAGE: ${{ secrets.DOCKER_USERNAME }}/vitets-excel-reader + run: | + docker build -t $DOCKER_IMAGE . + docker push $DOCKER_IMAGE + + deploy-digitalocean: + name: Deploy DigitalOcean + needs: deploy-docker runs-on: ubuntu-latest + steps: - - name: Deploy NodeJS app - uses: appleboy/ssh-action@v0.1.2 - with: - host: ${{secrets.SSH_HOST}} # IP address of the server you wish to ssh into - key: ${{secrets.SSH_PRIVATE_KEYS}} # Private or public key of the server - username: ${{ secrets.SSH_USERNAME }} # User of the server you want to ssh into - - script: | - cd nino - git clone https://github.com/ninoslat1/vitets-excel-reader.git - echo 'Deployment successful to digital ocean' + - name: Deploy to DigitalOcean + uses: appleboy/ssh-action@v0.1.2 + with: + host: ${{ secrets.SSH_HOST }} + key: ${{ secrets.SSH_PRIVATE_KEYS }} + username: ${{ secrets.SSH_USERNAME }} + script: | + docker pull ${{ secrets.DOCKER_USERNAME }}/vitets-excel-reader