Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni
🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!17.10.2023
Нова система. Homebrew Cask. Dev containers
Сьогодні налаштовував новий компʼютер для роботи. Це мій перший компʼютер “тільки для роботи” років за… пʼятнадцять, напевно. Як писав, це для того, щоб на роботі було менше відволікань, а з іншого боку — можна було фізично припинити працювати та все ж не залишитись без компʼютера як засобу для спілкування, хобі та розваг. (Мініогляд: обрав Mac Mini, бо давно було цікаво, але ніколи раніше не було підстави його мати. Це найнудніший з маків — просто коробка з macOS. Він більше та важче, ніж я уявляв — майже з Macbook Air завширшки. Зате блоку живлення немає — тільки тонесенький кабель. Ось… більше немає що про нього казати.)
Вперше спробував Homebrew Cask та я в захваті. Це доповнення для встановлення звичайних додатків через Homebrew. Без перебільшень, всі програми, які мені були потрібні, вдалося там знайти. Тобто замість пошуків на сайтах, завантаження і так далі можна просто зробити brew install visual-studio-code firefox setapp
і так далі. Ба більше, так само можна встановити й шрифти. Єдине, що я встановлював не через Cask - це додатки з Setapp (в ідеалі вони б теж могли мати CLI, але поки не бачу.)
Для того, щоб почати використовувати Homebrew Cask, не потрібно перевстановлювати систему, тож раджу випробувати — воно того варте.
Друге, що випробував — це Development containers, відносно новий механізм для розробки прямо в Докері. Пропозиція така: не потрібно буде нічого встановлювати локально, тільки Docker та Visual Studio Code. Все інше — в контейнері. Причому робоча частина VSCode теж працюватиме з контейнера та матиме доступ до всіх інструментів.
Так розвʼязуються дві задачі. Перша — уникнути складного налаштування середовища на локальній машині (але це більш актуально для Windows.) Друга — надати можливість поділитися середовищем з командою. Тут допоможуть такі функції, як Features - типу “пакети” з утилітами, та можливість вказати, які доповнення VSCode встановити в контейнері. В теорії, все це значить, що від клонування репозиторію до повноцінної розробки у нового члена команди буде достатньо відкрити VSCode та почекати, поки все розгорнеться.
Зазначу, що dev container - це не те ж саме, що конфігурація docker compose для локального запуску додатка. Dev container утворює середовище для запуску будь-яких команд в проєкті — від сервера чи тестів до лінтерів, Git та, звісно, самого VSCode. Dev container спирається на Docker Compose, наприклад, щоб створити бази даних та інші потрібні сервіси.
Це все добре, але насправді девконтейнер в мене не прижився через відсутність інтеграції з 1Password CLI. Так, технічно встановити CLI в контейнер можна. Але з точки зору 1Password це буде окремий компʼютер. Нормального способу передавати секрети в контейнер я не знайшов. (Наприклад, передавати в змінних оточення на весь час існування контейнера мене не влаштовує.) Можливо, якісь обхідні шляхи можна було знайти, але не настільки ті девконтейнери мені зараз потрібні.