ααααΆααα½α!
ααααααααααααα»αααΊ Sergey αααα»αααααΎααΆαααΆαα·αααααα αααααΆαα
ααΆαααααααααα
αααα»ααααα»α API αααααα·ααΆ tinkoff.ru α
αα
αααα»αα’αααααααααααα»αααΉααα·ααΆαα’αααΈαααα αΆααααααα»αααααααΎααα½αααααααα
ααααααα
ααα»αααααΆααααααα’ααααΎ
Nginx ααΊααΆαααΆαααΈαααααααΌααααΈαααααΆααα»αααΆαα
αααΎα αα·ααααα»αα’αα·αααααααΆααααααα ααΆααΆααααααααα·ααααα½αα
ααα½ααααααααΌαα»α,
ααΎαα ααααΎαααααααααΈααΆαα½αααΉααααα»ααααΌαα»ααααααααΌαααΆα ααααΎαααΆααααααααΆαα ααα αΆαααΈαα»α ααΆααααΆααα αααα»αααααΈααααααΎα ααΆαααααααΊααΆαααααααααααααΆαααΌαααααΆαααΎ deb- αα·α rpm α αααααΎαααΆαα½ααα»ααα·αααααΌαααΆααα·α αΆαααΆαααα»αα’ααααααααααα
ααΎαα ααααααΆααααααΌααα»αααΆααααα»αααααΆαααααααΎααααΆαααΆαααα ααα α αΎααα ααΈααααααα½αααααΆααααΎαα‘αΎα: ααΎααααΎααΌα ααααα ααΎααααΈαααααα ααΆαααΌααααα αΆααααααααααααα αααΆαααααΆααα·α αα½α ααΆααααα’αΆα ααααΎαα ααΆα? ααΆααΉαααΆαααααααααΎααααα»αααΆααααα αααααΎαααΆα ααΌα ααααααΎαα’αΆα αααααΆααα ααα½αααααααααααΆαααΆαααααααααα αΌα α αΎααα ααααααααα½αααΆαααααα»αα»ααΆααααα»αααααααααΆαααα αα deb/rpm αααααΆαα OS αααα ααααΆαα
ααΆαααααααααα αΆαα½αα ααα½αα’αΆα ααααΌαααΆααααααΎα:
- αα·ααααααααΆααααα αααααααΆαααααα α»αααααααααα 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 ααΆαα½α Nginx αααα 1.14.2 ααΆαα½αααΉααααα»ααααΌαα»ααααααααΌαααΆαα ααααααααααΆααααΌαα»αααΊααααα α α·αααα αααααΆαααα½αααΆααΈαα½ααα’αααα’αΆα ααααα:
- αααααα
- α’αΆααααααΆααααα’αααα’αΆα
ααα½αααΆαααΆα
- ααααΆαα Git α α’αααααα’αΆα αααααΆααααΆααΆ α¬ααααΆααααααα
- ααααααΆααααααα αααααα
- αααααααΆαααααα»ααααα»ααα ααΆαααααααααΆαα
αααΌαα»ααα½αα ααα½ααααααΌαα±ααααα‘αΎαααΆαα’αΆααααααααααα α§ααΆα ααα nginx-auth-ldap αααααΌαα±ααααα‘αΎα libldap2-dev α ααΆαα’αΆαααααα αΆαααΆα αααα’αΆα ααααΌαααΆααααααΆαααα ααααα·αααααΆα’αααΈαααΌαα»αα
ααα·ααααΆα
αα αααα»αα§αααααααααααΎα α’αααα’αΆα ααα½αααΆαααα·ααΆααΆααααΆααα ααααΆαα½αααΉαα§αααααααααΎααααΆαααααααΆαααα‘αΎααααααΆααααΆαα ααααα ααΆαααα‘αΎααααα αα αα·ααααααα·ααΈαααα½αααααααααα αα»αααΊααα Docker αααααΆαα’αααΈααααααααΆααααα’αααααααΌαααΆαααΊααα’αα ααΈααα (ααααΆααααΆαα§ααΆα ααααα½αα ααα½αααα―αααΆα Docker αααααΆαα ubuntu αα·α 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