Go to file
Grigory Antsiferov f48d3e1c3d MSPF-66: Title for github
* build-utils
** repo_init.sh
   Use -o IdentityFile instead of -i;
** utils-repo.mk
   Update to escape % in both keys.
2016-08-05 12:22:59 +03:00
bootstrap MSPF-66: Title for github 2016-08-05 12:22:59 +03:00
build-utils MSPF-66: Title for github 2016-08-05 12:22:59 +03:00
.gitignore first commit 2016-07-27 16:06:19 +03:00
Jenkinsfile MSPF-66: Title for github 2016-08-03 16:58:40 +03:00
Makefile MSPF-66: Title for github 2016-08-03 16:58:40 +03:00
README.md first commit 2016-07-27 16:06:19 +03:00

#Images

Скрипты и инструменты для создания образов (vm images, docker containers, vagrant boxes, etc), используемых в платформе и инфраструктуре rbkmoney.

Prerequisities

Vagrant box

На OS X платформе рекомендуется использовать Vagrant rbkmoney dev box

cd dev
vagrant up
vagrant ssh
cd /base_images/

Docker hub

Перед созданием контейнеров рекомендуется авторизоваться в docker hub и получить там доступ к rbkmoney репозиториям. Большинство make команд подразумевает использование готовых приватных контейнеров rbkmoney. Только scratch builds возможны без авторизации. Для авторизации сессии в docker hub надо выполнить команду docker login.

Containers hierarchy

bootstrap
    service_base
        service_erlang
        service_go
        service_java
    host

HowTo

Build a container

Создать контейнер <container> на основе готового родительского контейнера, согласно containers hierarchy. Последняя версия родительского контейнера скачивается из репозитория rbkmoney на docker hub (если локальная версия соответствует последней из docker hub, docker использует её после проверки).

make <container>

Смотри список доступных значений <container> в Containers hierarchy.

Build a container from scratch

Создать контейнер <container> с нуля, т.е. построить контейнер и все родительские контейнеры в иерархии. Если какой-либо родительский контейнер уже строился локально, то он может быть взят из локального docker image registry (если его зависимости не изменялись с последнего билда - стандартная логика make). docker pull использован не будет.

FROM_SCRATCH=true make <container>

Rebuild a container

Если необходимо перестроить уже созданный контейнер, надо удалить файл .state в папке контейнера: <container>/.state. В противном случае make не запустит пересборку при отсутствии изменений в зависимостях контейнера.

Push a container

Сохранить контейнер с тегом latest в rbkmoney docker hub.

CONTAINER=<container> make push