ืืื!
ืฉืื ืกืจืืื, ืื ื ืขืืื ืืืื ืืก ืชืฉืชืืช ืืฆืืืช ื-API ืฉื ืคืืืคืืจืืช tinkoff.ru.
ืืืืืจ ืื ืืืืจ ืขื ืืืขืืืช ืฉืขืื ืืชืืืื ืืฆืืืช ืฉืื ื ืืขืช ืืื ืช ืืืื ืื ืขื ืกืื
Nginx ืืื ืฉืจืช ืคืจืืงืกื ืจื ืชืืืืชื ืืืคืชื ืืืืคื ืคืขืื. ืืื ืืืื ืืกืคืจ ืจื ืฉื ืืืืืืื,
ืื ื ืจืืฆืื ืืจืืืช ืืจืกื ืืืฉื ืขื ืกื ืืืืืืืื ืื ืืจืฉ, ืืคืืขืืช ืชืืช ืืคืฆืช ืืื ืืงืก ืกืคืฆืืคืืช. ืืืงืจื ืฉืื ื, ืืืืืจ ืืืขืจืืืช ืืืืกืกืืช deb ื-rpm. ืืืคืฉืจืืช ืขื ืืืืืืช ืืื ื ื ืืฉืืช ืืืืืจ ืื.
ืื ืื ื ืจืืฆืื ืืฉื ืืช ืืืืืจืืช ืืช ืืคืื ืงืฆืืื ืืืืช ืฉื ืืืืืื ืื ืฉืื ื. ืืืื ืืื ืขืืื ืืฉืืื: ืืื ืืืฉืื ืืืช ืชืื ืืืฆืืช ืืื ืฉืคืืืช ืืฉืืืื? ืขืืืฃ ืืคืืื ืืืืืืจ ืืช ืืชืืืื ืื ืฉื ืืื ืืฆืืื ืืกืคืจ ืกืืคื ืฉื ืคืจืืืจื ืงืื, ืืืืฆืืื ืืงืื ืืคืฅ ืืฆืืจืช ืืืืืช deb/rpm ืขืืืจ ืืขืจืืช ืืืคืขืื ืืจืฆืืื.
ืืชืืฆืื ืืื, ื ืืชื ืืืืฉ ืืกืคืจ ืืขืืืช:
- ืื ืชืืื ืืฉ ืืืืืืช ืขื ืืืจืกื ืืขืืื ืืช ืืืืชืจ ืฉื Nginx.
- ืืื ืืืืืืช ืขื ืืืืืืืื ืื ืืจืฉืื.
- ืงืืืคืืืฆืื ืืื ืืื ืืื ืืช ืฉื ืืืืื ืืืืืช ืืื ืืืืืืขืช ืืืฉ.
- ืืื ืชืืืืจ ืืืฆื ืืืจืื ืืืคืข Nginx ืื ืื ืืืจ.
ืืื ืืคืชืืจ ืืช ืืืขืืืช ืืืื, ืืชืขืืจืจ ืืฆืืจื ืืืื ืฉืืงื ืืงืื ืืคืจื ืืคืืจืื ืงืจืื ืืืื ืืืจืืื ืืืืืช Nginx ืขื ืืคืื ืงืฆืืื ืืืืช ืืืจืืฉื ืขื ืืกืืกื.
ืื ืืฆืื ื ืืคืฉืจืืช ืืชืืืื ืขืืืจื ื ืืืจืื ืืขืฆืื ืฉื Github, ืืืืื ื ืืืฆืืจ ืืื ืืฉืื ื -
ืืคืจืืื
ืืืื ืฉืื ื, ืจืฆืื ื ืืืฆืืจ ืชืืืืจ ืฉื ืืืคืจื ืืฆืืจื ืฉื ืงืื, ืฉืืืชื ืืคืฉืจ ืืืื ืืก ืืืืืจ Git. ืืฉื ืื ืืืจื ื ืืคืืจืื ืืืืืจ ืืืืจืื ืืืื - yaml. ืืืืื ืืืคืจื:
nginx_version: 1.14.1
output_package: deb
modules:
- module:
name: nginx-auth-ldap
git_url: https://github.com/kvspb/nginx-auth-ldap.git
git_branch: master
dependencies:
- libldap2-dev
- module:
name: ngx_http_substitutions_filter_module
git_url: https://github.com/yaoweibin/ngx_http_substitutions_filter_module.git
- module:
name: headers-more-nginx-module
web_url: https://github.com/openresty/headers-more-nginx-module/archive/v0.261.zip
- module:
name: nginx-module-vts
git_url: https://github.com/vozlt/nginx-module-vts.git
git_tag: v0.1.18
- module:
name: ngx_devel_kit
git_url: https://github.com/simplresty/ngx_devel_kit.git
git_tag: v0.3.0
- module:
name: ngx_cache_purge
git_url: https://github.com/FRiCKLE/ngx_cache_purge.git
- module:
name: ngx_http_dyups_module
git_url: https://github.com/yzprofile/ngx_http_dyups_module.git
- module:
name: nginx-brotli
git_url: https://github.com/eustas/ngx_brotli.git
git_tag: v0.1.2
- module:
name: nginx_upstream_check_module
git_url: https://github.com/yaoweibin/nginx_upstream_check_module.git
- module:
name: njs
git_url: https://github.com/nginx/njs.git
git_tag: 0.2.5
config_folder_path: nginx
ืืื ืื ื ืืฆืืื ืื ืฉืื ื ืจืืฆืื ืืจืืืช ืืืืืช deb ืขื ืืจืกื 1.14.2 ืฉื Nginx ืขื ืกื ืืืืืืืื ืื ืืจืฉ. ืืงืืข ืขื ืืืืืืืื ืืื ืืืคืฆืืื ืื. ืขืืืจ ืื ืืื ืืื ืืชื ืืืื ืืืืืืจ:
- ืฉื.
- ืืชืืืช ืืืคื ืืชื ืืืื ืืืฉืื ืืช ืื:
- ืืืืจ Git. ืืชื ืืืื ืื ืืฆืืื ืกื ืืฃ ืื ืชื.
- ืงืืฉืืจ ืืื ืืจื ื ืืืจืืืื.
- ืงืืฉืืจ ืืงืืื ืืืจืืืื.
ืืืืืืื ืืกืืืืื ืืืจืฉืื ืืชืงื ื ืฉื ืชืืืช ื ืืกืคืช, ืืืืืื nginx-auth-ldap ืืืจืฉ ืืชืงื ื ืฉื libldap2-dev. ื ืืชื ืืฆืืื ืื ืชืืืช ื ืืืฆืืช ืืขืช ืชืืืืจ ืืืืืื.
ืืกืืืื
ืืืื ืฉืื ื ืืชื ืืืื ืืงืื ืืืืืจืืช ืกืืืื ืขื ืืื ืขืืจ ืืืชืงื ืื ืขืืืจ ืงืืืคืืืฆืื, ืืจืืืช ืืืืืืช ืืชืืื ืืช ืขืืจ ืืืจืืช. ืืืื Docker ืขื ืื ืื ืฉืืชื ืฆืจืื ืืื ืืืืืืื ืืื (ืืืืืจ ืืืจ ืืฉ ืืื ืืืืืืืช ืฉื ืงืืฆื Docker ืขืืืจ ืืืืื ืื ื-centos).
ืืืืจ ืขืจืืืช ืืืคืจื ืืืื ืช ืืกืืืื, ืื ื ืืฉืืงืื ืืช ืืืื ื ืฉืื ื, ืืืืจ ืฉืืชืงืื ื ืืขืืจ ืืช ืืชืืืช ืฉืื:
pip3 install -r requirements.txt
./main.py build -f [ะบะพะฝัะธะณ_ัะฐะนะป].yaml -r [ะฝะพะผะตั_ัะตะฒะธะทะธะธ]
ืืกืคืจ ืืืจืกื ืืื ืืื ืืืคืฆืืื ืื ืืืฉืืฉ ืืืืืื ืืจืกืืืช. ืื ืืชืื ืืืื ืืืืข ืฉื ืืืืืื, ืื ืฉืืงื ืขื ืขืืืื ืืฉืจืชืื.
ืืืืืื ืื ื ืืชื ืืขืงืื ืืืจ ืืืชืจืืฉ. ืื ื ืืืืื ืื ืงืืืืช ืืขืืงืจืืืช:
builder - INFO - Parse yaml file: example.config.yaml
builder - INFO - Download scripts for build deb package
builder - INFO - Downloading nginx src...
builder - INFO - --> http://nginx.org/download/nginx-1.14.1.tar.gz
builder - INFO - Downloading 3d-party modules...
builder - INFO - Module nginx-auth-ldap will download by branch
builder - INFO - -- Done: nginx-auth-ldap
builder - INFO - -- Done: ngx_http_substitutions_filter_module
builder - INFO - Module headers-more-nginx-module will downloading
builder - INFO - Module nginx-module-vts will download by tag
builder - INFO - -- Done: nginx-module-vts
builder - INFO - Module ngx_devel_kit will download by tag
builder - INFO - -- Done: ngx_devel_kit
builder - INFO - -- Done: ngx_cache_purge
builder - INFO - -- Done: ngx_http_dyups_module
builder - INFO - Downloading dependencies
builder - INFO - Building .deb package
builder - INFO - Running 'dh_make'...
builder - INFO - Running 'dpkg-buildpackage'...
dpkg-deb: building package 'nginx' in '../nginx_1.14.1-1_amd64.deb'.
ืื, ืขื ืจืง ืืื ืคืงืืืืช, ืื ืื ื ืืืฆืจืื ืืช ืืกืืืื ืืืช ื-Nginx ืืืจืืื ืื ืืจืฉืช, ืืืืืืื ืืืคืืขื ืืกืคืจืืื ืฉืืื ื ืืืคืขื ืืกืงืจืืคื.
ืืืืขื
ืื ืื ื ืืืืืื ืื ืืฉืื ืืช ืืืื ืฉืื ื ืืชืืืืื CI/CD. ืื ืืืช ืืืขืจืืืช ื-CI ืืจืืืช ืืงืืืืืช ืืืื ืืืืื ืืขืืืจ ืืื, ืืืฉื
ืืชืืฆืื ืืื, ืืื ืคืขื ืฉืืืคืจื ืืฉืชื ื ืืืืืจ Git, ืื ืืืช ืืืคืฅ ืืืคืขืืช ืืืืืืืืช. ืืกืคืจ ืืืจืกื ืืงืืฉืจ ืืืื ื ืืฉืงืช ืืื ืืื.
ืขื ืงืฆืช ืืืชืจ ืืื, ืืชื ืืืื ืืืืืืจ ืืช ืืืคืฅ ืืืืฉืื ืืืืืจ ืืืืืืืช ืืืงืืื ืฉืื, Nexus, Artifactory ืืื ืืืื.
ืืชืจืื ื ืืกืฃ ืืื ืฉื ืืชื ืืืืจ ืืช ืงืืืฅ ืืชืฆืืจื ืฉื yaml ื-Ansible ืื ืืืขืจืืช ืชืฆืืจื ืืืืืืืืช ืืืจืช, ืืืฉื ื ืืื ืืงืืช ืืช ืืกืคืจ ืืืจืกื ืืกืื ืืืืืื ืฉื ืจืฆื ืืคืจืืก.
ืื ืืืื
ืืคืจืืืงื ืขืืืื ืื ืืืฉืื. ืื ืื ืฉืื ืื ื ืขืืืืื ืขืืื ืขืืฉืื:
- ืื ื ืืจืืืืื ืืช ืืคืฉืจืืช ืืชืฆืืจื, ืื ืืื ืขื ืืืช ืฉืืืจืื ืขื ืื ืคืฉืื ืืื ืืืคืฉืจ. ืืชื ืื ืจืืฆื ืืืืืืจ ืืืฃ ืคืจืืืจืื ืื ืืชื ืฆืจืื ืจืง ืฉื ืืื, ืืืฉืืจ ืืชืืื ืืืจืืจืช ืืืื. ืื ืืืื ืืืื ืงืืืคืืืฆืื (ืืขืช ืืชื ืืืื ืืฉื ืืช ืืืชื ืืงืืืฅ ืืชืฆืืจื ืืคื ืืื src/config.py), ื ืชืื ืืชืงื ื ืืืคืขืื ืฉื ืืฉืชืืฉ.
- ืื ื ืืืกืืคืื ืืคืฉืจืืืืช ืืฉืืืืช ืืืืื ืืืืืืืืช ืืืืืจื ืืคืฆืื ืฉืื ืื.
- ืืฆืข ืคืงืืื ืืืชืืืช ืืืฉืืช ืืขืช ืืขืื ืช ืืืืื (ืืืืืื, ืืฉืืืืฉ
github.com/nginx-modules/nginx_upstream_check_module ืชืืืื ืขืืื ืืืืื ืชืืงืื ืฉื ืืจืกื ืกืคืฆืืคืืช) - ืืืกืคืช ืืืื ืื:
- ืืืืืื ืืืชืงื ืช ืืืืื.
- ื-Nginx ืืฉ ืืช ืืืจืกื ืื ืืจืฉืช ืืืื ืื ืืื ืขื ืืืืืื ืืืืืืืืื ืื ืืจืฉืื.
- ื ืืฆืจืื ืื ืชืืืื ืืืจืืฉืื, ืืืฉืืื ืืช ืืื ืืืื.
ืืื ืืชื ืืืื ืืืฉืชืืฉ ืืืื ืืื ืขืืฉืื, ืืื ืืืฆืืข ืฉืืคืืจืื -
ืืงืืจ: www.habr.com