DevOps-инженер

Зарплата

от 50 000 ₽

Требования

ДругоеDevOps

Местоположение и тип занятости

Неполный рабочий деньМожно удаленно

Компания

Разработчик веб и мобильных приложений

Описание вакансии

Условия работы

Описание:

Деплой производится из Gitlab монорепозитория.

Каждая монорепа содержит некоторые из этих элементов:

  • директория /gcf, в которой находятся все GCF (Google Cloud Function) проекта

  • /api-gateway - nodejs сервер, который нужно деплоить в GKE (Google Kubernetes Engine)

  • /react-native - ios/android приложение

  • /react - веб приложение

Каждая монорепа имеет 2 перманентных ветки:

  • master - код в продакшене

  • dev - сюда мержим все новые фичи

Каждый merge request представляет из себя законченную фичу или фикс, имеет собственную semantic  версию (выше dev) и release notes в каждом мерж-коммите.

Что нужно:

При любом коммите в ветки фичей (все ветки кроме dev и master), нужно запускать автотесты. В каждом инстансе кода (сервер, gcf, мобильные приложения и тд) тесты запускаются идентично - `npm run test`. Нативных тестов в мобильных приложениях нет.

При мерже в dev, должен происходить деплой в staging environment.

    • gcf и api-gateway билдить и деплоить в staging Google Cloud Project (на этом же проекте желательно хостить CI/CD инфраструктуру)

    • react-native - генерить apk и сохранять его в GCS (Google Cloud Storage), может позже еще и testflght с google play beta добавить, но там вроде проблемы будут с частыми мержами, а также версионности нет.

    • react - билдить и отправлять файлы в GCS бакет, прикрепленный к staging субдомену.

          При мерже в master:

    • gcf и api-gateway билдить и деплоить в production Google Cloud Project

    • react-native отправлять в Google Play и App Store вместе с версией и release notes

    • react - билдить и отправлять файлы в GCS бакет, прикрепленный к продакшен домену.

          Все должно работать в облаке без участия персональных машин.

    Организационное:

    Проектов несколько, регулярно появляются новые, для всех нужно делать аналогичную настройку, код везде на основе одних и тех же бойлерплейтов. Кроме того, само собой, нужно обновлять всю эту инфраструктуру со временем и добавлять новые удобства.

    Оплата сдельная за каждый таск.

    Начните свою заявку с чего-нибудь, что может знать только человек, имеющий отличные знания для решения вышеописанной задачи. Например, можно описать, как вы хотите билдить ios бандл и как быть с версией и release notes при отправке в App Store.

      Бонусы

      Дополнительные инструкции

      Работа как в Apple! Меняем мир, газировку не продаем!