DevOps инструменты

Docker, Docker Compose, Kubernetes, Helm, GitHub Actions

Docker

Справочный блок 1

Собрать образ

Код
docker build -t image:tag .

Запустить контейнер

Код
docker run -d -p 8080:80 --name container image

Список контейнеров

Код
docker ps -a

Остановить контейнер

Код
docker stop container

Удалить контейнер

Код
docker rm container

Логи

Код
docker logs container

Войти в контейнер

Код
docker exec -it container sh

Список образов

Код
docker images

Удалить образ

Код
docker rmi image

Docker Compose

Справочный блок 2

Запустить

Код
docker-compose up -d

Остановить

Код
docker-compose down

Логи

Код
docker-compose logs -f

Пересобрать

Код
docker-compose up -d --build

Пример docker-compose.yml

Код
version: "3.8"
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: pass

Kubernetes

Справочный блок 3

Создать pod

Код
kubectl run nginx --image=nginx

Список pods

Код
kubectl get pods

Описание pod

Код
kubectl describe pod name

Логи

Код
kubectl logs pod-name

Применить манифест

Код
kubectl apply -f manifest.yaml

Удалить ресурс

Код
kubectl delete pod name

Масштабирование

Код
kubectl scale deployment name --replicas=3

Порт-форвардинг

Код
kubectl port-forward pod 8080:80

Helm

Справочный блок 4

Установить чарт

Код
helm install release-name chart-name

Список релизов

Код
helm list

Обновить

Код
helm upgrade release-name chart-name

Удалить

Код
helm uninstall release-name

Поиск чартов

Код
helm search repo keyword

GitHub Actions

Справочный блок 5

Базовый workflow

Код
name: CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: npm install
      - run: npm test

Триггеры

Код
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

Переменные окружения

Код
env:
  NODE_ENV: production

Секреты

Код
secrets:
  API_KEY: ${{ secrets.API_KEY }}