ืžื™ืจ ืึทืกืขืžื‘ืึทืœ ืื•ื ื“ื–ืขืจ Nginx ืžื™ื˜ ืึท ืคึผืึธืจ ืคื•ืŸ ืงืึทืžืึทื ื“ื–

ื”ื™!
ืžื™ื™ึทืŸ ื ืึธืžืขืŸ ืื™ื– ืกืขืจื’ื™ื™, ืื™ืš ืึทืจื‘ืขื˜ ื•ื•ื™ ืึท ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ื™ื ื–ืฉืขื ื™ืจ ืื™ืŸ ื“ื™ ืึทืคึผื™ ืžืึทื ืฉืึทืคึฟื˜ ืคื•ืŸ ื“ื™ tinkoff.ru ืคึผืœืึทื˜ืคืึธืจืžืข.

ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืื™ืš ื•ื•ืขืœ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ื“ื™ ืคืจืื‘ืœืขืžืขืŸ ื•ื•ืึธืก ืื•ื ื“ื–ืขืจ ืžืึทื ืฉืึทืคึฟื˜ ืคื™ื™ืกื˜ ื•ื•ืขืŸ ืคึผืจื™ืคึผืขืจื™ื ื’ ื‘ืึทืœืึทื ืกืขืจื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื ื’ื™ื ืงืก ืคืืจ ืคืืจืฉื™ื“ืขื ืข ืคืจืื™ืขืงื˜ืŸ. ืื™ืš ื•ื•ืขื˜ ืื•ื™ืš ื“ืขืจืฆื™ื™ืœืŸ ืื™ืจ ื•ื•ืขื’ืŸ ื“ื™ ื’ืขืฆื™ื™ึทื’ ื•ื•ืึธืก ืขืจืœื•ื™ื‘ื˜ ืžื™ืจ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืจื•ื‘ึฟ ืคื•ืŸ ื–ื™ื™.

Nginx ืื™ื– ืึท ืžื•ืœื˜ื™ืคื•ื ืงื˜ื™ืึธื ืึทืœ ืื•ืŸ ืึทืงื˜ื™ื•ื•ืœื™ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืคึผืจืึทืงืกื™ ืกืขืจื•ื•ืขืจ. ืขืก ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ืžืึทื“ื–ืฉื•ืœื–, ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืึท ื’ืึทื ืฅ ืจืฉื™ืžื”. ื™ืขื“ืขืจ ืคึผืจื•ื™ืขืงื˜ ื™ืžืคึผืึธื•ื–ืึทื– ื–ื™ื›ืขืจ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคึฟืึทืจ ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืคื•ืŸ ื“ื™ ื‘ืึทืœืึทื ืกืขืจ ืื•ืŸ ื“ื™ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹Nginx (ืœืžืฉืœ ื“ื™ ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ http/2 ืื•ืŸ grpc ืคึผืจืึทืงืกื™ื™ื ื’), ืื•ืŸ ื“ืขืจ ื–ืึทืฅ ืคื•ืŸ ื–ื™ื™ึทืŸ ืžืึทื“ื–ืฉื•ืœื–.

ืžื™ืจ ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ื–ืขืŸ ืึท ืคืจื™ืฉ ื•ื•ืขืจืกื™ืข ืžื™ื˜ ื“ื™ ืคืืจืœืื ื’ื˜ ื’ืึทื ื’ ืคื•ืŸ ืžืึทื“ื–ืฉื•ืœื–, ืคืœื™ืกื ื“ื™ืง ืื•ื ื˜ืขืจ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ืœื™ื ื•ืงืก ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’. ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ื“ืึธืก ื–ืขื ืขืŸ ื“ืขื‘- ืื•ืŸ ืจืคึผื-ื‘ืื–ื™ืจื˜ ืกื™ืกื˜ืขืžืขืŸ. ื“ื™ ืึธืคึผืฆื™ืข ืžื™ื˜ ืงืึทื ื˜ื™ื™ื ืขืจื– ืื™ื– ื ื™ืฉื˜ ืงืึทื ืกื™ื“ืขืจื“ ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ.

ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื’ืขืฉื•ื•ื™ื ื“ ื˜ื•ื™ืฉืŸ ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ื‘ืึทืœืึทื ืกืขืจื–. ืื•ืŸ ื“ืึธ ื“ื™ ืงืฉื™ื ื’ืœื™ื™ืš ืขืจื™ื™ื–ืึทื–: ื•ื•ื™ ืฆื• ื“ืขืจื’ืจื™ื™ื›ืŸ ื“ืขื ื‘ืฉืขืช ืกืคึผืขื ื“ื™ื ื’ ื•ื•ื™ ื•ื•ื™ื™ื ื™ืง ืจืขืกื•ืจืกืŸ ื•ื•ื™ ืžืขื’ืœืขืš? ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืืคื™ืœื• ื‘ืขืกืขืจ ืฆื• ืฉื˜ืขืœืŸ ื“ืขื ืคึผืจืึธืฆืขืก ืึทื–ื•ื™ ืึทื– ืžื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืขื ื“ืœืขืš ื ื•ืžืขืจ ืคื•ืŸ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ืึทืจื˜ืึทืคืึทืงื˜ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืึท ื“ืขื‘ / ืจืคึผื ืคึผืขืงืœ ืคึฟืึทืจ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืึทืก.

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืึท ื ื•ืžืขืจ ืคื•ืŸ ืคึผืจืึธื‘ืœืขืžืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคืืจืžื•ืœื™ืจื˜:

  • ืขืก ื–ืขื ืขืŸ ื ื™ื˜ ืฉื˜ืขื ื“ื™ืง ืคึผืึทืงืึทื“ื–ืฉืึทื– ืžื™ื˜ ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹Nginx.
  • ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืžื™ื˜ ื“ื™ ืคืืจืœืื ื’ื˜ ืžืึทื“ื–ืฉื•ืœื–.
  • ืžืึทื ื™ื•ืึทืœื™ ืงืึทืžืคึผื™ื™ืœื™ื ื’ ืื•ืŸ ื‘ื•ื™ืขืŸ ืึท ืคึผืขืงืœ ืื™ื– ืฆื™ื™ื˜ ืงืึทื ืกื•ืžื™ื ื’ ืื•ืŸ ื“ืึทื•ื ืจื™ื™ื˜ ื˜ื™ื“ื™ืึทืก.
  • ืขืก ืื™ื– ืงื™ื™ืŸ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื•ื•ื™ ื“ืึธืก ืึธื“ืขืจ ืึทื– Nginx ื‘ื™ื™ึทืฉืคึผื™ืœ ืื™ื– ืคืืจื–ืืžืœื˜.

ืฆื• ืกืึธืœื•ื•ืข ื“ื™ ืคึผืจืึธื‘ืœืขืžืก, ืขืก ืื™ื– ื ื•ื™ื˜ื™ืง ืคึฟืึทืจ ืึท ื’ืขืฆื™ื™ึทื’ ื•ื•ืึธืก ื•ื•ืขื˜ ื ืขืžืขืŸ ืึท ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืื™ืŸ ืึท ืžืขื ื˜ืฉ-ืœื™ื™ืขื ืขืŸ ืคึฟืึธืจืžืึทื˜ ืื•ืŸ ืึทืกืขืžื‘ืึทืœ ืึท Nginx ืคึผืขืงืœ ืžื™ื˜ ื“ื™ ื ื™ื™ื˜ื™ืง ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืขืก.

ื ื™ื˜ ื’ืขืคึฟื™ื ืขืŸ ืึท ืคึผืึทืกื™ืง ืึธืคึผืฆื™ืข ืคึฟืึทืจ ืื•ื ื“ื– ืื•ื™ืฃ ื“ื™ ื•ื•ืึทืกื˜ื ืึทืก ืคื•ืŸ Github, ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืฉืึทืคึฟืŸ ืื•ื ื“ื–ืขืจ ืื™ื™ื’ืขื ืข ื’ืขืฆื™ื™ึทื’ - nginx-builder.

ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทื ื–

ืื™ืŸ ืื•ื ื“ื–ืขืจ ื’ืขืฆื™ื™ึทื’, ืžื™ืจ ื’ืขื•ื•ืืœื˜ ืฆื• ืฉืึทืคึฟืŸ ืึท ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืงืึธื“, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืฉื˜ืขืœืŸ ืื™ืŸ ืึท ื’ื™ื˜ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืžื™ืจ ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜ ื“ืขื ืคึฟืึธืจืžืึทื˜ ื•ื•ืึธืก ืื™ื– ื‘ืึทืงืึทื ื˜ ืคึฟืึทืจ ืึทื–ืึท ื˜ื™ื ื’ื– - ื™ืึทืžืœ. ืกืคึผืขืกื™ืคื™ืงืึทื˜ื™ืึธืŸ ื‘ื™ื™ึทืฉืคึผื™ืœ:

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

ื“ืึธ ืžื™ืจ ืึธื ื•ื•ื™ื™ึทื–ืŸ ืึทื– ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื–ืขืŸ ืึท ื“ืขื‘ ืคึผืขืงืœ ืžื™ื˜ Nginx ื•ื•ืขืจืกื™ืข 1.14.2 ืžื™ื˜ ื“ื™ ืคืืจืœืื ื’ื˜ ื’ืึทื ื’ ืคื•ืŸ ืžืึทื“ื–ืฉื•ืœื–. ื“ืขืจ ืึธืคึผื˜ื™ื™ืœื•ื ื’ ืžื™ื˜ ืžืึทื“ื–ืฉื•ืœื– ืื™ื– ืึทืคึผืฉืึทื ืึทืœ. ืคึฟืึทืจ ื™ืขื“ืขืจ ืคื•ืŸ ื–ื™ื™ ืื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ:

  • ื ืึธืžืขืŸ.
  • ืึทื“ืจืขืก ื•ื•ื• ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ืขืก:
    • ื’ื™ื˜ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืฆื•ื•ื™ื™ึทื’ ืึธื“ืขืจ ืงื•ื•ื™ื˜ืœ.
    • ืึทืจื˜ืฉื™ื•ื•ืข ื•ื•ืขื‘ ืœื™ื ืง.
    • ืœืืงืืœืข ืœื™ื ืง ืฆื•ื ืืจื›ื™ื•ื•.

ืขื˜ืœืขื›ืข ืžืึทื“ื–ืฉื•ืœื– ื“ืึทืจืคืŸ ื ืึธืš ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืฆื• ื–ื™ื™ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ, ืœืžืฉืœ nginx-auth-ldap ืจื™ืงื•ื•ื™ื™ืขืจื– libldap2-dev ืื™ื ืกื˜ืึทืœื™ืจืŸ. ื ื™ื™ื˜ื™ืง ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ืกืคึผืขืกื™ืคื™ืขื“ ื•ื•ืขืŸ ื“ื™ืกืงืจื™ื™ื‘ื™ื ื’ ื“ื™ ืžืึธื“ื•ืœืข.

ื“ื™ ืกื•ื•ื™ื•ื•ืข

ืื™ืŸ ืื•ื ื“ื–ืขืจ ื’ืขืฆื™ื™ึทื’ ืื™ืจ ืงืขื ืขืŸ ื’ืขืฉื•ื•ื™ื ื“ ื‘ืึทืงื•ืžืขืŸ ืึท ืกื•ื•ื™ื•ื•ืข ืžื™ื˜ ืื™ื ืกื˜ืึทืœื™ืจืŸ ื™ื•ื˜ื™ืœืึทื˜ื™ื– ืคึฟืึทืจ ื–ืึทืžืœื•ื ื’, ืคึผืขืงืœ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืื•ืŸ ืื ื“ืขืจืข ืึทื’ื–ื™ืœื™ืขืจื™ ื•ื•ื™ื™ื›ื•ื•ืืจื’. ื ื“ืึธืงืงืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืžื™ื˜ ืึทืœืฅ ืื™ืจ ื“ืึทืจืคึฟืŸ ืื™ื– ื™ื“ืขืึทืœ ื“ืึธ (ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ื”ืื˜ ืฉื•ื™ืŸ ืขื˜ืœืขื›ืข ื‘ื™ื™ืฉืคื™ืœืŸ ืคื•ืŸ ื“ืึธืงืงืขืจ ื˜ืขืงืขืก ืคึฟืึทืจ ื•ื‘ื•ื ื˜ื• ืื•ืŸ ืกืขื ื˜ืึธืก).

ื ืึธืš ื“ื™ ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทืŸ ืื™ื– ืฆื™ืขืŸ ืึทืจื•ื™ืฃ ืื•ืŸ ื“ื™ ืกื•ื•ื™ื•ื•ืข ืื™ื– ืฆื•ื’ืขื’ืจื™ื™ื˜, ืžื™ืจ ืงืึทื˜ืขืจ ืื•ื ื“ื–ืขืจ ื‘ื™ืœื“ืขืจ, ื•ื•ื™ื™ืœ ืคืจื™ืขืจ ืื™ื ืกื˜ืึทืœื™ืจืŸ ื–ื™ื™ึทืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื–:

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 ืคึฟืึทืจื–ืึทืžืœื•ื ื’, ืื•ืŸ ื“ืขืจ ืคึผืขืงืœ ืื™ื– ืืจื•ื™ืก ืื™ืŸ ื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืคื•ืŸ ื•ื•ื• ื“ื™ ืฉืจื™ืคื˜ ืื™ื– ืœืึธื ื˜ืฉื˜.

ืขืžื‘ืขื“ื“ื™ื ื’

ืžื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ื•ื™ืกืฉื˜ื™ืžืขืŸ ืื•ื ื“ื–ืขืจ ื’ืขืฆื™ื™ึทื’ ืื™ืŸ ืกื™ / ืกื™ ืคึผืจืึทืกืขืกืึทื–. ืงื™ื™ืŸ ืคื•ืŸ ื“ื™ ืคื™ืœืข ืกื™-ืกื™ืกื˜ืขืžืก ื•ื•ืึธืก ื–ืขื ืขืŸ ืื™ืฆื˜ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืงืขื ืขืŸ ื”ืขืœืคืŸ ืžื™ื˜ ื“ืขื, ืœืžืฉืœ Teamcity ืึธื“ืขืจ ื’ื™ื˜ืœืึทื‘ ืกื™.

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ื™ืขื“ืขืจ ืžืึธืœ ื•ื•ืขืŸ ื“ื™ ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทื ื– ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ Git ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™, ื“ื™ ื‘ื•ื™ืขืŸ ืคื•ืŸ ื“ื™ ืึทืจื˜ืึทืคืึทืงื˜ ืื™ื– ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืœืึธื ื˜ืฉื˜. ื“ื™ ืจืขื•ื•ื™ื–ื™ืข ื ื•ืžืขืจ ืื™ื– ืœื™ื ื’ืงื˜ ืฆื• ื“ื™ ื‘ื•ื™ืขืŸ ืงืึทื˜ืขืจ ื˜ืึธืžื‘ืึทื ืง.
ืžื™ื˜ ืึท ื‘ื™ืกืœ ืžืขืจ ืฆื™ื™ื˜, ืื™ืจ ืงืขื ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืึทืจื˜ืึทืคืึทืงื˜ ืฆื• ื–ื™ื™ืŸ ื’ืขืฉื™ืงื˜ ืฆื• ื“ื™ื™ืŸ ื”ื™ื’ืข ืคึผืขืงืœ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™, Nexus, Artifactory, ืื•ืŸ ืึทื–ื•ื™ ืื•ื™ืฃ.

ืึทืŸ ื ืึธืš ืžื™ื™ึทืœืข ืื™ื– ืึทื– ื“ื™ ื™ืึทืžืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึธื ื ืขืงื˜ืขื“ ืฆื• Ansible ืึธื“ืขืจ ืืŸ ืื ื“ืขืจ ืึธื˜ืึทืžืึทื˜ื™ืง ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขื, ืื•ืŸ ืคึฟื•ืŸ ื“ืึธืจื˜ ืžื™ืจ ืงืขื ืขืŸ ื ืขืžืขืŸ ื“ื™ ื•ื•ืขืจืกื™ืข ื ื•ืžืขืจ ืื•ืŸ ืคึผืขืงืœ ื˜ื™ืคึผ ื•ื•ืึธืก ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ.

ื•ื•ืึธืก ืก ื•ื•ื™ื™ึทื˜ืขืจ

ื“ืขืจ ืคืจืื™ืขืงื˜ ืื™ื– ื ืืš ื ื™ืฉื˜ ืคืืจืขื ื“ื™ืงื˜. ื“ืึธ ืื™ื– ื•ื•ืึธืก ืžื™ืจ ืึทืจื‘ืขื˜ืŸ ืื•ื™ืฃ ืื™ืฆื˜:

  • ืžื™ืจ ื™ืงืกืคึผืึทื ื“ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ, ืึธื‘ืขืจ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ึทื˜ ื”ืึทืœื˜ืŸ ืขืก ื•ื•ื™ ืคึผืฉื•ื˜ ื•ื•ื™ ืžืขื’ืœืขืš. ืื™ืจ ื˜ืึธืŸ ื ื™ืฉื˜ ื•ื•ืขืœืŸ ืฆื• ื“ืขืคื™ื ื™ืจืŸ ืึท ื˜ื•ื™ื–ื ื˜ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื•ื™ื‘ ืื™ืจ ื ืึธืจ ื“ืึทืจืคึฟืŸ ืฆื•ื•ื™ื™, ืื•ืŸ ื“ื™ ืžื ื•ื—ื” ืคื™ืฅ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜. ื“ืึธืก ื›ื•ืœืœ ื–ืึทืžืœื•ื ื’ ืคืœืึทื’ืก (ืื™ืฆื˜ ืื™ืจ ืงืขื ืขืŸ ื˜ื•ื™ืฉืŸ ื–ื™ื™ ืื™ืŸ ื“ื™ ื™ื ืขืจืœืขืš ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข src/config.py), ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ื“ืจืš ืื•ืŸ ืงืึทื˜ืขืจ ื‘ืึทื ื™ืฆืขืจ.
  • ืžื™ืจ ืœื™ื™ื’ืŸ ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืฉื™ืงืŸ ืึท ืคึผืขืงืœ ืฆื• ืคืึทืจืฉื™ื“ืŸ ืึทืจื˜ืึทืคืึทืงื˜ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ื–.
  • ื•ื™ืกืคื™ืจืŸ ืึท ืžื ื”ื’ ื‘ืึทืคึฟืขืœ ื•ื•ืขืŸ ืœืึธื•ื“ื™ื ื’ ืึท ืžืึธื“ื•ืœืข (ืœืžืฉืœ, ืฆื• ื ื•ืฆืŸ github.com/nginx-modules/nginx_upstream_check_module ืื™ืจ ืžื•ื–ืŸ ืขืจืฉื˜ืขืจ ืฆื•ืœื™ื™ื’ืŸ ืึท ืœืึทื˜ืข ืคื•ืŸ โ€‹โ€‹ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื•ื•ืขืจืกื™ืข)
  • ืึทื“ื™ื ื’ ื˜ืขืกืฅ:
    • ื“ืขืจ ืคึผืขืงืœ ืื™ื– ืื™ื ืกื˜ืึทืœื™ืจืŸ ืจื™ื›ื˜ื™ืง.
    • Nginx ื”ืื˜ ื“ื™ ืคืืจืœืื ื’ื˜ ื•ื•ืขืจืกื™ืข ืื•ืŸ ืื™ื– ื’ืขื‘ื•ื™ื˜ ืžื™ื˜ ื“ื™ ืคืืจืœืื ื’ื˜ ืคืœืึทื’ืก ืื•ืŸ ืžืึทื“ื–ืฉื•ืœื–.
    • ื“ื™ ื ื•ื™ื˜ื™ืง ืคึผืึทื˜ืก, ืึทืงืึทื•ื ืฅ, ืื•ืŸ ืึทื–ื•ื™ ืื•ื™ืฃ ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ.

ืึธื‘ืขืจ ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ืขื ื’ืขืฆื™ื™ึทื’ ืื™ืฆื˜, ืื•ืŸ ืื•ื™ืš ืคึฟืึธืจืฉืœืึธื’ืŸ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ - github.com/TinkoffCreditSystems/Nginx-builder wellcome!

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’