Какой у вас опыт работы с Bitbucket?

«Какой у вас опыт работы с Bitbucket?» — вопрос из категории Git, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Я использовал Bitbucket Server (Data Center) и Bitbucket Cloud как центральные инструменты для контроля версий, код-ревью и как триггер для CI/CD-процессов.

Основные направления работы:

  • Управление репозиториями и процессами: Организовывал структуру репозиториев, внедрял и поддерживал стратегии ветвления (чаще GitFlow или Trunk-Based Development). Настраивал обязательные Pull Request (PR) с требованиями к количеству аппруверов и успешному прохождению проверок в CI.
  • Bitbucket Pipelines: Писал и поддерживал пайплайны для сборки, тестирования и деплоя приложений. Интегрировал этапы безопасности (SAST-сканирование с Snyk или Checkmarx).
  • Интеграции: Настраивал глубокую интеграцию с Jira (автоматическое связывание коммитов и PR с задачами), Slack для уведомлений и вебхуки для запуска задач в внешних системах (Jenkins, собственные скрипты).

Пример .bitbucket-pipelines.yml для деплоя в Kubernetes:

image: atlassian/default-image:3
pipelines:
  branches:
    main:
      - step:
          name: Build, Test & Push Image
          services:
            - docker
          script:
            - docker build -t $DOCKER_REGISTRY/myapp:$BITBUCKET_COMMIT .
            - docker push $DOCKER_REGISTRY/myapp:$BITBUCKET_COMMIT
      - step:
          name: Deploy to Production
          deployment: production
          script:
            - echo $KUBECONFIG_B64 | base64 -d > ./kubeconfig
            - export KUBECONFIG=./kubeconfig
            - sed -i "s|IMAGE_TAG|$BITBUCKET_COMMIT|g" k8s/deployment.yaml
            - kubectl apply -f k8s/

Почему это важно: Bitbucket служит единой точкой истины для кода, обеспечивая контроль качества через PR и автоматизируя весь путь кода от разработчика до production через встроенные пайплайны.