Skip to content

Logs (#99)

Logs (#99) #46

Workflow file for this run

name: Deployment
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: "Set up .NET"
uses: actions/setup-dotnet@v3
with:
dotnet-version: "8.x"
- name: "Build"
run: |
dotnet build --configuration Release SensoBackend
- name: "Publish"
run: |
dotnet publish --configuration Release SensoBackend --output dist
- name: "Upload artifact"
uses: actions/upload-artifact@v3
with:
name: "dist"
path: "dist"
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: "Install SSH Key"
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_PRIVATE_DEPLOYMENT_KEY }}
known_hosts: "just-a-placeholder-so-we-dont-get-errors"
- name: "Add known host"
run: |
ssh-keyscan -H ${{ secrets.DEPLOYMENT_HOST }} >> ~/.ssh/known_hosts
- name: "Download artifact from build"
uses: actions/download-artifact@v3
with:
name: dist
path: ./dist
- name: "Stop Senso service"
run: |
ssh ${{ secrets.DEPLOYMENT_USER }}@${{ secrets.DEPLOYMENT_HOST }} "sudo systemctl stop senso.service"
- name: "Rsync to server"
run: |
rsync -avz ./dist/ ${{ secrets.DEPLOYMENT_USER }}@${{ secrets.DEPLOYMENT_HOST }}:/srv/senso/
- name: "Start Senso service"
run: |
ssh ${{ secrets.DEPLOYMENT_USER }}@${{ secrets.DEPLOYMENT_HOST }} "sudo systemctl start senso.service"
# I'm not sure if this step is necessary, but I couldn't quickly find the answer online, so it stays for now.
- name: "Autostart Senso service"
run: |
ssh ${{ secrets.DEPLOYMENT_USER }}@${{ secrets.DEPLOYMENT_HOST }} "sudo systemctl enable senso.service"