เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดฒเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดฎเต€เดชเดจเด‚

ansible devops codestyle

เดนเต‡เดฏเต! เดŽเดจเตเดฑเต† เดชเต‡เดฐเต เดกเต†เดจเดฟเดธเต เด•เดฒเตเดทเตเดจเดฟ เดžเดพเตป เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเต เดชเตเดฐเต‹เดธเดธเต เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป เดกเดฟเดชเตเดชเดพเตผเดŸเตเดŸเตโ€Œเดฎเต†เดจเตเดฑเดฟเตฝ เดŽเดžเตเดšเดฟเดจเต€เดฏเดฑเดพเดฏเดฟ เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเดฒเตเดฒเดพ เดฆเดฟเดตเดธเดตเตเด‚, เดจเต‚เดฑเตเด•เดฃเด•เตเด•เดฟเดจเต เด•เดพเดฎเตเดชเต†เดฏเตโ€Œเตป เดธเต†เตผเดตเดฑเตเด•เดณเดฟเตฝ เดชเตเดคเดฟเดฏ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฌเดฟเตฝเดกเตเด•เตพ เดชเตเดฑเดคเตเดคเดฟเดฑเด•เตเด•เตเดจเตเดจเต. เดˆ เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เด…เตปเดธเดฟเดฌเดฟเตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดคเดฟเดจเตเดฑเต† เด…เดจเตเดญเดตเด‚ เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดžเดพเตป เดชเด™เตเด•เตเดตเต†เด•เตเด•เตเดจเตเดจเต.

เดˆ เด—เตˆเดกเต เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเตฝ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดธเด‚เด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฎเดพเตผเด—เด‚ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดˆ เด—เตˆเดกเต เด…เดตเดฐเตเดŸเต† เดชเตเดฒเต‡เดฌเตเด•เตเด•เตเด•เดณเดฟเตฝ เด‡เดคเดฟเดจเด•เด‚ เดฑเต‹เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดตเตผเด•เตเด•เตเด‚ เดตเดพเดฏเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณเดตเตผเด•เตเด•เตเด‚ เดตเต‡เดฃเตเดŸเดฟเดฏเตเดณเตเดณเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดš เดฐเต€เดคเดฟเด•เตพ, เดŽเดจเตเดจเดพเตฝ เดธเดฎเดพเดจเดฎเดพเดฏ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เด…เดญเดฟเดฎเตเด–เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต:

  • เด•เต‹เดกเดฟเตฝ เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดคเดฟเดจเดพเตฝ, เด…เดคเดฟเดจเตเดฑเต† เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด‚ เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ;
  • เดจเดฟเดฐเดตเดงเดฟ เดฑเต‹เดณเตเด•เตพ เด‰เดฃเตเดŸเต, เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด’เดฐเต เดฎเต‚เดฒเตเดฏเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดคเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดชเด•เตเดทเต‡ เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ;
  • เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฒเต‡เดฌเตเด•เตเด•เตเด•เดณเดฟเดฒเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เดฒเต‹เดœเดฟเด•เต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฐเต‹เดŸเต เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดฃเตเดŸเต

เดžเด™เตเด™เดณเตเดŸเต† เด•เดฎเตเดชเดจเดฟเดฏเดฟเดฒเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเดฟเตฝ เดžเด™เตเด™เตพ เดˆ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเต, เด…เดคเดฟเดจเตเดฑเต† เดซเดฒเดฎเดพเดฏเดฟ เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฒเต‡เดฌเตเด•เตเด•เตเด•เดณเดฟเตฝ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เดณเดฟเตฝ เดžเด™เตเด™เตพ เดŽเดคเตเดคเดฟ, เด‡เดคเต เด’เดฐเต เดชเดฐเดฟเดงเดฟเดตเดฐเต† เดˆ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต.

เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดฒเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดฎเต€เดชเดจเด‚

เดฑเต‹เดณเตเด•เดณเดฟเดฒเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ

เดตเดฟเดจเตเดฏเดพเดธ เดธเด‚เดตเดฟเดงเดพเดจเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดตเดธเตเดคเตเดตเดพเดฃเต เดฑเต‹เตพ. เดเดคเตŠเดฐเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเดฟเดจเต‡เดฏเตเด‚ เดชเต‹เดฒเต†, เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดตเดฏเตเดฎเดพเดฏเดฟ เดธเด‚เดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด‡เดคเดฟเดจเต เด’เดฐเต เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดฑเต‹เตพ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดพเดฃเต.

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฑเต‹เตพ เดŽเดŸเตเด•เตเด•เดพเด‚ api, เดธเต†เตผเดตเดฑเดฟเตฝ เด’เดฐเต เดœเดพเดต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‡เดคเดฟเดจเต เดŽเดจเตเดคเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚?

เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดฒเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดฎเต€เดชเดจเด‚

เดคเดฐเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดฑเต‹เดณเตเด•เดณเต† 2 เดคเดฐเด™เตเด™เดณเดพเดฏเดฟ เดคเดฟเดฐเดฟเด•เตเด•เดพเด‚:

1. ะกะฒะพะนัั‚ะฒะฐ
    a) ะฝะตะทะฐะฒะธัะธะผั‹ะต ะพั‚ ัั€ะตะดั‹
    ะฑ) ะทะฐะฒะธัะธะผั‹ะต ะพั‚ ัั€ะตะดั‹
2. ะกะฒัะทะธ
    a) ัะปัƒัˆะฐั‚ะตะปะธ 
    ะฑ) ะทะฐะฟั€ะพัั‹ ะฒะฝัƒั‚ั€ะธ ัะธัั‚ะตะผั‹
    ะฒ) ะทะฐะฟั€ะพัั‹ ะฒ ัั€ะตะดัƒ

เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟเด•เตพ เด’เดฐเต เดฑเต‹เดณเดฟเดจเตเดฑเต† เดธเตเดตเดญเดพเดตเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดพเดฃเต.

เด…เดจเตเดตเต‡เดทเดฃ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ - เดฑเต‹เดณเดฟเดจเต เดชเตเดฑเดคเตเดคเตเดณเตเดณ เดตเดฟเดญเดตเด™เตเด™เดณเต† เดจเดฟเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดฎเต‚เดฒเตเดฏเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดพเดฃเดฟเดต.

เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดถเตเดฐเต‹เดคเดพเด•เตเด•เตพ - เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดฐเต‚เดชเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เดฎเต‚เดฒเตเดฏเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดพเดฃเต เด‡เดต.

เดฎเดฑเตเดตเดถเดคเตเดคเต, 1a, 2a, 2b เดŽเดจเตเดจเดคเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเต† (เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ, เดฌเดพเดนเตเดฏ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดฎเตเดคเดฒเดพเดฏเดต) เด†เดถเตเดฐเดฏเดฟเด•เตเด•เดพเดคเตเดค เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดฑเต‹เดณเดฟเตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดคเดฐเด‚ 1.b, 2.c เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ 'เด‰เดฆเดพเดนเดฐเดฃเด‚' เด’เดดเดฟเด•เต†เดฏเตเดณเตเดณ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เด…เดธเดพเดงเตเดฏเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เด…เดต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเต เดธเตเดฑเตเดฑเดพเตปเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเตเดฑเตเดฑเดพเตปเดกเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเด‚.

เด•เต‹เดกเต เดถเตˆเดฒเดฟ

  • เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดจเดพเดฎเด‚ เดฑเต‹เตพ เดจเดพเดฎเดคเตเดคเดฟเตฝ เด†เดฐเด‚เดญเดฟเด•เตเด•เดฃเด‚. เดญเดพเดตเดฟเดฏเดฟเตฝ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต† เดชเด™เตเด•เต เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด‚ เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเตเด‚ เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเตป เด‡เดคเต เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด•เตเด‚.
  • เดฑเต‹เดณเตเด•เดณเดฟเตฝ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดŽเตปเด•เตเดฏเดพเดชเตโ€Œเดธเตเดฒเต‡เดทเดจเตเดฑเต† เดคเดคเตเดตเด‚ เดจเดฟเด™เตเด™เตพ เดชเดฟเดจเตเดคเตเดŸเดฐเตเด•เดฏเตเด‚ เดฑเต‹เดณเดฟเตฝ เดคเดจเตเดจเต† เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดคเต เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจ เดฑเต‹เดณเตเด•เดณเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚.
  • เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดจเดฟเด˜เดฃเตเดŸเตเด•เตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดดเดฟเดตเดพเด•เตเด•เตเด•. เด’เดฐเต เดจเดฟเด˜เดฃเตเดŸเตเดตเดฟเตฝ เดตเตเดฏเด•เตเดคเดฟเด—เดค เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เดฎเดฑเดฟเด•เดŸเด•เตเด•เดพเตป เด…เตปเดธเดฟเดฌเดฟเตพ เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

    เด’เดฐเต เดฎเต‹เดถเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต† เด‰เดฆเดพเดนเดฐเดฃเด‚:

    myrole_user:
        login: admin
        password: admin

    เด‡เดตเดฟเดŸเต† เดฒเต‹เด—เดฟเตป เดŽเดจเตเดจเดคเต เด’เดฐเต เดธเตเดตเดคเดจเตเดคเตเดฐ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด‚ เดชเดพเดธเตโ€Œเดตเต‡เดกเต เด†เดถเตเดฐเดฟเดค เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเดฎเดพเดฃเต. เดชเด•เตเดทเต‡
    เด…เดต เด’เดฐเต เดจเดฟเด˜เดฃเตเดŸเตเดตเดฟเตฝ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดจเดฟเด™เตเด™เตพ เด…เดคเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต
    เดŽเดชเตเดชเต‹เดดเตเด‚. เด…เดคเต เดตเดณเดฐเต† เด…เดธเต—เด•เดฐเตเดฏเดฎเดพเดฃเต. เดˆ เดตเดดเดฟ เดจเดฒเตเดฒเดคเต:

    myrole_user_login: admin
    myrole_user_password: admin

เดตเดฟเดจเตเดฏเดพเดธ เดชเตเดฒเต‡เดฌเตเด•เตเด•เตเด•เดณเดฟเดฒเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ

เด’เดฐเต เดตเดฟเดจเตเดฏเดพเดธ เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ (เด‡เดจเดฟเดฎเตเดคเตฝ เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต), เด…เดคเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดถเต‡เด–เดฐเดคเตเดคเดฟเตฝ เดธเตเดฅเดพเดชเดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจ เดจเดฟเดฏเดฎเด‚ เดžเด™เตเด™เตพ เดชเดพเดฒเดฟเด•เตเด•เตเดจเตเดจเต. เดฑเต‹เดณเตเด•เตพ เดชเต‹เดฒเต† เดคเดจเตเดจเต†: เด“เดฐเต‹เดจเตเดจเตเด‚ เดธเตเดตเดจเตเดคเด‚ เดœเดฟเดฑเตเดฑเต เดถเต‡เด–เดฐเดคเตเดคเดฟเตฝ. เดฑเต‹เดณเตเด•เดณเตเด‚ เดชเตเดฒเต‡เดฌเตเด•เตเด•เตเด‚ เดตเดฟเดจเตเดฏเดพเดธ เดธเด‚เดตเดฟเดงเดพเดจเดคเตเดคเดฟเดจเตเดฑเต† เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเตเดตเดคเดจเตเดคเตเดฐ เดตเดธเตเดคเตเด•เตเด•เดณเดพเดฃเต†เดจเตเดจเตเด‚ เด’เดฐเต เดตเดธเตเดคเตเดตเดฟเดฒเต† เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดฎเดฑเตเดฑเตŠเดจเตเดจเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเต† เดฌเดพเดงเดฟเด•เตเด•เดฐเตเดคเต†เดจเตเดจเตเด‚ เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด‡เดคเต เดจเต‡เดŸเดพเดจเดพเด•เตเด‚.

เด’เดฐเต เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ, เดฑเต‹เตพ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดฐเดฃเตเดŸเต เดธเตเดฅเดฒเด™เตเด™เดณเดฟเตฝ เด…เดธเดพเดงเตเดตเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚: เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเตเด‚ เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเตเด‚.

mydeploy                        # ะšะฐั‚ะฐะปะพะณ ะดะตะฟะปะพั
โ”œโ”€โ”€ deploy.yml                  # ะŸะปะตะนะฑัƒะบ ะดะตะฟะปะพั
โ”œโ”€โ”€ group_vars                  # ะšะฐั‚ะฐะปะพะณ ะฟะตั€ะตะผะตะฝะฝั‹ั… ะฟะปะตะนะฑัƒะบะฐ
โ”‚   โ”œโ”€โ”€ all.yml                 # ะคะฐะนะป ะดะปั ะฟะตั€ะตะผะตะฝะฝั‹ั… ัะฒัะทะธ ะฒัะตะน ัะธัั‚ะตะผั‹
โ”‚   โ””โ”€โ”€ myapi.yml               # ะคะฐะนะป ะฟะตั€ะตะผะตะฝะฝั‹ั… ัะฒะพะนัั‚ะฒ ะณั€ัƒะฟะฟั‹ myapi
โ””โ”€โ”€ inventories                 #
    โ””โ”€โ”€ prod                    # ะšะฐั‚ะฐะปะพะณ ะพะบั€ัƒะถะตะฝะธั prod
        โ”œโ”€โ”€ prod.ini            # ะ˜ะฝะฒะตะฝั‚ะพั€ะธ ั„ะฐะนะป
        โ””โ”€โ”€ group_vars          # ะšะฐั‚ะฐะปะพะณ ะดะปั ะฟะตั€ะตะผะตะฝะฝั‹ั… ะธะฝะฒะตะฝั‚ะพั€ะธ
            โ””โ”€โ”€ myapi           #
                โ”œโ”€โ”€ vars.yml    # ะกั€ะตะดะพะทะฐะฒะธัะธะผั‹ะต ะฟะตั€ะตะผะตะฝะฝั‹ะต ะณั€ัƒะฟะฟั‹ myapi
                โ””โ”€โ”€ vault.yml   # ะกะตะบั€ะตั‚ั‹ (ะฒัะตะณะดะฐ ัั€ะตะดะพะทะฐะฒะธัะธะผั‹) *

* - เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเด‚ เดจเดฟเดฒเดตเดฑเด•เดณเตเด‚

เด’เดฐเต‡ เดคเดฒเดคเตเดคเดฟเตฝ เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดชเตเดฒเต‡เดฌเตเด•เตเด•เตเด•เดณเต† เดตเดฟเดณเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดŽเดชเตเดชเต‹เดดเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเต†เดจเตเดจเดคเดพเดฃเต เดตเตเดฏเดคเตเดฏเดพเดธเด‚. เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ-เดธเตเดตเดคเดจเตเดคเตเดฐ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเต เดˆ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดฎเดฟเด•เดšเตเดšเดคเดพเดฃเต†เดจเตเดจเต เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚. เดจเต‡เดฐเต†เดฎเดฑเดฟเดšเตเดšเต, เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‚, เด…เดคเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ-เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต.

เด†เดฆเตเดฏเด‚ เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเตเด‚ เดชเดฟเดจเตเดจเต€เดŸเต เด’เดฐเต เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟเดฏเดฟเดฒเตเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด…เดธเดพเดงเตเดตเดพเด•เตเด•เดพเตป เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดฎเตเตปเด—เดฃเดจ เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต.

เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚, เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹ เด‡เดฒเตเดฒเดฏเต‹ เดŽเดจเตเดจเต เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด‰เดšเดฟเดคเดฎเดพเดฏ เดธเตเดฅเดฒเดคเตเดคเต เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเตฝ, SSL เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฏ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดตเดณเดฐเต†เด•เตเด•เดพเดฒเด‚ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚ เด’เดฐเต เดธเตเดฑเตเดฑเดพเตปเดกเดฟเตฝ เดžเด™เตเด™เดณเตเดŸเต† เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเต เด…เดคเต€เดคเดฎเดพเดฏ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ เดžเด™เตเด™เตพเด•เตเด•เต SSL เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ. เดžเด™เตเด™เตพ เดˆ เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดš เดถเต‡เดทเด‚, เด…เดคเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดตเตเด•เดฏเตเด‚ เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต.

เด—เตเดฐเต‚เดชเตเดชเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ

เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เดœเดพเดต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดณเตเดณ 1 เด—เตเดฐเต‚เดชเตเดชเตเด•เดณเตเดŸเต† เดธเต†เตผเดตเดฑเตเด•เตพ เดšเต‡เตผเดคเตเดคเต เดšเดฟเดคเตเดฐเด‚ 2-เตฝ เดจเดฎเตเดฎเตเดŸเต† เดฎเต‹เดกเตฝ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, เดŽเดจเตเดจเดพเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ.

เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดฒเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดฎเต€เดชเดจเด‚

เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดŽเด™เตเด™เดจเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เดพเด‚:

- hosts: myapi
  roles:
    - api

- hosts: bbauth
  roles:
    - auth

- hosts: ghauth
  roles:
    - auth

เดžเด™เตเด™เตพเด•เตเด•เต เดชเตเดฒเต‡เดฌเตเด•เตเด•เดฟเตฝ เดฎเต‚เดจเตเดจเต เด—เตเดฐเต‚เดชเตเดชเตเด•เดณเตเดฃเตเดŸเต, เด…เดคเดฟเดจเดพเตฝ group_vars เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเตเด‚ เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเตเด‚ เด’เดฐเต‡ เดŽเดฃเตเดฃเด‚ เด—เตเดฐเต‚เดชเตเดชเต เดซเดฏเดฒเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด‰เดŸเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดˆ เด•เต‡เดธเดฟเดฒเต† เด’เดฐเต เด—เตเดฐเต‚เดชเตเดชเต เดซเดฏเตฝ เดชเตเดฒเต‡เดฌเตเด•เตเด•เดฟเดฒเต† เดฎเตเด•เดณเดฟเดฒเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เด’เดฐเต เด˜เดŸเด•เดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเดตเดฐเดฃเดฎเดพเดฃเต. เดจเดฟเด™เตเด™เตพ เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เด’เดฐเต เด—เตเดฐเต‚เดชเตเดชเต เดซเดฏเตฝ เดคเตเดฑเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด—เตเดฐเต‚เดชเตเดชเดฟเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดณเตเดณ เดฑเต‹เดณเตเด•เดณเตเดŸเต† เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดธเตเดตเดญเดพเดตเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เดณเตเด‚ เด‰เดŸเดจเดŸเดฟ เดจเดฟเด™เตเด™เตพ เด•เดพเดฃเตเด‚. เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเตฝ: เดธเตเดฑเตเดฑเดพเตปเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเตเดฑเตเดฑเดพเตปเดกเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด—เตเดฐเต‚เดชเตเดชเต เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเดคเตเดคเดฟเดฒเต† เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เตพ.

เด•เต‹เดกเต เดถเตˆเดฒเดฟ

  • host_vars เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•, เด•เดพเดฐเดฃเด‚ เด…เดต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเต† เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด•เต‡เดธเต เดฎเดพเดคเตเดฐเด‚, เด‡เดคเต เดญเดพเดตเดฟเดฏเดฟเตฝ เดšเต‹เดฆเตเดฏเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เตเด‚: โ€œเดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เดˆ เดนเต‹เดธเตเดฑเตเดฑเต เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต?โ€, เด…เดคเดฟเดจเตเดณเตเดณ เด‰เดคเตเดคเดฐเด‚ เด…เดฒเตเดฒ. เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เดŽเดชเตเดชเต‹เดดเตเด‚ เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต.

เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดŽเดจเตเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดฎเต‹?
เดตเตเดฏเดคเตเดฏเดธเตเดค เด—เตเดฐเต‚เดชเตเดชเตเด•เดณเดฟเตฝ เด’เดฐเต‡ เด…เตผเดคเตเดฅเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ เดŽเดจเตเดจเดคเดพเดฃเต เด…เดตเดฐเตเดŸเต† เดตเตเดฏเดคเตเดฏเดพเดธเด‚.

เด†เดฆเตเดฏเด‚ เด…เดคเต เด†เดฏเดฟเดฐเตเดจเตเดจเต เด†เดถเดฏเด‚ เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดญเต€เด•เดฐเดฎเดพเดฏ เดจเดฟเตผเดฎเตเดฎเดพเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•:
hostvars[groups['bbauth'][0]]['auth_bind_port'], เดŽเดจเตเดจเดพเตฝ เด…เดตเตผ เด‰เดŸเดจเต† เด…เดคเต เดจเดฟเดฐเดธเดฟเดšเตเดšเต
เด•เดพเดฐเดฃเด‚ เด…เดคเดฟเดจเต เดฆเต‹เดทเด™เตเด™เดณเตเดฎเตเดฃเตเดŸเต. เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดตเดฎเตเดชเดฟเดšเตเดšเดค. เดฐเดฃเตเดŸเดพเดฎเดคเดพเดฏเดฟ, เด—เตเดฐเต‚เดชเตเดชเดฟเดฒเต† เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดนเต‹เดธเตเดฑเตเดฑเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตฝ. เดฎเต‚เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดตเดฟเดจเตเดฏเดพเดธเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดคเตเดค เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต† เดชเดฟเดถเด•เต เดฒเดญเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเดฒเตเดฒเดพ เดนเต‹เดธเตเดฑเตเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดตเดธเตเดคเตเดคเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต.

เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ - เด‡เดต เดชเตเดฒเต‡เดฌเตเด•เตเด•เดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เดธเดฟเดธเตเดฑเตเดฑเด‚ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เตพ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เดชเตŠเดคเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเตฝ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดชเต‹เดชเตเดชเตเดฒเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต group_vars/all/vars เด•เต‚เดŸเดพเดคเต† เด“เดฐเต‹ เด—เตเดฐเต‚เดชเตเดชเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดŽเดฒเตเดฒเดพ เดฒเดฟเดธเดฃเตผ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตโ€Œเดคเต, เดถเตเดฐเต‹เดคเดพเดตเดฟเดจเต† เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตโ€Œเดค เด—เตเดฐเต‚เดชเตเดชเดฟเดจเตเดฑเต† เดชเต‡เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเดคเตเดคเดพเดฃเต เดฐเต‚เดชเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เด‡เดคเต เดชเต‡เดฐเตเด•เดณเตเดŸเต† เดเด•เต€เด•เตƒเดคเดคเดฏเตเด‚ เด“เดตเตผเดฒเดพเดชเตเดชเดฟเด‚เด—เตเด‚ เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเดจเตเดจเต.

เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดพเด‚:

เด…เตปเดธเดฟเดฌเดฟเดณเดฟเดฒเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดฎเต€เดชเดจเด‚

เดจเดฎเตเด•เตเด•เต เดชเดฐเดธเตเดชเดฐเด‚ เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด‰เดฃเตเดŸเต†เดจเตเดจเต เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เตเด•:

# roles/api/defaults:
# ะŸะตั€ะตะผะตะฝะฝะฐั ะทะฐะฟั€ะพัะฐ
api_auth1_address: "http://example.com:80"
api_auth2_address: "http://example2.com:80"

# roles/auth/defaults:
# ะŸะตั€ะตะผะตะฝะฝะฐั ัะปัƒัˆะฐั‚ะตะปัŒ
auth_bind_port: "20000"

เดจเดฎเตเด•เตเด•เต เด‡เดคเต เดชเตŠเดคเตเดตเดพเดฏ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚ group_vars/all/vars เดŽเดฒเตเดฒเดพ เดถเตเดฐเต‹เดคเดพเด•เตเด•เดณเตเด‚, เด—เตเดฐเต‚เดชเตเดชเดฟเดจเตเดฑเต† เดชเต‡เดฐเต เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเตฝ เดšเต‡เตผเด•เตเด•เตเด•:

# group_vars/all/vars
bbauth_auth_bind_port: "20000"
ghauth_auth_bind_port: "30000"

# group_vars/bbauth/vars
auth_bind_port: "{{ bbauth_auth_bind_port }}"

# group_vars/ghauth/vars
auth_bind_port: "{{ ghauth_auth_bind_port }}"

# group_vars/myapi/vars
api_auth1_address: "http://{{ bbauth_auth_service_name }}:{{ bbauth_auth_bind_port }}"
api_auth2_address: "http://{{ ghauth_auth_service_name }}:{{ ghauth_auth_bind_port }}"

เด‡เดชเตเดชเต‹เตพ, เด•เดฃเด•เตเดŸเดฑเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเต‹เตผเดŸเตเดŸเต เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจ เด…เดคเต‡ เดธเตเดฅเดฒเดคเตเดคเต‡เด•เตเด•เต เดชเต‹เด•เตเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพเด•เตเด•เต เด‰เดฑเดชเตเดชเตเดฃเตเดŸเดพเด•เตเด‚.

เด•เต‹เดกเต เดถเตˆเดฒเดฟ

  • เดฑเต‹เดณเตเด•เดณเตเด‚ เด—เตเดฐเต‚เดชเตเดชเตเด•เดณเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเดฟเดธเตเดฑเตเดฑเด‚ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเดพเดฏเดคเดฟเดจเดพเตฝ, เด…เดตเดฏเตเด•เตเด•เต เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเต‡เดฐเตเด•เตพ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เด…เดชเตเดชเต‹เตพ เดฒเดฟเด™เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด…เดต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดธเต†เตผเดตเดฑเตเด•เดณเตเดŸเต† เด•เต‚เดŸเตเดŸเดคเตเดคเดฟเดฒเดพเดฃเต†เดจเตเดจเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚, เด…เดฒเตเดฒเดพเดคเต† เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต† เด’เดฐเต เดฑเต‹เดณเดฟเดจเตเดฑเต‡เดคเดฒเตเดฒ.

เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เด†เดถเตเดฐเดฟเดค เดซเดฏเดฒเตเด•เตพ

เดฑเต‹เดณเตเด•เตพ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เดซเดฏเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚.

เด…เดคเตเดคเดฐเด‚ เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฃเต SSL เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเตเด•เตพ. เด…เดต เดตเดพเดšเด• เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•
เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เดตเดณเดฐเต† เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เด…เดตเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดค เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดณเตเดณเดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต.

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดžเด™เตเด™เตพ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต api_ssl_key_file: "/path/to/file".

เด•เต€ เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฎเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดคเดฟเดจเดพเตฝ, เด‡เดคเต เด’เดฐเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ-เด†เดถเตเดฐเดฟเดค เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดพเดฃเต, เด…เดคเดพเดฏเดคเต เด‡เดคเต เดซเดฏเดฒเดฟเตฝ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเดฃเด‚
group_vars/myapi/vars เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟ, เด•เต‚เดŸเดพเดคเต† 'เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต' เดฎเต‚เดฒเตเดฏเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดˆ เด•เต‡เดธเดฟเตฝ เดเดฑเตเดฑเดตเตเด‚ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เดฎเดพเตผเด—เตเด—เด‚ เด•เต€ เดซเดฏเตฝ เดชเดพเดคเดฏเดฟเดฒเต‚เดŸเต† เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดถเต‡เด–เดฐเดคเตเดคเดฟเตฝ เด‡เดŸเตเด• เดŽเดจเตเดจเดคเดพเดฃเต
files/prod/certs/myapi.key, เด…เดชเตเดชเต‹เตพ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เด‡เดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚:
api_ssl_key_file: "prod/certs/myapi.key". เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดธเตเดฑเตเดฑเดพเตปเดกเดฟเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเด•เดณเดพเดฏ เด†เดณเตเด•เตพเด•เตเด•เต เด…เดตเดฐเตเดŸเต† เดซเดฏเดฒเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เด…เดตเดฐเตเดŸเต‡เดคเดพเดฏ เดชเตเดฐเดคเตเดฏเต‡เด• เด‡เดŸเดฎเตเดฃเตเดŸเต เดŽเดจเตเดจเดคเดพเดฃเต เดธเต—เด•เดฐเตเดฏเด‚. เด…เดคเต‡ เดธเดฎเดฏเด‚, เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเตเด•เตพ เดฎเดฑเตเดฑเตŠเดฐเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดธเต†เตผเดตเดฑเดฟเดฒเต† เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดธเดฎเตเดชเต‚เตผเดฃเตเดฃ เดชเดพเดค เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเดฃเต.

เด’เดฐเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดจเดฟเดฒเด•เตพ

เด•เตเดฑเดžเตเดž เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เดณเต‹เดŸเต† เด’เดฐเต‡ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดเดคเดพเดฃเตเดŸเต เดธเดฎเดพเดจเดฎเดพเดฏ เดจเดฟเดฐเดตเดงเดฟ เดธเตเดฑเตเดฑเดพเตปเดกเตเด•เตพ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเต† เดˆ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดฎเดพเดฑเดพเดคเตเดคเดตเดฏเตเด‚ เดฎเดพเดฑเตเดจเตเดจเดตเดฏเตเดฎเดพเดฏเดฟ เดžเด™เตเด™เตพ เดตเดฟเดญเดœเดฟเด•เตเด•เตเดจเตเดจเต. เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เดžเด™เตเด™เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเต เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟ เดซเดฏเดฒเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเดจเตเดจเต. เดˆ เด•เตƒเดคเตเดฐเดฟเดฎเดคเตเดตเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚, เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดฎเดฑเตเดฑเตŠเดฐเต เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด‚.

เด‡เดคเต group_vars เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟ เดตเต€เดฃเตเดŸเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เดšเดฟเดฒ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดธเตเดตเดฏเด‚ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดชเตเดจเตผเดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เดตเดฟเดจเตเดฏเดพเดธ เดชเดฆเตเดงเดคเดฟเด•เตเด•เดพเดฏเตเดณเตเดณ เด…เดจเตเดคเดฟเดฎ เดกเดฏเดฑเด•เตเดŸเดฑเดฟ เด˜เดŸเดจ:

mydeploy                        # ะšะฐั‚ะฐะปะพะณ ะดะตะฟะปะพั
โ”œโ”€โ”€ deploy.yml                  # ะŸะปะตะนะฑัƒะบ ะดะตะฟะปะพั
โ”œโ”€โ”€ files                       # ะšะฐั‚ะฐะปะพะณ ะดะปั ั„ะฐะนะปะพะฒ ะดะตะฟะปะพั
โ”‚   โ”œโ”€โ”€ prod                    # ะšะฐั‚ะพะปะพะณ ะดะปั ัั€ะตะดะพะทะฐะฒะธัะธะผั‹ั… ั„ะฐะนะปะพะฒ ัั‚ะตะฝะดะฐ prod
โ”‚   โ”‚   โ””โ”€โ”€ certs               # 
โ”‚   โ”‚       โ””โ”€โ”€ myapi.key       #
โ”‚   โ””โ”€โ”€ test1                   # ะšะฐั‚ะฐะปะพะณ ะดะปั ัั€ะตะดะพะทะฐะฒะธัะธะผั‹ั… ั„ะฐะนะปะพะฒ ัั‚ะตะฝะดะฐ test1
โ”œโ”€โ”€ group_vars                  # ะšะฐั‚ะฐะปะพะณ ะฟะตั€ะตะผะตะฝะฝั‹ั… ะฟะปะตะนะฑัƒะบะฐ
โ”‚   โ”œโ”€โ”€ all.yml                 # ะคะฐะนะป ะดะปั ะฟะตั€ะตะผะตะฝะฝั‹ั… ัะฒัะทะธ ะฒัะตะน ัะธัั‚ะตะผั‹
โ”‚   โ”œโ”€โ”€ myapi.yml               # ะคะฐะนะป ะฟะตั€ะตะผะตะฝะฝั‹ั… ัะฒะพะนัั‚ะฒ ะณั€ัƒะฟะฟั‹ myapi
โ”‚   โ”œโ”€โ”€ bbauth.yml              # 
โ”‚   โ””โ”€โ”€ ghauth.yml              #
โ””โ”€โ”€ inventories                 #
    โ”œโ”€โ”€ prod                    # ะšะฐั‚ะฐะปะพะณ ะพะบั€ัƒะถะตะฝะธั prod
    โ”‚   โ”œโ”€โ”€ group_vars          # ะšะฐั‚ะฐะปะพะณ ะดะปั ะฟะตั€ะตะผะตะฝะฝั‹ั… ะธะฝะฒะตะฝั‚ะพั€ะธ
    โ”‚   โ”‚   โ”œโ”€โ”€ myapi           #
    โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ vars.yml    # ะกั€ะตะดะพะทะฐะฒะธัะธะผั‹ะต ะฟะตั€ะตะผะตะฝะฝั‹ะต ะณั€ัƒะฟะฟั‹ myapi
    โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ vault.yml   # ะกะตะบั€ะตั‚ั‹ (ะฒัะตะณะดะฐ ัั€ะตะดะพะทะฐะฒะธัะธะผั‹)
    โ”‚   โ”‚   โ”œโ”€โ”€ bbauth          # 
    โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ vars.yml    #
    โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ vault.yml   #
    โ”‚   โ”‚   โ””โ”€โ”€ ghauth          #
    โ”‚   โ”‚       โ”œโ”€โ”€ vars.yml    #
    โ”‚   โ”‚       โ””โ”€โ”€ vault.yml   #
    โ”‚   โ””โ”€โ”€ prod.ini            # ะ˜ะฝะฒะตะฝั‚ะพั€ะธ ัั‚ะตะฝะดะฐ prod
    โ””โ”€โ”€ test                    # ะšะฐั‚ะฐะปะพะณ ะพะบั€ัƒะถะตะฝะธั test
        โ”œโ”€โ”€ group_vars          #
        โ”‚   โ”œโ”€โ”€ myapi           #
        โ”‚   โ”‚   โ”œโ”€โ”€ vars.yml    #
        โ”‚   โ”‚   โ””โ”€โ”€ vault.yml   #
        โ”‚   โ”œโ”€โ”€ bbauth          #
        โ”‚   โ”‚   โ”œโ”€โ”€ vars.yml    #
        โ”‚   โ”‚   โ””โ”€โ”€ vault.yml   #
        โ”‚   โ””โ”€โ”€ ghauth          #
        โ”‚       โ”œโ”€โ”€ vars.yml    #
        โ”‚       โ””โ”€โ”€ vault.yml   #
        โ”œโ”€โ”€ test1.ini           # ะ˜ะฝะฒะตะฝั‚ะพั€ะธ ัั‚ะตะฝะดะฐ test1 ะฒ ัั€ะตะดะต test
        โ””โ”€โ”€ test2.ini           # ะ˜ะฝะฒะตะฝั‚ะพั€ะธ ัั‚ะตะฝะดะฐ test2 ะฒ ัั€ะตะดะต test

เดธเด‚เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต

เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเต เด…เดจเตเดธเตƒเดคเดฎเดพเดฏเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด“เตผเด—เดจเตˆเดธเตเดšเต†เดฏเตโ€Œเดค เดถเต‡เดทเด‚: เด“เดฐเต‹ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดซเดฏเดฒเตเด‚ เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดšเตเดฎเดคเดฒเดฏเตเด•เตเด•เต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฃเต. เดซเดฏเดฒเดฟเดจเต เดšเดฟเดฒ เดœเต‹เดฒเดฟเด•เตพ เด‰เดณเตเดณเดคเดฟเดจเดพเตฝ, เด“เดฐเต‹ เดซเดฏเดฒเดฟเดจเตเดฑเต†เดฏเตเด‚ เด•เตƒเดคเตเดฏเดคเดฏเตเด•เตเด•เต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฏ เด’เดฐเดพเดณเต† เดจเดฟเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดธเดพเดงเดฟเดšเตเดšเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเตเดฒเต‡เดฌเตเด•เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเดฑเต† เดกเต†เดตเดฒเดชเตเดชเตผ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเด•เตเดจเตเดจเต, เด…เดคเต‡เดธเดฎเดฏเด‚ เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟเดฏเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด…เดกเตโ€Œเดฎเดฟเดจเดฟเดธเตโ€ŒเดŸเตเดฐเต‡เดฑเตเดฑเตผ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เด‡เตปเดตเต†เดจเตเดฑเดฑเดฟ เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฃเต.

เดฑเต‹เดณเตเด•เตพ เด…เดตเดฐเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดตเดฐเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเต เดฏเต‚เดฃเดฟเดฑเตเดฑเดพเดฏเดฟ เดฎเดพเดฑเดฟ, เดฑเต‹เตพ เดกเต†เดตเดฒเดชเตเดชเดฑเต† เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดฑเต‹เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดชเด•เดฐเด‚ เด•เดดเดฟเดตเตเด•เตพ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เด•เดพเดฎเตเดชเต†เดฏเตโ€Œเดจเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เตเดฎเตเดณเตเดณ เดชเตŠเดคเตเดตเดพเดฏ เดฑเต‹เดณเตเด•เดณเต† เดˆ เดชเตเดฐเดถเตเดจเด‚ เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจเต.

เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเตผเดฎเดพเตผเด•เตเด•เต เดตเดฟเดจเตเดฏเดพเดธ เด•เต‹เดกเต เด‡เดจเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ. เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเต เด…เดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เดซเดฏเดฒเตเด•เตพ เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต.

เดธเดพเดนเดฟเดคเตเดฏเด‚

  1. เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป

เดฐเดšเดฏเดฟเดคเดพเดตเต

เด•เดฒเตเดฏเตเดทเตเดจเดฟ เดกเต†เดจเดฟเดธเต เด…เดฒเด•เตเดธเดพเดฃเตเดŸเตเดฐเต‹เดตเดฟเดšเตเดšเต

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•