Скрипт для сборки deb
или rpm
пакета Nginx требуемой версии из исходных кодов, с возможностью подключения сторонних модулей.
Параметры Nginx задаются в конфигурационном файле формата yaml.
- python >= 3.5
pip3 install -r requirements.txt
Также потребуются пакеты для компиляции Nginx. Их перечень можно увидеть в Dockerfile
Основной конфигурационный файл в yaml формате. Описание параметров:
---
nginx_version: необходимая версия nginx
output_package: тип выходного пакета deb или rpm
modules:
- module:
name: Название модуля. Если не указано, берется из последней части URL
git_url: URL git файла
git_tag: название тэга. (Не обязательно)
git_branch: название ветки. (Не обязательно). Если не указан ни tag, ни branch по умолчанию берется master ветка
dependencies:
- список зависимостей для сборки модуля (Не обязательно)
module:
name: Название модуля. Если не указано, берется из последней части URL
web_url: Ссылка на архив с исходным кодом модуля
module:
name: Название модуля. Если не указано, берется из последней части URL
local_url: Путь к архиву с исходным кодом модуля
Конфигурационный файл с расширенными настройками расположен в src/config.py
. В большинстве случаев менять его не нужно.
Запускать сборщик можно, как непосредственно на хост машине, так и в docker контейнере, например
docker build -t nginx-builder .
docker run --rm -it -v $(pwd):/nginx-builder:rw \
nginx-builder /bin/bash
Запуск
./main.py build -f [конфиг_файл].yaml -r [номер_ревизии]
- номер ревизии опциональный параметр, служит для версионирования сборок