diff --git a/.github/workflows/phoenix-deployment.yml b/.github/workflows/phoenix-deployment.yml new file mode 100644 index 000000000..80c500b91 --- /dev/null +++ b/.github/workflows/phoenix-deployment.yml @@ -0,0 +1,53 @@ +name: Pheonix Deployment + +on: + workflow_run: + workflows: ["Build and Upload"] + types: + - completed + +jobs: + deploy: + if: ${{ github.event.workflow_run.conclusion == 'success' }} + runs-on: ubuntu-latest + + environment: + name: "panther-expressjs" + url: ${{ vars.URL }} + + steps: + - name: Download build artifact + uses: actions/download-artifact@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + name: boilerplate-build + path: . + + - name: Decode ENV secret + run: | + echo "${{ secrets.ENV }}" > encoded_env.txt + base64 -d encoded_env.txt > .env.expressjs + + - name: Copy Artifacts to server + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + password: ${{ secrets.PASSWORD }} + source: ".env.expressjs,boilerplate.tar.gz" + target: "/tmp/expressjs" + + - name: Deploy on server + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + password: ${{ secrets.PASSWORD }} + script: | + cd hng_boilerplate_nextjs + tar -xzf /tmp/expressjs/boilerplate.tar.gz + mv /tmp/java/.env.expressjs .env + rm -f /tmp/expressjs/boilerplate.tar.gz + cp -r .next/standalone/* . + pm2 restart nextjs_boilerplate --update-env