Skip to content
This repository has been archived by the owner on Nov 25, 2017. It is now read-only.

scala-moscow/deploy

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

Deploy for all *.scala.moscow servers & containers

Join the chat at https://gitter.im/scala-moscow/scala.moscow

Схема

Настройка с помощью ansible, сервисы запускаются в контейнерах docker.

В данный момент используется один VDS с 512mb RAM и SSD, в котором стартуют все docker контейнеры. При необходимости количество VDS можно будет увеличить и разнести по ним docker контейнеры.

С помощью ansible настраивается basehost0 и docker images внутри него, но не создаются контейнеры. Docker images создаются на основе phusion baseimage.

Image создаются только если image с таким названием и версией ещё нет в локальном хранилище. Поэтому для пересборки image нужно поднять в group_vars/basehosts соотвествующую версию в настройке docker_%NAME%_image_version.

Основная конфигурация внутри images делается силами ansible, а не Dockerfiles. Для этого создаётся временный контейнер, который настраивается с помощью ansible через playbook с названием setup_%IMAGE%_image.yml. После конфигурации через ansible изменения во временном конейтнере commit'яться и получается конечный image.

На основе созданных images уже строятся различные контейнеры.

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

Docker images

  • base - phusion baseimage (ubuntu 14.04) + ansible
  • nginx - base + nginx

Docker контейнеры

Локальный запуск

  • поставить vagrant
  • поставить ansible
  • находясь в корне репозитория vagrant up
  • будет запущена vagrant машина с ip адресом 192.168.78.10
  • прописать в /etc/hosts домены для scala.moscow
192.168.78.10 scala.moscow.local hub.scala.moscow.local feed.scala.moscow.local
  • ansible запускать с опцией
anbible-playbook -i vagrant.hosts PLAYBOOK

Provisioning

  • setup_basehost0.yml – настройка basehost0

  • setup_images.yml – настройка базовых images для docker

  • setup_basehosts_and_images.yml – настройка всех basehost и images в них

  • setup_containers.yml – настройка контейнеров

  • site.yml – настройка всего сразу

Остальные playbook запускаются внутри контейнеров из basehost, запуск их локально не имеет смысла.

Shell доступ

  • basehost0
vagrant ssh
  • контейнеры
vagrant ssh
docker exec -ti NAME bash

About

💀 ansible configs for deploying scala.moscow sites

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages