build-utils@b7a0952ceb | ||
files | ||
.gitignore | ||
.gitmodules | ||
Jenkinsfile | ||
Makefile | ||
packer.json | ||
README.md |
#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