README.md

    GitFlic Docker + CI/CD / Easy start

    GitFlic v 3.5.2 Docker + CI/CD. Простой старт.

    Как развернуть web хранилище кода GitFlic за 5 минут? Очень просто. Сборка включает полностью настроенное окружение.


    Работает на стеке:

    • Alpine Linux
    • Redis:6.2
    • Postgres:12
    • GitFlic:3.5.2 + CI/CD
    • Java:11
    • ✨Magic ✨

    Работает на архитектуре:

    • x86_64 ✅
    • x86 ✅
    • armV8 ✅
    • armV7 ❌

    Основная настройка GitFlic

    1. Клонируем репозиторий

      git clone https://gitflic.ru/project/axldrago/gitflic-docker-easy-start.git
      cd gitflic-docker-easy-start
      
    2. Скачиваем GitFlic

       wget -O gitflic.zip https://gitflic.ru/project/gitflic/gitflic/release/42e7b763-3b2f-4956-bd72-9d2660079afe/9d87eb6b-e8d0-43ea-a18b-0cd40b7e2fe5/download
      

    2.1 Опционально Если не работает wget качаем вручную, не забывая авторизоваться Скачиваем Self-hosted GitFlic 3.5.2

    1. Сохраняем архив в корне GitFlic. Распаковываем из архива файл gitflic.jar в $HOME/gitflic-docker-easy-start/gitflic/gitflic.jar

       unzip -j "gitflic.zip" "gitflic.jar" -d ./gitflic/
      
    2. Настраиваем сервер GitFlic

      1. Создаем .env файл в корне приложения

        touch .env
        
      2. Добавляем в .env конфигурацию

        POSTGRES_USER=gitflic
        POSTGRES_PASS=gitflic
        REDIS_PASS=redis
        # BASE_URL = хост, на котором запущено приложение (указать с протоколом http://)
        BASE_URL=http://localhost
        # TRANSPORT_URL = хост, по которому осуществляется транспорт данных в git репозиторий. (Например git@localhost:vault/zookeeper.git)
        TRANSPORT_URL=http://localhost
        # PORT = порт, на котором будет поднят контейнер
        PORT=80
        
        # Настройка почтового сервера. (Обязательно для регистрации новых пользователей)
        EMAIL_USER=mail@mail.ru
        EMAIL_PASS=pass
        EMAIL_SMTP_HOST=smtp.mail.ru
        EMAIL_SMTP_PORT=465
        
        # Настройка CI/CD
        # Учётные данные от докерхаба  (регистрируемся https://hub.docker.com/) на случай неудачного пулла образа 
        DOCKER_REGISTRY_USERNAME=
        DOCKER_REGISTRY_PASSWORD=
        DOCKER_REGISTRY_EMAIL=
        TOKEN=
        
    3. Собираем и запускаем Docker контейнеры

      Порты по умолчанию 22, 80 - необходимо освободить порты, либо поменять значения в docker-compose.yml

      docker-compose up --build web postgres redis
      

    Приложение готово к работе. Доступ по умолчанию:

    localhost:80
    

    Стандартный юзер и пароль (админ):

    Емейл: adminuser@admin.local
    Пароль: qwerty123
    

    Настройка CI/CD

    Раннер (Агент) - запускается отдельно от основого приложения, и может быть развернуто и подключено несколько инстансов на разных машинах.

    !!! Основное приложение GitFlic должно быть запущено !!!

    1. Скачиваем GitFlic Runner

       wget -O runner.zip https://gitflic.ru/project/gitflic/runner/release/c17247ef-4d2b-46f9-b653-c270ca7e407c/7381122f-d1ef-4db8-be7a-31d38a8339b8/download
      

    1.1 Опционально Если не работает wget качаем вручную, не забывая авторизоваться Скачиваем Runner 3.5.2 Не забываем авторизоваться или будет 404

    1. Сохраняем архив в корне GitFlic. Распаковываем из архива файл runner.jar в ./runner/runner.jar

       unzip -j "runner.zip" "runner.jar" -d ./runner/
      

    Запуск в Docker контейнере

    1. В корне приложения в файле .env добавляем Token

       # Настройка CI/CD
       TOKEN=
      
    2. Получение TOKEN авторизации раннера (агента)

      1. Логинимся в админ учетку и переходим в 'Админ панель'
      2. Переходим на вкладку CI/CD
      3. Получаем TOKEN для регистрации раннера (агента)
      

      Пример

    3. Останавливаем и Пересобираем GitFlic с полученным Токеном

       docker-compose up --build web postgres redis
      
    4. Собираем и запускаем Docker контейнер

       docker-compose up --build runner
      

    Раннер (агент) готов к работе. Проверяем в разделе CI/CD в админ панели. В списке должен появится новый агент, его состояние автоматически изменится на Активный

    Дополнительное чтиво:

    Подробнее про Раннер (Агент) в Официальной документации

    Примеры конфигурации CI/CD

    Справочник для gitflic-ci.yaml файла

    License

    MIT

    Free Software, Hell Yeah!

    Описание

    Docker Compose GitFlic упакованный в docker-compose. Простой старт локального хранилища.

    Конвейеры
    0 успешных
    0 с ошибкой