Подскажите, а можно ли все переменные shell-окружения, у которых имя

соответствуют шаблону, например, ANS_* импортировать, как переменные ансибл?

22 ответов

18 просмотров

Разрешаю)

Зачем?

Лучше изложить задачу целиком. А так попахивает какой то дичью )

Dmitry-Gorsky Автор вопроса
Mikhail Khoroshev
Лучше изложить задачу целиком. А так попахивает ка...

Плэйбук вызывается из gitlab CI. В гитлабе задана куча переменных. Не вижу смысла их всех вручную задавать в параметре ansible-playbook -e

Dmitry Gorsky
Плэйбук вызывается из gitlab CI. В гитлабе задана ...

напиши скрипт )))) который возьмет все переменные и сконвертнет их в аргументы запуска ансибл плейбука

Dmitry-Gorsky Автор вопроса
George Gaál
напиши скрипт )))) который возьмет все переменные ...

Это понятно да создать промежуточный файл и потом его подцепить. Думал, что можно сделать как-то проще, может быть, есть готовый плагин для ансибл?

Dmitry Gorsky
Плэйбук вызывается из gitlab CI. В гитлабе задана ...

Ну вот файликом надо передать --extra-vars="@file_with_vars"

Dmitry Gorsky
Плэйбук вызывается из gitlab CI. В гитлабе задана ...

Зачем, почему не написать групварс или любой другой варс и использовать нужное вам переменные?

Dmitry-Gorsky Автор вопроса
Grek 🇺🇦 G
Зачем, почему не написать групварс или любой друго...

И потом запушить в гит? Это не имеет большого смысла и противоречит идеологии. Переменные могут время от времени меняться, и не нужно для этого что-то куда-то пушить. Они так и хранятся в настройках CI.

Dmitry Gorsky
И потом запушить в гит? Это не имеет большого смыс...

Кто я такой чтоб запрещать вам так делать? Мне понятней когда из гита видно что переменная приходит из энв, и я не страдаю вспоминая а откуда тут что взялось?

Dmitry Gorsky
Плэйбук вызывается из gitlab CI. В гитлабе задана ...

И все эти переменные у вас используются в вашем плейбуке?

Dmitry-Gorsky Автор вопроса
Timur Gadiev
И все эти переменные у вас используются в вашем пл...

Более того, они только ради плейбука и создаются

Dmitry Gorsky
Более того, они только ради плейбука и создаются

Тогда сделайте принудительный мап в плейбуке или варс-файле через лукап. ans_var: >- {{ lookup('env', 'ANS_VAR') }}

Dmitry-Gorsky Автор вопроса
Timur Gadiev
Тогда сделайте принудительный мап в плейбуке или в...

Это про сути то же самое, что перечислить все переменные в -e при вызове ансибл... Так делали уже...

Dmitry Gorsky
Это про сути то же самое, что перечислить все пере...

Берешь API gitlab и выковыриваешь все переменные из репы curl --request GET --header "Authorization: gitlab-ci-token ${CI_JOB_TOKEN}" \ "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/variables/*

Dmitry-Gorsky Автор вопроса
Mikhail Khoroshev
Берешь API gitlab и выковыриваешь все переменные и...

Зачем? Они и так все доступны в окружении при запуске скрипта.

Dmitry Gorsky
Зачем? Они и так все доступны в окружении при запу...

Ну тебе же было лень их перечислять в extra vars. А если добавятся какие?

Dmitry-Gorsky Автор вопроса
Mikhail Khoroshev
Ну тебе же было лень их перечислять в extra vars. ...

Кажется, этот вариант был лучше: env | egrep "^ANS_.*" | sed 's/=/: /g' > vars.yml

Dmitry Gorsky
Это про сути то же самое, что перечислить все пере...

А как вы ещё хотите? Ансибловые сущности - это совершенно отдельно от переменных окружения. Ансибл не обязан ничего знать о ваших произвольных переменных окружения за исключением строго оговорённых

Dmitry Gorsky
Кажется, этот вариант был лучше: env | egrep "^ANS...

Сам же написал - не изящно )) Тогда вот так env | sed -re 's|^(ANS_.*)\=(.*)|\1:\2|g'

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
Карта сайта