/main/pelican-pdm-deploy

Деплой на хостинг Pelican

Привет, Мир!

Входные данные:

  • код я храню на gitverse
  • использую pdm для питона. Так как он является самым актуальным пакетным менеджером на текущий момент
  • сайт генерирую вот так
  • код я проверяю и форматирую с помощью prettier
  • катаю это дело на timeweb по ftp. Использую SamKirkland/FTP-Deploy-Action


Мой workflow для Pelican выглядит так:

name: Check blog.dkurchigin.ru and deploy
on:
  push:
jobs:
  build-test:
    name: Pelican+HTML+CSS
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Setup Node.js
        uses: actions/setup-node@v2

      - name: Install prettier
        run: npm install --save-dev --save-exact prettier@3.5.3

      - name: Run prettier
        run: npx prettier . --check

      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: "3.11"

      - name: Check python
        run: python -V

      - name: Install pdm
        run: pip install pdm

      - name: Get requirements
        run: pdm export -o requirements.txt

      - name: Install requirements
        run: pip install -r requirements.txt

      - name: Check freeze
        run: pip freeze

      - name: Run Pelican
        run: make html

      - name: Sync files
        uses: SamKirkland/FTP-Deploy-Action@v4.3.5
        with:
          server: ${{ secrets.timeweb_host }}
          username: ${{ secrets.timeweb_username }}
          password: ${{ secrets.timeweb_password }}
          local-dir: ./output/
          server-dir: /blog/public_html/


Для раннера я использую локальный раннер через докер, запускается с одного пинка по этой инструкции



03.06.2025
/main/pelican-pdm-deploy