nome.gogs

Travis CI

Роль Ansible: Установка и Настройка Gogs

Устанавливает и настраивает Gogs, портал Git-проектов для самостоятельного размещения. Все параметры, которые нужно было бы ввести в диалоговом окне при первом запуске, полностью интегрированы в плейбук (включая создание основного администратора), что обеспечивает полностью автоматизированную и воспроизводимую настройку. По умолчанию предоставлены значения для большинства параметров, что делает быструю установку на основе Ansible такой же простой, как и ручная.

Некоторые из более редких настроек первого запуска, а также значительная часть многочисленных доступных настроек Gogs, в настоящее время не могут быть установлены с помощью этой роли. Однако запросы на изменения приветствуются.

Пример минимального плейбука

- hosts: localhost
  roles:
  - role: nome.gogs
    gogs_admin: gogsadmin
    gogs_admin_password: secret

Обратите внимание, что использование имени администратора admin не сработает, так как этот идентификатор пользователя зарезервирован в Gogs. После выполнения плейбука Gogs должен быть доступен по адресу http://localhost:3000 (а также http://yourhost:3000 с других хостов, если это не блокируется локальным файрволом).

Пример типичного плейбука

Как более типичный пример, мы рассмотрим настройку с реверс-прокси, настроенным через роль jdauphant.nginx.

- hosts: gogs

  pre_tasks:
  - name: Установить зависимость для настройки SELinux
    package: name=libsemanage-python state=present
    when: ansible_selinux
  - name: Разрешить nginx осуществлять сетевые подключения (SELinux)
    seboolean: name=httpd_can_network_connect state=yes persistent=yes
    when: ansible_selinux

  roles:
  - role: nome.gogs
    gogs_admin: gogsadmin
    gogs_admin_password: secret

    gogs_app_name: Репозитории моей команды
    gogs_bind_addr: 127.0.0.1
    gogs_url: http://{{ ansible_fqdn }}
    gogs_preset: shared

    gogs_smtp_host: smtp.example.com:587

  - role: jdauphant.nginx
    nginx_sites:
      gogs:
        - listen 80
        - location / { proxy_pass http://127.0.0.1:{{ gogs_http_port }}; }

Кроме настройки SELinux, включенной в этот пример, вам также может потребоваться открыть порт 80 на файрволе, например, в RHEL7:

- firewalld: service=http state=enabled permanent=true

Использование сервера базы данных

По умолчанию используется локальный файл базы данных SQLite. Настройка с (отдельным) сервером MySQL может выглядеть следующим образом, используя роль geerlingguy.mysql:

- hosts: dbserver
  roles:
  - role: geerlingguy.mysql
    mysql_root_password: secure
    mysql_databases:
    - name: gogs
    mysql_users:
    - name: gogs
      host: "%"
      password: secure
      priv: "gogs.*:ALL"

- hosts: gogs
  roles:
  - role: nome.gogs
    gogs_admin: gogsadmin
    gogs_admin_password: secret

    gogs_db_type: mysql
    gogs_db_host: dbserver:3306
    gogs_db_user: gogs
    gogs_db_password: secure
    gogs_db_name: gogs

Поддерживаемые значения для gogs_db_type: mysql, postgres, mssql и sqlite3.

Включение отправки писем

Чтобы Gogs мог отправлять письма, например, уведомления об обновлениях и подтверждения при регистрации пользователей, необходимо указать следующие настройки:

gogs_smtp_host: smtp.example.com:587
gogs_smtp_user: my_smtp_user
gogs_smtp_password: my_smtp_password

Версия Gogs и методы установки

По умолчанию устанавливается последняя версия Gogs. Это можно изменить, установив gogs_version на желаемую версию (например, gogs_version=v0.10.18).

"Кровоточащая" версия Gogs (возможно, еще не выпущенная) может быть загружена с GitHub и скомпилирована с помощью следующих настроек:

gogs_install_from_source: true
gogs_version: master

Поскольку пакеты дистрибутивов компилятора Go часто слишком устаревшие для компиляции Gogs, официальные двоичные файлы компилятора Go загружаются с Google и устанавливаются в /home/git/.local.

Если целевая машина не может получить доступ к интернету (например, из-за настроек файрвола или прокси), установите gogs_install_via_localhost=true. Это позволит маршрутизировать все загрузки через управляющий хост. В сочетании с gogs_install_from_source компилятор Go не будет загружен автоматически; Git и Go версии >= 1.5 должны быть уже установлены на управляющем хосте, и переменные окружения GOROOT и GOPATH должны быть установлены на соответствующие значения.

Другие переменные роли

См. defaults/main.yml.

Лицензия

MIT / BSD

О проекте

Gogs Installation and Setup

Установить
ansible-galaxy install nome.gogs
Лицензия
mit
Загрузки
80
Владелец