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 с ошибкой