Адміністрування
Навіщо потрібні зовнішні GitLab Runner’и на VPS та як налаштувати Docker Runner
Фактично весь CI/CD у GitLab тримається на GitLab Runner — саме він запускає збірки, тести та деплой. І поки пайплайни прості, здається, що немає різниці, де він працює: на локальній машині, на сервері GitLab чи десь “під рукою”. Але щойно проєкт росте — починаються типові проблеми: збірки гальмують через нестачу ресурсів, кеш і Docker-образи засмічують систему, а доступи до приватної мережі перетворюються на головний біль і ризик для безпеки.
У цій статті розберемо, чому зовнішній GitLab Runner на окремому VPS з Docker executor дає більше контролю, стабільності та безпеки, і як його налаштувати так, щоб пайплайни працювали передбачувано — включно з кейсом, коли runner має доступ до приватної мережі, а GitLab не доводиться “обвішувати” зайвими інтерфейсами.
Вийшла нова версія PHP 8.5
Нова версія PHP 8.5 стала одним із найбільш практично орієнтованих оновлень за останні роки. Основний фокус зроблено на покращенні продуктивності, впорядкуванні синтаксису та спрощенні повсякденних задач розробника. У релізі з’явилися нові механізми роботи з константними виразами, покращена типізація, оновлений підхід до клонування об’єктів, сучасний pipe-оператор для побудови ланцюжків викликів, а також реалізовано WHATWG-сумісне URL-API. Крім цього, оптимізовані внутрішні модулі та прискорена робота FPM, Date, DOM та Standard-компонентів.
Rsync для автоматизації, безпеки та deploy
У нашій першій статті по основам використання утиліти Rsync для синхронізації даних були розглянуті її можливості та наведені базові прийоми роботи з нею у межах локального середовища. Тут ми сконцентруємося на її застосуванні сумісно із безпечним SSH-протоколом для синхронізації даних, розміщених на віддалених хостах та організації deploy-процесу для веб-проекту засобами GitLab CI/CD. Водночас будуть розглянуті деякі із доступних засобів автоматизації та оптимізації роботи Rsync в умовах, максимально наближених до робочих.
Права в Linux
Linux має виважену систему прав для управління ресурсами файлової системи. Це забезпечує доволі гнучке керування та дозволяє убезпечити систему від злому та непередбачуваних конфліктних ситуацій із доступом до тих або інших об’єктів файлової системи. Система прав Linux передбачає наявність не лише стандартних дозволів, але і цілий ряд додаткових – спеціальні, розширені, а також включає різні засоби управління ними. Їх знання дозволить уникнути багатьох проблем у площині прав та отримати ефективний інструмент для оптимізації процесу використання прав. Визначимо основні поняття прав в Linux та розглянемо деякі аспекти їх практичного застосування.
Вийшла нова версія FreeBSD 15.0-RELEASE
На початку грудня вийшла нова версія FreeBSD 15.0-RELEASE, котра є перехідною між попередньою 14-ю та 15-ю гілками розробки. Це підтверджується створенням та підключенням окремого репозиторію FreeBSD-kmods для усунення «перехідних проблем» для декотрих типів драйверів із нестабільними інтерфейсами. Лише з виходом версії 15.1 STABLE можна буде говорити про повноцінне включення у роботу 15-ї гілки. Поточний реліз в основному був використаний розробниками для внесення суттєвих змін у ядро системи та вдосконалення середовища користувацького простору. Це та інше буде нами розглянуте тут детальніше.
Моніторинг стану HDD/SSD/NVMe у Linux/FreeBSD
Під час активної та / або тривалої експлуатації дискових носіїв зазвичай накопичуються незначні пошкодження у вигляді bad-секторів або помилок запису даних, що може згодом у будь-який момент часу призвести до виходу його з ладу та втрати даних. Вбудована система SMART-контролю сама по собі не забезпечує інформування про критичний стан диску, а лише здійснює накопичення значень параметрів, котрі відображають його стан. Завдання інструментів моніторингу, насамперед, полягає у тому, щоб «витягти» ці дані та на їх підставі вчасно повідомити користувачу про небезпеку. Але для цього треба знати ці інструменти та вміти їх налагоджувати відповідно до своїх потреб.
Основи rsync – резервне копіювання та синхронізація файлів
На ринку програмного забезпечення присутні чимало засобів для здійснення копіювання та синхронізації файлів, і Rsync по багатьом параметрам займає одне з перших місць. Відкритий вихідний, код, гнучкість та простота використання, шифрування, конвеєрна передача файлів із збереженням всіх метаданих та багато інших кейсів роблять його незамінним інструментом мережевої синхронізації віддалених об'єктів файлової системи. Розглянемо основні можливості програми та продемонструємо їх застосування на практичних прикладах.
Організація резервного копіювання MySQL
Всі сучасні веб-проекти використовують бази даних (БД), котрі зберігаються на хостингу та потребують пильної уваги обслуговуючого персоналу. Це пов'язано із їх вразливістю перед багатьма чинниками – людський фактор, вірус, злом, технічний збій тощо. У цій ситуації єдиним надійним способом не втратити важливу інформацію може бути лише її періодичне копіювання на незалежний носій. Така операція отримала назву створення бекапів або резервне копіювання. Розглянемо деякі теоретичні аспекти використання БД MySQL, а також питання організації автоматичного резервного копіювання на власному хостингу.
