Build and deploy zoug.fr #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deployer | |
run-name: Build and deploy zoug.fr | |
on: | |
push: | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
environment: deploy | |
steps: | |
- name: Checkout the current branch | |
uses: actions/checkout@v3 | |
- name: Create .ssh folder for runner | |
run: mkdir ~/.ssh && chmod 700 ~/.ssh | |
- name: Copy private key to file | |
env: | |
PRIVKEY: ${{ secrets.CI_SSH_PRIVKEY }} | |
run: echo "$PRIVKEY" > ~/.ssh/id_ed25519 && chmod 500 ~/.ssh/id_ed25519 | |
- name: Scan the host key | |
env: | |
HOST: ${{ secrets.CI_SSH_HOSTNAME }} | |
run: ssh-keyscan $HOST > ~/.ssh/known_hosts | |
- name: Install Zola | |
run: sudo snap install zola --edge | |
- name: Build the website | |
run: zola build | |
- name: Deploy the website | |
env: | |
USER: ${{ secrets.CI_SSH_USER }} | |
HOST: ${{ secrets.CI_SSH_HOSTNAME }} | |
run: rsync -avx -e "ssh -i ~/.ssh/id_ed25519" --delete --exclude '.ssh' public/ $USER@$HOST:./ |