GitLab VPS хостинг: код і CI/CD на вашому сервері
- Встановлення з офіційного образу Docker gitlab/gitlab-ce
- Рекомендовані тарифи з 16 GB пам'яті або більше
- Права root і публічні адреси IPv4 та IPv6
HELPER VPS GitLab VPS , це хмарний Linux сервер, де ви запускаєте GitLab Community Edition, який об'єднує Git репозиторії та CI/CD в одному місці, з оплатою за рахунком від $25.00 на місяць. Оберіть образ застосунку Docker під час створення сервера, підключіться через SSH і запустіть офіційний образ gitlab/gitlab-ce, і ви зможете керувати кодом, завданнями та пайплайнами вашої команди на вашому сервері.
Що таке GitLab?
GitLab це платформа розробки, що поєднує керування Git репозиторіями, рев'ю коду, керування завданнями, пайплайни CI/CD і реєстр контейнерів. GitLab Community Edition (CE) це безкоштовна редакція з відкритим кодом, яку команда може встановити на свій сервер і сама зберігати код та історію розробки. Функції спільної роботи, як-от merge request, вікі й віхи, включено за замовчуванням.
Офіційний образ Docker gitlab/gitlab-ce містить сам GitLab разом з PostgreSQL, Redis, Nginx, Puma і Sidekiq, тож увесь сервіс працює в одному контейнері. Налаштування, логи й дані зберігаються окремо на диску сервера в томах, тож під час оновлення контейнера до нової версії репозиторії й дані користувачів зберігаються.
Що можна робити на GitLab VPS?
Один сервер з власним GitLab збирає весь процес розробки на вашому сервері.
Внутрішні Git репозиторії
Створюйте скільки завгодно приватних проєктів і розподіляйте права читання й запису між учасниками через групи й ролі.
Пайплайни CI/CD
Один файл .gitlab-ci.yml автоматично запускає тести, збирання й деплой, а результати одразу видно в merge request.
Реєстр контейнерів
Завантажуйте зібрані образи Docker до реєстру GitLab, щоб сервери деплою одразу їх забирали.
Завдання й керування проєктами
Ведіть строки й документацію поруч з кодом за допомогою дошок завдань, міток, віх і вікі.
Як купити сервер для GitLab?
Від першого платежу до першого входу потрібно три кроки.
Крок 1. Оберіть тариф з 16 GB або більше
Оберіть спосіб оплати, виберіть місто ближче до вашої команди та тариф з пам'яттю 16 GB або більше.
Крок 2. Створіть сервер з образу застосунку Docker
Оберіть Docker у списку образів, і буде створено сервер на Ubuntu 24.04 з готовими Docker Engine і Docker Compose.
Крок 3. Підключіться по SSH і виконайте команду
Підключіться по SSH під root, виконайте команду нижче, а за кілька хвилин відкрийте адресу сервера в браузері й увійдіть під обліковим записом root.
Як встановити GitLab CE?
Підключіться по SSH до сервера, створеного з образу застосунку Docker, і виконайте команду нижче. Замініть gitlab.example.com на свій домен чи IP сервера; власний SSH сервера використовує порт 22, тож Git SSH для GitLab відкривається на порту 2222. Перший запуск триває кілька хвилин, а початковий пароль root можна подивитися командою в останньому рядку (цей файл видаляється через 24 години).
export GITLAB_HOME=/srv/gitlab
sudo mkdir -p $GITLAB_HOME
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest
sudo docker logs -f gitlab
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_passwordЧим добре власне встановлення GitLab на VPS?
Якщо ви самі ведете GitLab VPS, ви працюєте з кодом і пайплайнами за своїми правилами.
Код на вашому сервері. Репозиторії, завдання й історія CI зберігаються на диску сервера в обраному вами місті, а права доступу визначаєте ви.
Ціна не залежить від кількості користувачів. GitLab CE це безкоштовна редакція, тож за одну ціну сервера створюйте стільки облікових записів для команди, скільки потрібно.
Час CI без обмежень. Підключіть GitLab Runner на своєму сервері й вільно витрачайте час виконання пайплайнів у межах потужності сервера.
Тарифи з великим обсягом пам'яті. Тарифи з великим обсягом пам'яті від 16 до 128 GB із запасом тягнуть GitLab навіть з безліччю репозиторіїв і користувачів.
Легко збільшити диск. Додайте під час створення додатковий диск на 50~1000 GB і довго зберігайте репозиторії й образи реєстру.
Захист автоматичними копіями. Опція автоматичних копій разом з командою gitlab-backup зберігає дані сервера й GitLab у двох шарах.
Технології, що працюють разом з GitLab
Офіційний образ GitLab CE містить ці технології й запускає їх разом на GitLab VPS.
- Docker
- PostgreSQL
- Redis
- NGINX
- Ubuntu
Розміщуйте сервер ближче до своїх клієнтів
Створюйте сервер GitLab за однією ціною в будь-якому з 40 міст у 31 країнах.
Скільки пам'яті потрібно для GitLab VPS?
GitLab одночасно запускає вебсервер, фонові завдання, базу даних та кеш, тому йому потрібно щонайменше 4 GB пам'яті, і ми рекомендуємо 16 GB або більше для реального використання командою. З 12 GB інтерфейс може сповільнюватися навіть за кількох одночасних користувачів, тому в HELPER VPS ми рекомендуємо починати з тарифу на 4 vCPU, 16 GB. Високопродуктивний тариф з диском NVMe робить клонування репозиторіїв та пошук швидшими.
Якщо на тому самому сервері через GitLab Runner запускаються ще й завдання CI, збирання теж витрачають пам'ять, тож підійде тариф на 16 GB. Командам з великою кількістю користувачів і проєктів варто обрати тариф з великим обсягом пам'яті, наприклад m32, і винести Runner на окремий сервер, тоді інтерфейс GitLab завжди буде легким. В одному акаунті можна створити до 10 серверів, тож такий розподіл зробити просто.
Що налаштувати після запуску власного GitLab?
Після першого входу змініть пароль root і в адміністративній області переведіть реєстрацію в режим схвалення або закрийте її, щоб входили лише учасники команди. Якщо ви використовуєте домен, вкажіть адресу https в external_url у /srv/gitlab/config/gitlab.rb, увімкніть налаштування letsencrypt і виконайте sudo docker exec -it gitlab gitlab-ctl reconfigure, і сертифікат HTTPS підключиться автоматично.
Листи-сповіщення надсилайте через сервіс надсилання пошти на порту 587, указаний у налаштуваннях SMTP у gitlab.rb. Щоб адреса Git SSH відображалася з портом 2222, задайте значення gitlab_rails['gitlab_shell_ssh_port'] рівним 2222. Регулярно створюйте копії командою sudo docker exec -t gitlab gitlab-backup create, а під час переходу на нову версію спершу звірте офіційний шлях оновлення й лише потім змінюйте образ, так безпечніше.
Хостинг GitLab: часті запитання
Часті запитання про вибір VPS для GitLab і встановлення.
Чи встановлюється GitLab VPS в один клік?
Після створення сервера з образу застосунку Docker офіційний образ gitlab/gitlab-ce запускається однією командою docker run. Вставте команду вище, зачекайте кілька хвилин, і в браузері відкриється екран входу GitLab.
Скільки пам'яті щонайменше потрібно GitLab?
GitLab потребує щонайменше 4 GB пам'яті, і ми рекомендуємо 16 GB або більше для комфортного використання командою. Тому ми рекомендуємо починати з тарифу на 4 vCPU, 16 GB (g16, n16), а якщо ви також запускаєте CI Runner, краще тариф на 32 GB.
Чи можна встановити пакет Omnibus на образ Ubuntu?
Так, можна додати офіційний репозиторій пакетів GitLab на сервер з Ubuntu й встановити його. За способу через Docker налаштування, логи й дані розділено за томами, що спрощує оновлення й перенесення, тож на цій сторінці описано саме його.
Де подивитися початковий пароль root?
Подивіться його командою sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password. Цей файл видаляється через 24 години після першого налаштування, тож після входу одразу змініть пароль на новий.
Який порт використовує Git SSH?
Власний SSH сервера використовує порт 22, тож команда вище відкриває Git SSH для GitLab на порту 2222. Якщо задати gitlab_shell_ssh_port рівним 2222 у gitlab.rb, адресу SSH на сторінці репозиторію теж буде показано правильно.
Як підключити сертифікат HTTPS?
Спрямуйте домен на IP сервера, змініть external_url у gitlab.rb на адресу https, увімкніть letsencrypt і виконайте gitlab-ctl reconfigure, і сертифікат автоматично випускатиметься й продовжуватиметься.
Чи можна розмістити GitLab Runner на тому самому сервері?
Так, запустіть образ gitlab/gitlab-runner у контейнері на тому самому сервері й зареєструйте його. Збирання витрачають і пам'ять, і CPU, тож радимо обрати тариф на 16 GB або винести Runner на окремий невеликий сервер.
Чи можна надсилати сповіщення поштою з GitLab?
Так, вкажіть у налаштуваннях SMTP у gitlab.rb сервіс надсилання пошти на порту 587, і сповіщення про merge request і завдання надсилатимуться. На серверах HELPER VPS вихідний порт 25 закритий, тож пошта надсилається саме так.
Як оновлювати GitLab?
Створіть копію через gitlab-backup, завантажте новий образ і перестворіть контейнер з тими самими томами. Якщо ви перескакуєте через великі версії, проходьте проміжні версії за офіційним шляхом оновлення GitLab.
Чи можна збільшити диск, коли репозиторіїв стане багато?
Під час створення сервера можна додати додатковий диск від 50 до 1000 GB. Вкажіть у GITLAB_HOME шлях до додаткового диска, і репозиторії, реєстр і копії зберігатимуться на просторому диску.
Як оплатити сервер для GitLab?
Оберіть спосіб оплати та створіть сервер, щоб почати використовувати його відразу. Оплатіть рахунок за продовження до завершення періоду, і ваша розробка ніколи не зупиниться.
GitLab це проєкт з відкритим кодом, який розвивають GitLab Inc. і спільнота; права на назву й логотип GitLab належать їхньому власнику. Встановлення, оновлення, налаштування GitLab CE і підтримку щодо роботи з ним клієнт бере на себе. GitLab CE використовується без доплати, а ціна сервера дорівнює ціні обраного тарифу.
Посібник із сервера GitLab
Що варто зробити одразу після отримання сервера.
