diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..d35773e --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,31 @@ +name: hugo-deploy +run-name: build and deploy hugo page +on: + push: + branches: + - main +defaults: + run: + shell: bash +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version: '18.x' + - run: npm ci + - run: npm run build + + - uses: webfactory/ssh-agent@v0.7.0 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + - name: Add known host + run: | + sudo mkdir -p ~/.ssh + sudo chmod 700 ~/.ssh + sudo echo "${{ secrets.KNOWN_HOST_KEY }}" > ~/.ssh/known_hosts + - name: Deploy with rsync + run: rsync -atv --delete --progress --checksum --whole-file -e ssh dist/ ${{ secrets.REMOTE_USER }}@${{ secrets.REMOTE_HOST }}:${{ secrets.DEPLOY_LOCATION }}