name: Deploy static site on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 - name: Install rsync run: | sudo apt-get update sudo apt-get install -y rsync - name: Setup SSH run: | mkdir -p ~/.ssh echo "${{ secrets.DEPLOY_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -p ${{ secrets.DEPLOY_PORT }} -t rsa ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts cat <> ~/.ssh/config Host deploy HostName ${{ secrets.DEPLOY_HOST }} User ${{ secrets.DEPLOY_USER }} Port ${{ secrets.DEPLOY_PORT }} IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes StrictHostKeyChecking yes HostKeyAlgorithms ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa EOF - name: Deploy via rsync run: | rsync -avz --delete \ -e "ssh deploy" \ index.html styles.css de/ en/ \ deploy:${{ secrets.DEPLOY_PATH }}