diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..39de6e0 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,32 @@ +name: Build & Deploy +on: [push, workflow_dispatch] +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: Configure Git + run: | + git config --global user.name ${{ secrets.GIT_USERNAME }} + git config --global user.email ${{ secrets.GIT_EMAIL }} + git config --global init.defaultBranch main + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true # Checkout private submodules(themes or something else). + - name: Setup SSH + uses: https://github.com/webfactory/ssh-agent@v0.7.0 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + - name: Setup Hugo + uses: https://github.com/peaceiris/actions-hugo@v2 + with: + hugo-version: 'latest' + extended: true + - name: Build + run: hugo --minify + - name: Add known host + run: + echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts + - name: Publish + run: | + rsync -av --delete public/ ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:${{ secrets.WEB_ROOT }}