Как настроить CI/CD
Python
Middle
Без компании
Как настроить CI/CD
Ответы
Для настройки CI/CD в Python-проектах обычно используют GitHub Actions, GitLab CI/CD или Jenkins. Рассмотрим пример с GitHub Actions.
- **Создайте файл `.github/workflows/main.yml`** в корне проекта:
```
name: CI/CD Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests
run: pytest
```
- **Добавьте деплой** (например, на Heroku):
```
deploy:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: akhileshns/heroku-deploy@v3.12.12
with:
heroku_api_key: ${{ secrets.HEROKU_API_KEY }}
heroku_app_name: "your-app-name"
heroku_email: "your-email@example.com"
```
Ключевые моменты:
- Тесты запускаются автоматически при push/pull request
- Деплой происходит только после успешного прохождения тестов
- Секреты (API ключи) хранятся в GitHub Secrets
- Можно добавить steps для линтеров (flake8, black), нотификаций и т.д.