⚙️ DevOps (Automation): "Grep по YAML". Встречаем yq
Боль: Вам нужно в CI/CD-скрипте "вытащить" версию image: из docker-compose.yml или kubernetes-deployment.yml.
Реакция админа: cat docker-compose.yml | grep "image:" | awk -F': ' '{print $2}' (Это "хрупкий" скрипт. Он сломается от одного лишнего пробела или комментария).
Реакция архитектора: yq '.services.my-app.image' docker-compose.yml
yq — это jq (для JSON), но для YAML. Это "швейцарский нож" для парсинга *.yml файлов в bash.
Почему это киллер-фича:
* Надежность: Он понимает структуру YAML. Ему плевать на пробелы и комментарии.
* Чтение: yq '.spec.replicas' deployment.yml
* Запись: yq -i '.spec.replicas = 3' deployment.yml (Изменить файл "на лету"!)
* Merge: yq eval-all '. as $item ireduce ({}; . * $item)' file1.yml file2.yml (Склеить два YAML-файла).
Взгляд архитектора: Это надежная автоматизация (Reliable Automation). Ваши bash-скрипты в CI/CD (GitLab, Jenkins) становятся предсказуемыми. Вы можете безопасно читать и модифицировать ваши IaC-конфиги "на лету".
#devops #linux #yaml #yq #automation #cicd #скрипты #гайд
Боль: Вам нужно в CI/CD-скрипте "вытащить" версию image: из docker-compose.yml или kubernetes-deployment.yml.
Реакция админа: cat docker-compose.yml | grep "image:" | awk -F': ' '{print $2}' (Это "хрупкий" скрипт. Он сломается от одного лишнего пробела или комментария).
Реакция архитектора: yq '.services.my-app.image' docker-compose.yml
yq — это jq (для JSON), но для YAML. Это "швейцарский нож" для парсинга *.yml файлов в bash.
Почему это киллер-фича:
* Надежность: Он понимает структуру YAML. Ему плевать на пробелы и комментарии.
* Чтение: yq '.spec.replicas' deployment.yml
* Запись: yq -i '.spec.replicas = 3' deployment.yml (Изменить файл "на лету"!)
* Merge: yq eval-all '. as $item ireduce ({}; . * $item)' file1.yml file2.yml (Склеить два YAML-файла).
Взгляд архитектора: Это надежная автоматизация (Reliable Automation). Ваши bash-скрипты в CI/CD (GitLab, Jenkins) становятся предсказуемыми. Вы можете безопасно читать и модифицировать ваши IaC-конфиги "на лету".
#devops #linux #yaml #yq #automation #cicd #скрипты #гайд
❤2🔥2