name: Production-Deploy on: push: tags: - v1.** jobs: Build-and-deploy-Production: runs-on: ubuntu-latest steps: - name: Check out repository code uses: actions/checkout@v3 - run: echo " The ${{ gitea.repository }} repository has been cloned to the runner." - uses: actions/setup-dotnet@v3 with: dotnet-version: '7.0.x' - run: dotnet publish ${{ gitea.workspace }}/csharp/App/Backend/Backend.csproj -c Release -r linux-x64 --self-contained true -p:PublishTrimmed=false - uses: actions/setup-node@v3 - run: | npm --prefix ${{ gitea.workspace }}/typescript/frontend-marios2 install npm --prefix ${{ gitea.workspace }}/typescript/frontend-marios2 run build - name: stop services uses: appleboy/ssh-action@v0.1.4 with: host: 194.182.190.208 username: ubuntu password: ${{ secrets.PRODUCTION_SSH_PASSPHRASE }} script: | sudo systemctl stop backend - name: Copy Backend uses: appleboy/scp-action@v0.1.4 with: host: 194.182.190.208 username: ubuntu key: ${{ secrets.PRODUCTION_SSH_KEY }} source: "${{ gitea.workspace }}/csharp/App/Backend/bin/Release/net6.0/linux-x64/publish/" target: "~/backend" overwrite: true strip_components: 1 - name: Copy Frontend uses: appleboy/scp-action@v0.1.4 with: host: 194.182.190.208 username: ubuntu key: ${{ secrets.PRODUCTION_SSH_KEY }} source: "${{ gitea.workspace }}/typescript/frontend-marios2/" target: "~/frontend" overwrite: true strip_components: 1 - name: restart services uses: appleboy/ssh-action@v0.1.4 with: host: 194.182.190.208 username: ubuntu password: ${{ secrets.PRODUCTION_SSH_PASSPHRASE }} script: | sudo systemctl restart backend sudo cp -rf ~/frontend/build/* /var/www/html/monitor.innov.energy/html/ sudo npm install -g serve