Go to file
2016-08-09 22:41:58 +03:00
build-utils@b7a0952ceb build_utils -> build-utils 2016-08-09 22:32:37 +03:00
files MSPF-66: Cleanup, download and import stage3 instead of doing so inside the container; 2016-08-09 17:26:27 +03:00
.gitignore MSPF-66: Update to use submodule build-utils. 2016-08-09 21:53:56 +03:00
.gitmodules build_utils -> build-utils 2016-08-09 22:32:37 +03:00
Jenkinsfile build_utils: subproject update. 2016-08-09 22:26:24 +03:00
Makefile Makefile: and now it will probably work. 2016-08-09 22:41:58 +03:00
packer.json MSPF-66: Cleanup, download and import stage3 instead of doing so inside the container; 2016-08-09 17:26:27 +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