Управляем версиями: kubectl, terraform, python в одном инструменте. Знакомство с asdf
Проект А требует Terraform v1.7, а новый проект Б — уже v1.8. Ваша команда работает с разными версиями Python. Как управлять этим зоопарком, не засоряя систему и не создавая конфликтов?
asdf — это универсальный менеджер версий для десятков инструментов. Один CLI для управления всеми.
Как это работает — магия в 3 шага:
Устанавливаем плагин для нужного инструмента:
Bash
Устанавливаем нужные версии:
Bash
Выбираем версию:
Глобально для всей системы:
Bash
Локально для текущей директории (главная фича!):
Bash
Теперь, когда вы заходите в эту директорию, asdf автоматически активирует нужную версию Terraform.
Взгляд архитектора:
asdf — это инструмент для создания воспроизводимых и изолированных окружений. Файл .tool-versions можно и нужно коммитить в Git-репозиторий вашего проекта. Это гарантирует, что каждый член команды (и ваш CI/CD-пайплайн) будет использовать абсолютно те же версии инструментов, что исключает класс проблем "а у меня на машине работает". Это фундаментальный принцип DevOps.
#devops #cli #asdf #terraform #automation #гайд
Проект А требует Terraform v1.7, а новый проект Б — уже v1.8. Ваша команда работает с разными версиями Python. Как управлять этим зоопарком, не засоряя систему и не создавая конфликтов?
asdf — это универсальный менеджер версий для десятков инструментов. Один CLI для управления всеми.
Как это работает — магия в 3 шага:
Устанавливаем плагин для нужного инструмента:
Bash
# Добавляем поддержку Terraform
asdf plugin-add terraform
Устанавливаем нужные версии:
Bash
asdf install terraform 1.7.5
asdf install terraform 1.8.4
Выбираем версию:
Глобально для всей системы:
Bash
asdf global terraform 1.8.4
Локально для текущей директории (главная фича!):
Bash
# Эта команда создаст в папке файл .tool-versions
asdf local terraform 1.7.5
Теперь, когда вы заходите в эту директорию, asdf автоматически активирует нужную версию Terraform.
Взгляд архитектора:
asdf — это инструмент для создания воспроизводимых и изолированных окружений. Файл .tool-versions можно и нужно коммитить в Git-репозиторий вашего проекта. Это гарантирует, что каждый член команды (и ваш CI/CD-пайплайн) будет использовать абсолютно те же версии инструментов, что исключает класс проблем "а у меня на машине работает". Это фундаментальный принцип DevOps.
#devops #cli #asdf #terraform #automation #гайд