Автоматический деплоймент
Closed this issue · 20 comments
- Добавить на bot.radio-t.com API для этого дела -
GET /deploy
. С http auth. - Поменять загрузку всех внешнких ботов с одноразовой (во времq старта), на периодическую (дергать /list каждую минуту, и догружать/перегружать если появился/исчез бот)
- Добавить вызов API для deplpy со стороны CI
GET /deploy
Наверно все-таки POST кошернее.
Также, вместе с этим изменением желательно сделать ветку develop и деплоить ее в тестовый чат.
Или сейчас деплой идет сразу в основной чат?
для этого тебе надо строить image с тэгами. :latest
для мастера, :develop
для девелоп
Это не проблема. Только тебе нужно два сервера :)
Я как-то об этом не подумал сначала. Наверно пока лишнее.
добавил сервис на https://bot.radio-t.com:1443/deploy
его пришлось делать отдельным и независимым от того, что он деплоит и он запускается через docker-compose-deploy.yml
можешь попробовать добавить это дело в CI. Только имей ввиду - он не даст делать несколько деплоев одновременно. Пока бежит один запрос, друой будет падать на timeout
Как я понимаю, запрос будет висеть, пока деплой не кончится?
да. если это долго делать то трэвис упадет на timeout
Пока можно ограничить лимит одновременных сборок в мастере (на уровне travis).
я добавил DEPLOY_USER и DEPLOY_PASSWD в travis
хмм, wtf?
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
это оно так на /usr/bin/docker images --no-trunc | grep none | awk "{print \$3}" | xargs /usr/bin/docker rmi
При этом там есть DOCKER_HOST
и compose его видит.
Если есть идеи - дайте знать.
Так ты ж его в докере запускаешь?
Надо пробросить /var/run/docker.sock
как volume.
Хм, оно ж вроде и есть у тебя.
конечно есть, compose без этого бы ругался тоже.
unix://var/run/docker.sock
Может быть unix:///var/run/docker.sock
? (три слеша, два для протокола, другой для пути).
хмм, а зачем? пусть ждет своего часа. или вызывай с timeout своим курлом или чем оно там дергается
и таки, да unix:///var/run/docker.sock
, thx
Да, про 503 я уже передумал.
Ну и да, когда курлу говоришь перенаправлять поток, то он в stderr выводит статистику по выполнению запроса (изменяется время, количество переданных байт).
Поэтому билд будет выполняться и не убьется трэвисом.
Значит композу пофиг на ENV DOCKER_HOST, если он не ругался.
маловероятно. Скорее всего у него хватает ума на default в такой ситуавии