Ответы пользователя по тегу GitLab
  • Как правильно настроить конфиг gitlab за реверс прокси nginx, чтобы сертификаты были прописаны на сервере nginx, а не на сервере gitlab?

    SlavikF
    @SlavikF
    Можно настроить, чтобы все заходили на Gitlab через внешний Nginx. Тогда и не надо будет париться с разными настройками.

    у меня Gitlab настроен работать только по HTTP, а SSL добавляется на Traefik (а не через Nginx, как у вас)

    конфиг Gitlab:

    services:
      gitlab-web:
        image: 'gitlab/gitlab-ce:14.8.2-ce.0'
        hostname: 'dev.slavikf.com'
        ports:
          - '22:22'
        labels:
          - traefik.enable=true
          - traefik.http.routers.gitlab-web.tls.certresolver=myresolver
          - traefik.http.routers.gitlab-web.tls=true
          - traefik.http.routers.gitlab-web.rule=Host(`dev.slavikf.com`)
          - traefik.http.services.gitlab-web.loadbalancer.server.port=80
        environment:
          GITLAB_OMNIBUS_CONFIG: |
              external_url 'https://dev.slavikf.com'
              registry_external_url 'https://dev.slavikf.com'
              nginx['real_ip_header'] = 'X-Forwarded-For'
              nginx['real_ip_recursive'] = 'on'
              nginx['listen_port'] = 80
              nginx['listen_https'] = false
              nginx['redirect_http_to_https'] = false
    ...
    Ответ написан
    Комментировать
  • Можно ли увеличить лимит памяти раннера gitlab?

    SlavikF
    @SlavikF
    Во первых, в платном тарифе у вас будет больше минут для раннера, но памяти больше не будет.

    Во вторых, ошибка с нехваткой памяти - это не ошибка раннера. Это ошибка PHP.

    Я не знаю, какой контейнер вы используете, но думаю, что решение проблемы - это увеличить memory_limit в конфиге PHP:

    memory_limit = 512M
    Ответ написан
    Комментировать
  • Как ci gitlab по ssh?

    SlavikF
    @SlavikF
    Это вопрос не CI job, а раннера.

    Gitlab даёт бесплатно некоторое количетсво минут runner в Докере.
    А вам нужно подключить runner, который работает по 'shell' или 'ssh'.
    Ответ написан
    Комментировать
  • Как подключится из gitlab ci к удаленному серверу?

    SlavikF
    @SlavikF
    Сообщение "Host key verification failed." говорит о том, что до проверки ключа пользователя (SSH_PRIVATE_KEY) дело не доходит, потому что всё тормозится на проверки фингерпринта сервера (SSH_KNOWN_HOSTS)

    В той же статье там написано про то, что с этим делать:
    https://docs.gitlab.com/ee/ci/ssh_keys/README.html...

    Ещё есть вариант игнорировать фингерпринт хоста:
    ssh -o StrictHostKeyChecking=no ****@**** ls
    Но это несекъюрно - можно попасть на MITM.
    Ответ написан
    Комментировать
  • Определённые изменения не должны уходить в master?

    SlavikF
    @SlavikF
    У вас не очень понятный вопрос.

    Но похоже вам нужно git cherry-pick
    https://git-scm.com/book/ru/v2/Appendix-C%3A-%D0%9...
    Ответ написан
    Комментировать
  • Как правильно отдать SSH ключ gitlab, клиенту?

    SlavikF
    @SlavikF
    отдать ключ клиенту? Или использовать ключ для авто-деплоя у клиента?

    Клиенту ключей отдавать не надо. Клиент должен сделать себе аккаунт и вы добавите его в те проекты, которые посчитаете нужным.

    Если разговор об авто-деплое, то тут зависит, что и как деплоить. Для авто-деплоя вообще не нужны ключи Гитлаба - ставите runner на нужные системы и подключаете runner к проекту.
    Ответ написан
    1 комментарий
  • Как настроить gitlab ci + vds?

    SlavikF
    @SlavikF
    Простой ответ:
    - Ставите gitlab-runner на vds
    - Пишете .gitlab-ci.yml конфигурация для проекта

    Но так как вы:
    так и не смог разобраться


    То я думаю вам надо нанять консультанта.
    Потому что у вас вопрос задан так, что похоже что вы просите написать серьезный tutorial.
    Ответ написан
    Комментировать
  • Можно ли настроить несколько проектов на одном VPS?

    SlavikF
    @SlavikF
    Предполагаю, что будет головная боль с
    1) портами
    2) конфигами

    Порты:
    - Гитлаб ставится на порты 22, 80, 443
    - cPanel наверное тоже будет ставить веб-сервер на порты 80, 443
    Получается будет конфликт.
    Да, это можно разводить конфигами, но:

    Конфиги:
    Гитлаб управиляет своими конфигами с помощью Chef, cPanel - сам.
    Если попробовать их править руками - то при каждом upgrade они могут становится невалидными или нерабочими. Может и можно сделать как надо, но это конечно головняк.
    Ответ написан
    Комментировать
  • Непрерывная интеграция на Gitlab, сбой, как решить?

    SlavikF
    @SlavikF
    По умолчанию Gitlab использует fetch с каким-то параметром, которого нет в старых версиях GIT.

    Попробуйте поменять стратегию
    https://docs.gitlab.com/ee/ci/yaml/#git-strategy
    на
    variables:
    GIT_STRATEGY: clone
    Ответ написан
    Комментировать
  • Как настроить деплой в Gitlab CI, чтобы разработчик не получил доступ на хост?

    SlavikF
    @SlavikF
    Да, помню как-то ломал голову над этим, но в конечном итоги оказывалось, что есть какой-то вариант, что разработчик может получить доступ к продакшн-серверу.

    Тогда я решил это тем, что у основного проекта был доступ только к staging, а для прода был форк этого проекта со своим раннером.

    Но после этого у Гитлаба добавили несколько фишек, то может теперь и есть и другой вариант.
    Сегодня я думаю можно так:
    - иметь 2 раннера: один для staging, один для production
    - раннер для production поставить разрешение запускать только на `master`
    - у разработчика нету привилегий для доступа к `master`.

    При этом подразумевается, что staging и production - это разные серверы.
    Ответ написан
    Комментировать
  • Возможно ли разворачивание NextCloud и GitLab на одном сервере?

    SlavikF
    @SlavikF
    4Гб - довольно скромно,
    Но так как нагрузка небольшая - то работать будет.
    У меня похожая конфигурация работает на 6Гб в виртуалке.

    Не забудьте только, что если ставить Gitlab через Omnibus, то он сам ставит Nginx под себя и по умолчанию вешается на порты 80 и 443.
    Поэтому есть смысл NextCloud ставить после Gitlab'a и прикрутить к Гитлабовскому Nginx дополнительный конфиг для NextCloud.
    Ответ написан
    Комментировать