เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ Nginx เจจเฉ‚เฉฐ เจ•เฉเจ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเจพเจฒ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚

เจนเฉˆเจฒเฉ‹!
เจฎเฉ‡เจฐเจพ เจจเจพเจฎ เจธเจฐเจ—เฉ‡เจˆ เจนเฉˆ, เจฎเฉˆเจ‚ tinkoff.ru เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฆเฉ€ API เจŸเฉ€เจฎ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเจพ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเจพเจ‚เฅค

เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจ‰เจนเจจเจพเจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เจพ เจœเฉ‹ เจธเจพเจกเฉ€ เจŸเฉ€เจฎ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจฌเฉˆเจฒเฉ‡เจ‚เจธ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ†เจˆเจ†เจ‚ เจธเจจ เจเจจเจœเฉ€เจ•เจธ เจตเฉฑเจ–-เจตเฉฑเจ– เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจฒเจˆ. เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจธ เจŸเฉ‚เจฒ เจฌเจพเจฐเฉ‡ เจตเฉ€ เจฆเฉฑเจธเจพเจ‚เจ—เจพ เจœเจฟเจธ เจจเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจจเฉ‚เฉฐ เจฆเฉ‚เจฐ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€เฅค

Nginx เจ‡เฉฑเจ• เจฎเจฒเจŸเฉ€เจซเฉฐเจ•เจธเจผเจจเจฒ เจ…เจคเฉ‡ เจธเจฐเจ—เจฐเจฎเฉ€ เจจเจพเจฒ เจตเจฟเจ•เจพเจธเจธเจผเฉ€เจฒ เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจธเจฐเจตเจฐ เจนเฉˆเฅค เจ‡เจธ เจตเจฟเฉฑเจš เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจฎเฉ‹เจกเฉ€เจŠเจฒ เจนเจจ, เจ‡เจน เจชเฉ‚เจฐเฉ€ เจธเฉ‚เจšเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ. เจนเจฐเฉ‡เจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ เจฆเฉ€ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจ…เจคเฉ‡ Nginx เจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, http/2 เจ…เจคเฉ‡ grpc เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€), เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฆเฉ€ เจฐเจšเจจเจพ 'เจคเฉ‡ เจ•เฉเจ เจœเจผเจฐเฉ‚เจฐเจคเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ–เจพเจธ เจฒเฉ€เจจเจ•เจธ เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจฎเฉˆเจกเจฟเจŠเจฒเจพเจ‚ เจฆเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจธเฉˆเฉฑเจŸ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจคเจพเจœเจผเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡เจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เจน deb- เจ…เจคเฉ‡ rpm- เจ…เจงเจพเจฐเจฟเจค เจธเจฟเจธเจŸเจฎ เจนเจจเฅค เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจตเจพเจฒเฉ‡ เจตเจฟเจ•เจฒเจช เจจเฉ‚เฉฐ เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฎเฉฐเจจเจฟเจ† เจ—เจฟเจ† เจนเฉˆ.

เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐเจพเจ‚ เจฆเฉ€ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจฌเจฆเจฒเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจธเจตเจพเจฒ เจคเฉเจฐเฉฐเจค เจ‰เฉฑเจ เจฆเจพ เจนเฉˆ: เจธเฉฐเจญเจต เจคเฉŒเจฐ 'เจคเฉ‡ เจ˜เฉฑเจŸ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจฐเจš เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจนเฉˆ? เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจเจพ เจนเฉ‹เจฐ เจตเฉ€ เจฌเจฟเจนเจคเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ เจคเจพเจ‚ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจ‡เฉฐเจชเฉเฉฑเจŸ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ€เจฎเจค เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐ เจธเจ•เฉ€เจ, เจ…เจคเฉ‡ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ 'เจคเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ OS เจฒเจˆ เจ‡เฉฑเจ• deb/rpm เจชเฉˆเจ•เฉ‡เจœ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ†เจฐเจŸเฉ€เจซเฉˆเจ•เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เฉ€เจเฅค

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจ•เจˆ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ:

  • Nginx เจฆเฉ‡ เจจเจตเฉ€เจจเจคเจฎ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจจเจพเจฒ เจนเจฎเฉ‡เจธเจผเจพ เจชเฉˆเจ•เฉ‡เจœ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ.
  • เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฎเฉ‹เจกเฉ€เจŠเจฒเจพเจ‚ เจตเจพเจฒเฉ‡ เจ•เฉ‹เจˆ เจชเฉˆเจ•เฉ‡เจœ เจจเจนเฉ€เจ‚ เจนเจจเฅค
  • เจ‡เฉฑเจ• เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจฌเจฃเจพเจ‰เจฃเจพ เจธเจฎเจพเจ‚ เจฒเฉˆเจฃ เจตเจพเจฒเจพ เจ…เจคเฉ‡ เจฌเจฟเจฒเจ•เฉเจฒ เจฅเจ•เจพเจตเจŸ เจตเจพเจฒเจพ เจนเฉˆเฅค
  • เจ‡เจธ เจ—เฉฑเจฒ เจฆเจพ เจ•เฉ‹เจˆ เจตเจฐเจฃเจจ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ‡เจน เจœเจพเจ‚ เจ‰เจน Nginx เจ‰เจฆเจพเจนเจฐเจฃ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจ‡เจ•เฉฑเจ เจพ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ.

เจ‡เจนเจจเจพเจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจŸเฉ‚เจฒ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจชเฉˆเจฆเจพ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจฎเจจเฉเฉฑเจ–เฉ€-เจชเฉœเฉเจนเจจ เจฏเฉ‹เจ— เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เจจเจชเฉเจŸ เจฒเจตเฉ‡ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• Nginx เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเฉ‡เฅค

เจ—เจฟเจฅเจฌ เจฆเฉ€ เจตเจฟเจธเจผเจพเจฒเจคเจพ 'เจคเฉ‡ เจธเจพเจกเฉ‡ เจฒเจˆ เจ•เฉ‹เจˆ เจขเฉเจ•เจตเจพเจ‚ เจตเจฟเจ•เจฒเจช เจจเจนเฉ€เจ‚ เจฒเฉฑเจญ เจฐเจฟเจนเจพ, เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเจพ เจ–เฉเจฆ เจฆเจพ เจŸเฉ‚เจฒ เจฌเจฃเจพเจ‰เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ - nginx-เจฌเจฟเจฒเจกเจฐ.

ะกะฟะตั†ะธั„ะธะบะฐั†ะธะธ

เจธเจพเจกเฉ‡ เจŸเฉ‚เจฒ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ•เฉ‹เจก เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจชเฉˆเจธเฉ€เจซเจฟเจ•เฉ‡เจธเจผเจจ เจฆเจพ เจตเฉ‡เจฐเจตเจพ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€, เจœเจฟเจธเจจเฉ‚เฉฐ เจซเจฟเจฐ เจ‡เฉฑเจ• 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

เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจธเฉฐเจ•เฉ‡เจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ Nginx เจธเฉฐเจธเจ•เจฐเจฃ 1.14.2 เจฆเฉ‡ เจจเจพเจฒ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฎเฉˆเจกเจฟเจŠเจฒเจพเจ‚ เจฆเฉ‡ เจธเฉˆเฉฑเจŸ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจกเฉˆเจฌ เจชเฉˆเจ•เฉ‡เจœ เจฆเฉ‡เจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจฎเฉ‹เจกเฉ€เจŠเจฒ เจตเจพเจฒเจพ เจญเจพเจ— เจตเจฟเจ•เจฒเจชเจฟเจ• เจนเฉˆเฅค เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจธเฉˆเฉฑเจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

  • เจจเจพเจฎ.
  • เจชเจคเจพ เจœเจฟเฉฑเจฅเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:
    • Git เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€. เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจผเจพเจ–เจพ เจœเจพเจ‚ เจŸเฉˆเจ— เจตเฉ€ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค
    • เจชเฉเจฐเจพเจฒเฉ‡เจ– เจตเฉˆเฉฑเจฌ เจฒเจฟเฉฐเจ•.
    • เจ†เจฐเจ•เจพเจˆเจต เจฒเจˆ เจธเจฅเจพเจจเจ• เจฒเจฟเฉฐเจ•เฅค

เจ•เฉเจ เจฎเฉ‹เจกเฉ€เจŠเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจฒเจˆ เจตเจพเจงเฉ‚ เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ 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 เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจœ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‹เจ‚ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฒเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค

เจเจฎเจฌเฉˆเจกเจฟเฉฐเจ—

เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจŸเฉ‚เจฒ เจจเฉ‚เฉฐ CI/CD เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ€ เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เฉฑเจœ เจฎเฉŒเจœเฉ‚เจฆ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ CI เจธเจฟเจธเจŸเจฎเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉ‹เจˆ เจตเฉ€ เจ‡เจธ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจŸเฉ€เจฎเจธเจฟเจŸเฉ€ เจœ เจ—เจฟเจŸเจฒเฉˆเจฌ เจธเฉ€.เจ†เจˆ.

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจนเจฐ เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ เจ—เจฟเจŸ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจจเจฟเจฐเจงเจพเจฐเจจ เจฌเจฆเจฒเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ†เจฐเจŸเฉ€เจซเฉˆเจ•เจŸ เจฆเจพ เจจเจฟเจฐเจฎเจพเจฃ เจ†เจชเจฃเฉ‡ เจ†เจช เจฒเจพเจ‚เจš เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจธเฉฐเจธเจผเฉ‹เจงเจจ เจจเฉฐเจฌเจฐ เจฌเจฟเจฒเจก เจฒเจพเจ‚เจš เจ•เจพเจŠเจ‚เจŸเจฐ เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจนเฉ‹เจ‡เจ† เจนเฉˆเฅค
เจฅเฉ‹เฉœเฉ‡ เจนเฉ‹เจฐ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจธเจฅเจพเจจเจ• เจชเฉˆเจ•เฉ‡เจœ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€, เจจเฉˆเจ•เจธเจธ, เจ†เจฐเจŸเฉ€เจซเฉˆเจ•เจŸเจฐเฉ€, เจ†เจฆเจฟ เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฃ เจฒเจˆ เจ†เจฐเจŸเฉ€เจซเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจซเจพเจ‡เจฆเจพ เจ‡เจน เจนเฉˆ เจ•เจฟ yaml เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ Ansible เจœเจพเจ‚ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจ•เจจเฉˆเจ•เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เฉฑเจฅเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจตเจฐเจœเจจ เจจเฉฐเจฌเจฐ เจ…เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจœ เจ•เจฟเจธเจฎ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค

เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจนเฉˆ

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ…เจœเฉ‡ เจชเฉ‚เจฐเจพ เจจเจนเฉ€เจ‚ เจนเฉ‹เจ‡เจ† เจนเฉˆเฅค เจ‡เจน เจ‰เจน เจนเฉˆ เจœเจฟเจธ 'เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจนเฉเจฃ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚:

  • เจ…เจธเฉ€เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจชเจฐ เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจนเฉ€ เจ‡เจธเจจเฉ‚เฉฐ เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจธเจงเจพเจฐเจจ เจฐเฉฑเจ–เฉ‹เฅค เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจนเจœเจผเจพเจฐ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจฆเฉ‹ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ…เจคเฉ‡ เจฌเจพเจ•เฉ€ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจซเจฟเฉฑเจŸ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจ‡เจธ เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจˆเจฒเฉ‡เจธเจผเจจ เจซเจฒเฉˆเจ— (เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ‡เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒ src/config.py เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹), เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจฎเจพเจฐเจ—, เจ…เจคเฉ‡ เจฒเจพเจ‚เจš เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค
  • เจ…เจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจ†เจฐเจŸเฉ€เจซเฉˆเจ•เจŸ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจชเฉˆเจ•เฉ‡เจœ เจญเฉ‡เจœเจฃ เจฒเจˆ เจตเจฟเจ•เจฒเจช เจœเฉ‹เฉœ เจฐเจนเฉ‡ เจนเจพเจ‚เฅค
  • เจ‡เฉฑเจ• เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฒเฉ‹เจก เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ‡เฉฑเจ• เจ•เจธเจŸเจฎ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจตเจฐเจคเจฃ เจฒเจˆ github.com/nginx-modules/nginx_upstream_check_module เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เฉฑเจ• เจ–เจพเจธ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเจพ เจ‡เฉฑเจ• เจชเฉˆเจš เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ)
  • เจŸเฉˆเจธเจŸ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเจพ:
    • เจชเฉˆเจ•เฉ‡เจœ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ‡เฉฐเจธเจŸเจพเจฒ เจนเฉˆเฅค
    • Nginx เจ•เฉ‹เจฒ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจนเฉˆ เจ…เจคเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจซเจฒเฉˆเจ— เจ…เจคเฉ‡ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเจพเจฒ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ.
    • เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฎเจพเจฐเจ—, เจ–เจพเจคเฉ‡ เจ†เจฆเจฟ เจฌเจฃเจพเจ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค

เจชเจฐ เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃ เจ‡เจธ เจธเจพเจงเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจธเฉเจงเจพเจฐเจพเจ‚ เจฆเจพ เจธเฉเจเจพเจ… เจตเฉ€ เจฆเฉ‡ เจธเจ•เจฆเฉ‡ เจนเฉ‹ - github.com/TinkoffCreditSystems/Nginx-builder เจœเฉ€ เจ†เจ‡เจ†เจ‚ เจจเฉ‚เฉฐ!

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹