@devops_ru

Страница 4338 из 4568
Vasiliy
12.09.2018
19:53:32
Собственно drone и есть CI же
с первой попавшейся статьи на хабре Continuous Integration, или для краткости CI – это особый принцип разработки программного обеспечения, который может очень сильно упростить вам жизнь. Если на пальцах, то система CI – это некая программа, которая следит за вашим Source Control, и при появлении там изменений автоматически стягивает их, билдит, гоняет тесты (конечно, если их пишут) и возможно делает кое-что ещё. В случае же неудачи она дает об этом знать всем заинтересованным лицам, в первую очередь – последнему коммитеру. Вроде как дрон это не обеспечивает и требует поддержки со стороны репозитория.

ну хз, для лабы - это вероятно важно. для разработки - важнее удобство. а сожрёт оно пару гигов памяти - ну и бог с нею.

rus
12.09.2018
19:56:51
Vasiliy
12.09.2018
19:58:41
https://thenewstack.io/understanding-the-difference-between-ci-and-cd
вывод тот же: дрон это не обеспечивает ?

Google
YURA
12.09.2018
20:00:00
Спрашивай потом читай

Let me tell you a little secret. Continuous Integration and Delivery are both development approaches. They are not linked to a specific tool or vendor

Vasiliy
12.09.2018
20:00:39
Собственно дочитал до конца. так и не понял - в чём ваше замечание к тому, что drone - чистый CD, а CI должен обеспечиваться внешними тулами.

rus

Let me tell you a little secret. Continuous Integration and Delivery are both development approaches. They are not linked to a specific tool or vendor
чуть ниже прочитайте про то, что такое CI, что такое CD и поговорим про drone ?

Let me tell you a little secret. Continuous Integration and Delivery are both development approaches. They are not linked to a specific tool or vendor
Чтобы немного помочь: Continuous Integration is essentially the repetition of the integration step with a high frequency to alleviate its pain. And the most obvious way to do it frequently is to integrate after *EVERY feature merge* (instead of waiting before an official release is announced) выделение моё.

YURA
12.09.2018
20:04:06
Дрон прекрасен. С помощью него можно делать всё. Хук Гита подтянул. Образ собрал. Хочешь тесты гоняй, хочешь нотацию отправь, дальше уже хочешь вызывай Ансибл, Хельм или баш

Vasiliy
12.09.2018
20:04:46
А если билд не удался - кто об этом узнает ?

YURA
12.09.2018
20:05:53
Тот который ожидал что он удастся

Vasiliy
12.09.2018
20:06:17
Тот который ожидал что он удастся
как он узнает-то ? почта ? телеграмм ? телепатия ?

YURA
12.09.2018
20:06:43
У нас телеграмм о том что всё ок и он успешно щас поедет в прод

Google
Vasiliy
12.09.2018
20:07:39
У нас телеграмм о том что всё ок и он успешно щас поедет в прод
@elvis_live можете кусочек .drone показать с этим самым оповещением ? больше интересует не успех, а именно неуспех.

YURA
12.09.2018
20:08:34
Блин. Неуспех не пробовал. Можно вгуглить on_failure

Наверняка что-то есть

Vasiliy
12.09.2018
20:09:25
Наверняка что-то есть
ну пофиг, успех как делаете. Серьёзно интересует посмотреть - как это в дроне делается - отдельным шагом или как ? Погуглить - я смогу завтра уже )

Vasiliy
12.09.2018
20:09:51
в случае неуспеха - деплой в прод не идёт же ?

но почему drone это CD?)
тут https://t.me/devops_ru/433700 и тут https://t.me/devops_ru/433709 я попытался описать что именно дрон не обеспечивает.

YURA
12.09.2018
20:10:48
В дроне есть последовательные и параллельные шаги. Если шаг влится - остальные не идут.

Vasiliy
12.09.2018
20:10:57
почему cd - потому что может и может хорошо

Vasiliy
12.09.2018
20:12:43
дык drone как раз это и обеспечивает
дрон следит за изменением source ? как? Вроде именно внешний тул зовёт дрона про неудачу - пока не раскрыто. впрочем, вероятно, это есть.

Nik
12.09.2018
20:13:11
но мне gitlab больше нравится

Vasiliy
12.09.2018
20:14:51
вот и вся слежка за изменениями
Ок, я теперь к этому issues + wiki + access_control вы чем обеспечиваете ?

YURA
12.09.2018
20:14:55


вот тут и фейл и success

Google
rus
12.09.2018
20:16:10
Собственно дочитал до конца. так и не понял - в чём ваше замечание к тому, что drone - чистый CD, а CI должен обеспечиваться внешними тулами.
Дело не в инструменте же, а в том, что он делает. У меня Jenkins, в своё время, пулом в 200 машин VirtualBox управлял, хотя вообще не про это должен быть =) И drone может легко в CI, на это куча статей в инторнетах или открой более старую версию drone и увидишь там CI (https://github.com/drone/drone/blob/17740d0026f535d15e8552282887e42adc58e6ea/README.md, например).

Михаил
12.09.2018
20:16:44
что drone не gitlab?)

так он и не для этого

Vasiliy
12.09.2018
20:19:02
что ты мне хочешь доказать?
я не хочу доказывать. Я хочу понять аргументацию сторонников дрона. Внешне у меня от дрона смешанные впечатления. С одной стороны интерфейс достаточно непривычный(странный) то, что он лёгкий я понял. то, что в нём тяжело вести разработку многих проектов .. ну такое. Вроде можно костылей наложить, но для команды на несколько десятков разработчиков - вроде не ок.

Nik
12.09.2018
20:20:11
вот спор что CI а что CD - это пустное. просто есть автоматизация. а дальше хоть чем назови.

Vasiliy
12.09.2018
20:20:23
Разберись для начала с тем что такое CI )
это ты про вот это https://github.com/drone/drone/blob/17740d0026f535d15e8552282887e42adc58e6ea/README.md ну спасибо. Я уж лучше по старинке.

Vasiliy
12.09.2018
20:21:12
Другой аргументации в этом треде нет.

Михаил
12.09.2018
20:21:51
вот спор что CI а что CD - это пустное. просто есть автоматизация. а дальше хоть чем назови.
хз, для меня CI это собрали докер с приложением и запушили в registry для этого подходит что угодно хоть drone, хоть jenkins а вот CD это мы прикатили наш докер образ на целевой хост

Vasiliy
12.09.2018
20:21:59
У меня сейчас на части проектов gogs + drone Я вижу, что это неудобно, да и разрабы так говорят. Я вижу как это в гитлабе. Вроде ок. Слышу много хорошего про дрон - пытаюсь понять вашу точку зрения. Может я чего-то не вижу.

YURA
12.09.2018
20:22:39
он простой и легкий. когда сервисов много - самое оно

YURA
12.09.2018
20:23:08
пустил дрон в докере и он билдит докеры) прелесть же

Artur
12.09.2018
20:23:14
Ребза, всем ночи. Вопрос на засыпку. Есть nginx который при 50к соединений и некоторого количества (примерно такого же) количества запросов к бэкенду начинает буферить запросы во временные файлы. proxy_buffering off не помогает. В итоге упираемся в лимит nofile 200к. Я правильно понимаю, что при каких-то задержках между бэком и клиентом nginx все равно будет буферить все в файлы? Или можно его как-то заставить в памяти держать (памяти 256гб)? Мне не кажется верным повышать лимит в 200к open files.

Vasiliy
12.09.2018
20:23:31
а без докера нет ci? ансибл, который поднимает чистую базу, а потом поднимает твое по?
способ поставки приложения - ансибл, докер, кубер - подробности.

Google
Artur
12.09.2018
20:23:56
хачил systcl?
да, fs.max-files 100k

Повышать?

Artur
12.09.2018
20:24:24
А, не, 200к max-files

Как и hard limit nofile

Nik
12.09.2018
20:24:31
это ты лимиты

Artur
12.09.2018
20:24:41
fs.file-max = 200000 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.tcp_max_orphans = 65536 net.ipv4.tcp_fin_timeout = 10 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_mem = 50576 64768 98152 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.tcp_orphan_retries = 0 net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_sack = 1 net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_window_scaling = 1 net.core.somaxconn = 65535 net.core.netdev_max_backlog = 1000 net.core.rmem_default = 65536 net.core.wmem_default = 65536 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216

Nik
12.09.2018
20:25:02
ss -s

Vasiliy
12.09.2018
20:25:04
дрону говоришь это делать ты через .drone-ci.yaml
повторюсь - нужна поддержка внешнего тула (примеров тут не было), где сопутствующая обёртка - непонятно. если вас чисто гит-хуки устраивают - то ок. мне нужно что-то более комплексное.

Artur
12.09.2018
20:26:09
ss -s
Total: 139003 (kernel 146166) TCP: 138681 (estab 60918, closed 51467, orphaned 0, synrecv 0, timewait 0/0), ports 0 Transport Total IP IPv6 * 146166 - - RAW 0 0 0 UDP 0 0 0 TCP 87214 60715 26499 INET 87214 60715 26499 FRAG 0 0 0

Google
Artur
12.09.2018
20:27:03
а на клиентах нет кипелайвов?
Там бенчмарк 5 по 10к соединений http2

Которые периодически шлют запросы

На бэк

Nik
12.09.2018
20:27:31
Там бенчмарк 5 по 10к соединений http2
бенч преед nginx? самописный?

И что с кипелайвами в нем?

Artur
12.09.2018
20:27:46
Да, на трех виртуалках, по два процесса

Vasiliy
12.09.2018
20:27:58
я не понимаю в чем у тебя конкретно проблема с drone
у меня лично нет проблем с дроном. но твою позицию я понял.

Artur
12.09.2018
20:27:59
Ну там http2 и соединения висят пока не отработает пул запросов

Михаил
12.09.2018
20:28:15
Nik
12.09.2018
20:28:27
Ну там http2 и соединения висят пока не отработает пул запросов
выглядит как будто сокеты открываются и закрываются на каждый запрос

Artur
12.09.2018
20:28:31
на каждый реквест переподнимается коннект?
Нет, соединение по одному на каждого клиента, итого 50к клиентов которые раз в секунду пару запросов шлют

https://nodejs.org/dist/latest-v10.x/docs/api/http2.html

Nik
12.09.2018
20:29:17
TCP: 138681 (estab 60918, closed 51467, orphaned 0, synrecv 0, timewait 0/0), ports 0

Artur
12.09.2018
20:29:33
50к снаружи в nginx, еще 50к уходит в бек соттвественно
Бэк это под nginx некоторое количество воркеров за ним на той же машине

Nik
12.09.2018
20:29:38
линки клозятся

а не должны

Artur
12.09.2018
20:30:04
Да, там сложная логика

Vasiliy
12.09.2018
20:30:19
мне даже интересно что ты понял
что дрон лёгкий, а вся прочая обвязка - проблема gogs. что я еще из твоих слов должен был понять ? :) А вообще по времени билда надо будет сравнить. Возможно, тут у гитлаба будет просадка. еще один вопрос, а какой registry используешь для докера ?

Страница 4338 из 4568