/main/python-deploy-docs-packages

Как я деплою Python-пакеты

Привет, Мир! Хочу поделиться, как я катаю пакеты Python и как всё удобно настроено.

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

  • код я храню на gitverse
  • использую pdm для питона
  • использую mkdocstings
  • имею воркфлоу, запускающийся при создании нового релиза
  • пакет заливается на pypi
  • дока заливается на хостинг


Мой workflow во время создания релиза выглядит так:

name: Publish CI/CD Pipeline

on:
  release:
    types: [published]

jobs:
  pypi-publish:
    name: upload release to PyPI
    runs-on: ubuntu-latest
    permissions:
      # This permission is needed for private repositories.
      contents: read
      # IMPORTANT: this permission is mandatory for trusted publishing
      id-token: write
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Python
        uses: pdm-project/setup-pdm@v4

      - name: Publish package distributions to PyPI
        run: pdm publish -u ${{ secrets.PYPI_USERNAME }} -P ${{ secrets.PYPI_PASSWORD }} --skip-existing

      - name: Show ls
        run: ls -lah

      - name: Build docs
        run: mkdocs build

      - name: Publish docs
        uses: SamKirkland/FTP-Deploy-Action@v4.3.5
        with:
          server: ${{ secrets.timeweb_host }}
          username: ${{ secrets.timeweb_username }}
          password: ${{ secrets.timeweb_password }}
          local-dir: ./site/
          server-dir: /statement-reader/public_html/


Затем я просто создаю в интерфейсе gitverse тег+релиз и иду пить чай!



25.07.2025
tags: python deploy git
/main/python-deploy-docs-packages