Skip to content

Deploy Prod

Deploy Prod #678

Workflow file for this run

name: Deploy Prod
on:
workflow_run:
workflows: [".NET Core"]
types:
- completed
jobs:
deploy:
# Solo correr cuando el workflow .NET Core terminó con éxito
# y la rama que lo disparó fue master
if: >
github.event.workflow_run.conclusion == 'success' &&
github.event.workflow_run.head_branch == 'master'
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Setup .NET
uses: actions/setup-dotnet@master
with:
dotnet-version: 10.0.x
- name: Build and publish
run: |
dotnet publish -c Release --nologo -r linux-x64 --self-contained -o ./TurneroApp
- name: Setup SSH
uses: webfactory/ssh-agent@master
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Create ZIP
uses: montudor/action-zip@master
with:
args: zip -qq -r TurneroApp.zip TurneroApp
- name: Stop Server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER }}
username: ${{ secrets.USER_NAME }}
password: ${{ secrets.SSH_PASSWORD }}
port: ${{ secrets.PORT }}
script: |
service turnero stop
- name: copy file via ssh
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SERVER }}
username: ${{ secrets.USER_NAME }}
port: ${{ secrets.PORT }}
password: ${{ secrets.SSH_PASSWORD }}
source: TurneroApp.zip
target: ${{ secrets.SRV_PATH }}
- name: Restart Server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER }}
username: ${{ secrets.USER_NAME }}
port: ${{ secrets.PORT }}
password: ${{ secrets.SSH_PASSWORD }}
script: |
unzip -o ${{ secrets.SRV_PATH }}/TurneroApp.zip
rm ${{ secrets.SRV_PATH }}/TurneroApp.zip
cp ${{ secrets.SRV_PATH }}/appsettings.json.bak ${{ secrets.SRV_PATH }}/TurneroApp/appsettings.json
service turnero start