@pro_ansible

Страница 153 из 625
Phil
21.02.2017
15:59:04
https://t.me/Blockchain_Developers
Или давайте все к нему зайдем потрем про Salt vs Ansible

Serge
21.02.2017
16:00:01
Ивана кто-нидь забанит уже?
я забанил два аккаунта в @spbpython

Anatoly
21.02.2017
16:01:00
Google
Serge
21.02.2017
16:01:29
а что ты спросить то хочешь?
вот вопрос про Salt почему так не работает? Install my thing: cmd.run: - name: do thing after <file> exists - wait: - cmd.run: ls <file>

ну т.е. вообще как надо то?

предыдущая команда делает фигню, которую можно отследить по появлению файла

я хочу вот этот стейт с cmd.run накладывать не раньше появления файла

Anatoly
21.02.2017
16:02:46
ок

Serge
21.02.2017
16:03:36
ок
ну вот чего ок? оно выполняет do thing ... до появления файла

Dmitry
21.02.2017
16:03:55
кровь из глаз

unless чтоли ему нужен

Serge
21.02.2017
16:04:09
дальше следуют маты про 4 убитых часа, кровь из глаз и заберите меня отсюда

Dmitry
21.02.2017
16:04:24
а не, ему нужен creates вроде

Anatoly
21.02.2017
16:04:43
Serge
21.02.2017
16:04:52
а не, ему нужен creates вроде
типа в первую команду creates и require на ту команду?

Dmitry
21.02.2017
16:05:00
можно и трусы через голову надеть, безусловно

Google
Anatoly
21.02.2017
16:05:45
типа в первую команду creates и require на ту команду?
require в комманду которая зависит от вывода первой и туда уже от чего оно там зависит

Dmitry
21.02.2017
16:05:48
там еще и onchanges пахнет

но через require проще :)

короче, кровь из глаз.

начиная с cmd.run прямо кровь из глаз

Serge
21.02.2017
16:08:22
а что не так-то? ну надо запустить команду, не писать же модуль свой ради одного запуска одной инструкции

расширю контекст

Anatoly
21.02.2017
16:08:56
там еще и onchanges пахнет
ему же как стейт нужен файл а не состояние файла, если я правльно понял

Dmitry
21.02.2017
16:09:25
расширь лучше не контекст, а объясни, почему элементарного require не хватает ?

может мы поймем что-то, чего не видим

Serge
21.02.2017
16:09:58
запускаю докер контейнер с помощью dockerng.running маунчу volume надо запустить docker exec, чтобы запустить команду в этом контейнере, но не раньше чем контейнер поднимется, потому что иначе, очевидно, запускать нечего.

Serge
21.02.2017
16:12:08
у вас есть комманда в контейнере которая не запускается при старте контейнера? так?
ну типа, это просто сервисный бинарь, который лежит там в /usr/lib

это типа cli к основному процессу в контейнере

в шеле на хосте всё работает;)

Anatoly
21.02.2017
16:12:40
ну типа, это просто сервисный бинарь, который лежит там в /usr/lib
я никого не хочу учить жить но это плохая практика так делать

Serge
21.02.2017
16:13:28
я никого не хочу учить жить но это плохая практика так делать
типа плодить отдельный compose с отдельной секцией c require?

но так не пойдет. мне нужен exec в этой контейнере, чтобы по localhost я мог достучаться до процесса

я никого не хочу учить жить но это плохая практика так делать
это пока единственный путь, которым я смог командой в консоли поставить плагин в Jenkins :)

Google
Anatoly
21.02.2017
16:14:40
типа плодить отдельный compose с отдельной секцией c require?
я бы если честно написал бы поверху вашего процесса определенный враппер который бы работал как стартер.сш и запускал бы все в правильном порядке и лежал бы он в энтрипоинте

но я опять же не хочу никого учить жить

Serge
21.02.2017
16:15:20
я бы если честно написал бы поверху вашего процесса определенный враппер который бы работал как стартер.сш и запускал бы все в правильном порядке и лежал бы он в энтрипоинте
мне не надо чтобы оно вместе работало. мне надо запустить cli, сказать ему "поставь плагин" и всё. разовый запуск команды.

я бы если честно написал бы поверху вашего процесса определенный враппер который бы работал как стартер.сш и запускал бы все в правильном порядке и лежал бы он в энтрипоинте
и чтобы положить в контейнер .sh, мне надо сделать свой контейнер на базе родного jenkins, который придется поддерживать еще

и как там внутри стартиться jenkins я не очень хочу знать

Serge
21.02.2017
16:17:29
+ и завернуть это всё в юнит systemd
вы офонарели? ради запуска одного скрипта, гонять в контейнере разухабистый зоопарк system.d?

Konstantin
21.02.2017
16:17:31
Я правильно понял что изначально задача стоит запускать настроенный дженкинс с нужными плагинами?

Serge
21.02.2017
16:17:44
щас будет предложено собрать контейнер с уже установленными плагинами:)

давайте решим, что я так сделаю когда-нибудь. а сейчас в рамках изучения сраного солта, я хочу запустить команду в шеле, после появления файлика:)

Dmitry
21.02.2017
16:20:24
щито значит "после"

Dmitry
21.02.2017
16:20:34
давай так, запускаешь, если файлик существует

Serge
21.02.2017
16:20:36
ну, т.е. вот очевидно, что солт в dockerng.running воспринимает runnning не как стейт, которого надо добиться, а просто дает команду запустить контейнер и не дожидаясь успеха идет дальше

Dmitry
21.02.2017
16:20:42
это делает creates

Serge
21.02.2017
16:20:50
давай так, запускаешь, если файлик существует
я хочу дождаться, когда он появится

Konstantin
21.02.2017
16:20:50
Коли уже написал, то отправлю :) У дженкинса есть механизм конфигурирования через groovy-скрипты, он у нас так и настраивается. При старте устанавливаются нужные плагины и конфигурируются из этого же скрипта.

Dmitry
21.02.2017
16:21:32
бля, почему как только в уравнении появляется слово "докер", так сразу на свет вываливается мутное говно, от которого немедленно хочется блевануть :)

Serge
21.02.2017
16:21:52
Коли уже написал, то отправлю :) У дженкинса есть механизм конфигурирования через groovy-скрипты, он у нас так и настраивается. При старте устанавливаются нужные плагины и конфигурируются из этого же скрипта.
о! да. я их "нежно люблю";) потрахался с настройкой юзера и получением ключа апи. но. это, скорее всего, путь. а ты можешь кинуть кусок, который плагин по имени ставит?

Hackru
21.02.2017
16:22:49
плюсую за плагин по имени

Google
Hackru
21.02.2017
16:23:27
а теперь заверните в плейбук

Serge
21.02.2017
16:23:29
бля, почему как только в уравнении появляется слово "докер", так сразу на свет вываливается мутное говно, от которого немедленно хочется блевануть :)
а при чем тут докер. если state == running, то надо бы ждать этого, а не надеяться, что так будет. просто как только школота, которая пишет ansible и salt, добирается до чего-то чуть сложнее установки пакета в систему, типа aws или docker, то сразу становится ясна цена этой школоте

http://espinosa.io/blog/2014-10-17-jenkins-plugin-management-in-groovy.html
так, спасибо большое! я пошел пилить "the other way around":) забавно, что там ровно про первый же нужный мне плагин пример:)

Hackru
21.02.2017
16:24:58
я вообще не понимаю, почему это плагином идёт

Hackru
21.02.2017
16:25:18
точнее, почему этот плагин не идёт из коробки

Serge
21.02.2017
16:25:43
точнее, почему этот плагин не идёт из коробки
потому что это плагин. а вдруг напишут лучше;) а вдруг вам надо только svn

Admin
ERROR: S client not available

Serge
21.02.2017
16:26:05
потому что это плагин. а вдруг напишут лучше;) а вдруг вам надо только svn
и да, я смотрел на календарь. на счет авторов jenkins не уверен

Hackru
21.02.2017
16:26:07
сколько ты знаешь инсталляций дженкинса без гит плагина?

Serge
21.02.2017
16:26:29
сколько ты знаешь инсталляций дженкинса без гит плагина?
я всего знаю две. из них первую поднимал не я, а вторая пока без гит плагина;)

в общем, спасибо @kostya_keeper

http://espinosa.io/blog/2014-10-17-jenkins-plugin-management-in-groovy.html
в итоге сделал вот так #!groovy import jenkins.model.Jenkins def instance = Jenkins.getInstance() def updateCenter = instance.getUpdateCenter() updateCenter.updateAllSites() def deploy = updateCenter.getPlugin("git").deploy() deploy.get() if (updateCenter.isRestartRequiredForCompletion()) { def lifecycle = instance.getLifecycle() lifecycle.restart() } теперь пытаюсь нагуглить как ключи гита туда прогрузить;) SO лежит:)

меня бомбит. https://docs.google.com/document/d/1LEYX7Az08Y4YG86ZMstAQM8ad9SZdsgCVXK5McIZ-fA/edit?usp=sharing

Serge
22.02.2017
12:01:33
No need to bootstrap ложь
эээ? чо это?

Алексей
22.02.2017
12:01:52
где питон два в ubuntu

где работа с rhel ?

Google
Алексей
22.02.2017
12:02:24
requerytty же

Serge
22.02.2017
12:02:41
No need to bootstrap ложь
имеется в виду, что достаточно твоей машины. дай ммне креды от AWS машину и всё поднимется одной командой на моей машине внутри рабочей копии моей репы.

где питон два в ubuntu
у меня люди запускают плейбук из репы на винде. одной командой.

Алексей
22.02.2017
12:03:34
на предварительно подготовленной среде.

Max
22.02.2017
12:03:43
Ага

Алексей
22.02.2017
12:03:58
а приэтом не разницы под что ее готоврить

Max
22.02.2017
12:04:23
Я бы сказал что отсутствие мастера не такой уж и плюс

Serge
22.02.2017
12:04:30
на предварительно подготовленной среде.
нет. там шеллскрипт, который сетапит docker msi-кой по урлу

Алексей
22.02.2017
12:04:45
шелскрипт запускается удаленно ?

через ансибл ?

Serge
22.02.2017
12:05:08
но! умея запускать ансибл, ты можешь с локальной машины поднять что угодно. умея запускать салт, тебе нужно сначала его пропихнуть, можно конечно локальный мастер поднять. но там начнется с ключами и всё такое

в общем, можно переформулирвоать в extremly minimal bootstrap :)

Алексей
22.02.2017
12:06:38
это фантазия распространителя.

впрочем я за ансибл.

Serge
22.02.2017
12:07:11
Almost no need to bootstrap Almost no need to scale

Алексей
22.02.2017
12:07:20
годится

симметричные пункты с обоих сторон схлопни.

валт не плюс.

Страница 153 из 625