О чем этот курс
Этот курс — быстрый и понятный старт в DevOps для тех, кто только начинает. Вы освоите основы Linux и командной строки, разберётесь, как работают процессы и сети, научитесь пользоваться Git, создавать образы и запускать контейнеры в Docker. Мы свяжем разработку, тестирование и эксплуатацию в единую цепочку ценности и покажем, как Dev, Test и Ops работают вместе.
Курс построен по принципу «минимум теории — максимум практики». Каждый модуль сопровождается упражнениями: от базовой навигации по файловой системе до сборки собственного Docker-образа и запуска контейнера. Вы научитесь настраивать переменные окружения, собирать логи и смотреть метрики, чтобы понимать состояние приложения в реальном времени.
flowchart TB dev["Dev"] bld["Build"] tst["Test"] pkg["Package"] dpl["Deploy"] run["Run"] mon["Monitor"] sc["Source Control"] ci["CI"] reg["Artifact Registry"] env["Environment
(Staging/Prod)"] dev -- "коммит/пуш" --> sc sc -- "триггер CI" --> ci ci -- "запуск сборки" --> bld dev -- "сборка" --> bld bld -- "тестирование" --> tst tst -- "упаковка" --> pkg pkg -- "развёртывание" --> dpl dpl -- "выбор окружения" --> env env -- "запуск" --> run run -- "мониторинг" --> mon pkg -- "публикация артефакта" --> reg reg -- "артефакт для деплоя" --> dpl bld -. "обратная связь" .-> dev tst -. "обратная связь" .-> dev run -. "обратная связь" .-> dev mon -. "инциденты и метрики" .-> dev
В финале вы создадите простейший конвейер CI: автоматическая проверка кода (линт/тесты), сборка образа и публикация в реестр. Затем выполните базовое развертывание учебного приложения и убедитесь, что всё работает: контейнер стартует, переменные окружения подхватываются, логи пишутся, метрики видны. Это ваш первый сквозной опыт Dev→Test→Deploy→Monitor.
Что вы сделаете своими руками
- Освоите ключевые команды Linux для повседневной работы DevOps-инженера.
- Развернёте и исследуете контейнеры, поймёте устройство образов и слоёв.
- Настроите простую CI-проверку на GitHub Actions или GitLab CI.
- Соберёте Docker-образ и опубликуете его в реестре, после чего развернёте учебное приложение.
sequenceDiagram
autonumber
participant Dev
participant Git
participant CI
participant Registry
participant Staging
Dev->>Git: Пуш в репозиторий
Git-->>CI: Вебхук: запуск пайплайна
CI->>CI: Линт и тесты
CI->>CI: Сборка образа
CI->>Registry: Публикация образа
CI->>Staging: Деплой с переменными окружения
CI->>Staging: Проверка логов и метрик
Примеры, с которыми вы познакомитесь
Базовые команды Linux:
# Навигация по системе pwd ls -la # Сеть: интерфейсы и HTTP-заголовки ip a curl -I https://example.com # Сервисы и логи sudo systemctl status nginx journalctl -u nginx --since "-1h"
Минимальный Dockerfile для учебного приложения:
FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt --no-cache-dir COPY . . ENV PORT=8000 CMD ["python", "-m", "http.server", "8000"]
Пример простого CI на GitHub Actions (проверка, сборка и публикация образа):
name: ci
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install deps
run: pip install -r requirements.txt
- name: Lint
run: flake8 .
- name: Test
run: pytest -q
- name: Build image
run: docker build -t ghcr.io/OWNER/APP:${{ github.sha }} .
- name: Log in to GHCR
run: echo $CR_PAT | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
env:
CR_PAT: ${{ secrets.CR_PAT }}
- name: Push image
run: docker push ghcr.io/OWNER/APP:${{ github.sha }}
Деплой собранного образа на сервер:
# Файл .env PORT=8000 APP_ENV=staging # Запуск контейнера docker run -d \ --name demo \ --restart unless-stopped \ --env-file .env \ -p 8000:8000 \ ghcr.io/OWNER/APP:latest
После прохождения курса у вас будет цельное представление о том, как код попадает в продакшен и как его поддерживать: от git-ветки до запущенного контейнера под наблюдением логов и метрик.
Оглавление
-
Введение в DevOps и роль Linux/CLI
-
Навигация и файловая система Linux: основные команды
-
Квиз: основы командной строки и навигации
-
Права, пользователи, процессы, сеть и логи
-
Тест: права, процессы и переменные окружения
-
Сопоставьте команду с задачей
-
Docker и Git в контексте DevOps: от образа к CI/CD
-
Bash-скрипт: системный отчёт и фильтрация логов
-
Домашнее задание: Docker-образ и контейнер учебного приложения
-
Домашнее задание: простая CI-проверка и базовый деплой
- Связь разработки, тестирования и эксплуатации (Dev–Test–Ops)
- Процессы и сервисы: ps, systemd, логи
- Основы сетей: TCP/IP, порты, DNS, отладка трафика
- Git для новичков: ветки, коммиты, pull/merge
- Docker: образы, контейнеры, тома и сети
- Dockerfile и реестры: слои, теги, публикация
- Переменные окружения и конфигурации
- Логирование и базовый мониторинг
- CI/CD: простая CI-проверка (линт/тесты) и сборка образа
- Базовое развертывание учебного приложения
-
Сертификат



