Innovenergy_trunk/.gitea/workflows/prod-deploy.yaml

47 lines
1.9 KiB
YAML

name: Production-Deploy
on:
push:
tags:
- v1.**
jobs:
Build-and-deploy-Production:
runs-on: ubuntu-latest
steps:
- run: echo " The job was automatically triggered by a ${{ gitea.event_name }} event."
- run: echo " The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- 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: Configure SSH
run: |
mkdir -p ~/.ssh/
echo "$SSH_KEY" > ~/.ssh/production.key
chmod 600 ~/.ssh/production.key
cat >>~/.ssh/config <<END
Host production
HostName $SSH_HOST
User $SSH_USER
IdentityFile ~/.ssh/production.key
StrictHostKeyChecking no
END
env:
SSH_USER: ubuntu
SSH_KEY: ${{ secrets.PRODUCTION_SSH_KEY }}
SSH_HOST: ${{ secrets.PRODUCTION_SSH_HOST }}
- run: |
cd ${{ gitea.workspace }}
scp -r ./csharp/App/Backend/bin/Release/net6.0/linux-x64/publish/ production:~/backend
scp -r ./typescript/frontend-marios2/* production:~/frontend/
ssh production 'sudo systemctl restart backend'
ssh production 'sudo cp -rf ~/frontend/build/* /var/www/html/monitor.innov.energy/html/'
ssh production 'sudo npm install -g serve'
- run: echo " This job's status is ${{ job.status }}."