เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌเชฎเชพเช‚ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชฌเชจเชพเชตเชตเชพ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชฏเซเชเชฐ-เชซเซเชฐเซ‡เชจเซเชกเชฒเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚

เชถเซเชญ เชฆเชฟเชตเชธ, เชนเซ‡เชฌเซเชฐ!

เช†เชœเซ‡ เชนเซเช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชเช• เชฐเซ€เชค เชถเซ‡เชฐ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เชธเช•เซเชฐเชฟเชฏ เชชเชธเช‚เชฆเช—เซ€เช“ เชชเซเชฒเช—เช‡เชจ เชฎเชพเช‚ เช•เชพเชฐเซเชฏ เช•เชฐเซ‹ เชœเซ‡เชจเช•เชฟเชจเซเชธ เชธเซŒเชฅเซ€ เชเช•เซ€เช•เซƒเชค เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเซˆเชคเซเชฐเซ€เชชเซ‚เชฐเซเชฃ.

เชชเชฐเชฟเชšเชฏ

DevOps เชœเซ‡เชตเชพ เชธเช‚เช•เซเชทเซ‡เชช เชนเชตเซ‡ IT เชธเชฎเซเชฆเชพเชฏ เชฎเชพเชŸเซ‡ เช•เช‚เชˆเช• เชจเชตเซเช‚ เชจเชฅเซ€. เช˜เชฃเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡, "เชกเซ DevOps" เชตเชพเช•เซเชฏ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเชพ เชœเชพเชฆเซเชˆ เชฌเชŸเชจ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเซเช‚ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชฟเช• เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซ‹เชก เช†เชชเชฎเซ‡เชณเซ‡ เชœเชฎเชพเชตเชŸ เช•เชฐเซ‡เชฒ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ‡เชฒ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เชซเซ‡เชฐเชตเชพเชฏ เช›เซ‡ (เชฌเชงเซเช‚ เช–เชฐเซ‡เช–เชฐ เชตเชงเซ เชœเชŸเชฟเชฒ เช›เซ‡, เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เชฌเชงเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชฅเซ€ เช…เชฎเซ‚เชฐเซเชค เช›เซ€เช).

เชคเซ‡เชฅเซ€, เช…เชฎเชจเซ‡ เช†เชตเชพ เชœเชพเชฆเซเชˆ เชฌเชŸเชจ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เช“เชฐเซเชกเชฐ เชฎเชณเซเชฏเซ‹ เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐเซเชธ เชเช• เช•เซเชฒเชฟเช• เชธเชพเชฅเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชœเชฎเชพเชตเซ€ เชถเช•เซ‡. เช† เช•เชพเชฐเซเชฏเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเชพ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เชพเชฐเซ‹ เช›เซ‡: เช•เซ‹เชˆเชชเชฃ เช‡เชจเซเชธเซเชŸเชจเซเชŸ เชฎเซ‡เชธเซ‡เชจเซเชœเชฐ เชฎเชพเชŸเซ‡ เชฌเซ‹เชŸ เชฒเช–เชตเชพเชฅเซ€ เชฒเชˆเชจเซ‡ เชเช• เช…เชฒเช— เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชตเชฟเช•เชธเชพเชตเชตเชพ เชธเซเชงเซ€. เชคเซ‡เชฎ เช›เชคเชพเช‚, เช† เชฌเชงเชพเชจเซ‹ เชเช• เชœ เชงเซเชฏเซ‡เชฏ เช›เซ‡ - เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเชจเชพ เชจเชฟเชฐเซเชฎเชพเชฃ เช…เชจเซ‡ เชœเชฎเชพเชตเชŸเชจเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซเช‚ เชชเชพเชฐเชฆเชฐเซเชถเช• เช…เชจเซ‡ เช…เชจเซเช•เซ‚เชณ เชฌเชจเชพเชตเชตเชพเชจเซเช‚.

เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เช…เชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ เชœเซ‡เชจเช•เชฟเชจเซเชธ.


เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌเชฎเชพเช‚ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชฌเชจเชพเชตเชตเชพ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชฏเซเชเชฐ-เชซเซเชฐเซ‡เชจเซเชกเชฒเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚

เช‰เชฆเซเชฆเซ‡เชถ

เชเช• เช…เชจเซเช•เซ‚เชณ เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌ เชฌเชจเชพเชตเซ‹ เชœเซ‡ เชšเซ‹เช•เซเช•เชธ เชตเชฐเซเชเชจเชจเซ€ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒเซ€ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชจเซเช‚ เชฌเชฟเชฒเซเชก เช…เชจเซ‡ (เช…เชฅเชตเชพ) เชœเชฎเชพเชตเชŸ เชถเชฐเซ‚ เช•เชฐเชถเซ‡.

เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌเชฎเชพเช‚ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชฌเชจเชพเชตเชตเชพ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชฏเซเชเชฐ-เชซเซเชฐเซ‡เชจเซเชกเชฒเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚

เช‡เชจเชชเซเชŸ เชกเซ‡เชŸเชพ

เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชตเชฟเชตเชฟเชง เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเซ€เชธเชจเชพ เชธเซเชคเซเชฐเซ‹เชค เช•เซ‹เชก เชงเชฐเชพเชตเชคเซ€ เช˜เชฃเซ€ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เช เช›เซ‡.

เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค

เชจเซ€เชšเซ‡เชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เช…เชฎเชพเชฐเซ€ เชจเซ‹เช•เชฐเซ€เชฎเชพเช‚ เช‡เชจเชชเซเชŸ เชคเชฐเซ€เช•เซ‡ เชชเซเชฐเชพเชชเซเชค เชฅเชตเชพ เชœเซ‹เชˆเช:

  1. เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธ เช•เซ‹เชก เชธเชพเชฅเซ‡เชจเชพ เชญเช‚เชกเชพเชฐเชจเซเช‚ URL เช•เซ‡ เชœเซ‡ เช…เชฎเซ‡ เช•เชพเชฎ เชšเชฒเชพเชตเชคเซ€ เชตเช–เชคเซ‡ เชฌเชฟเชฒเซเชก เช•เชฐเชตเชพ เช…เชจเซ‡ เชœเชฎเชพเชตเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช.
  2. เช•เชฎเชฟเชŸเชจเซเช‚ ID เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชฌเชฟเชฒเซเชก เชฅเชถเซ‡.

เชœเซ‡เชฎ เช›เซ‡

เช† เช•เชพเชฐเซเชฏเชจเซ‡ เชชเซ‚เชฐเซเชฃ เช•เชฐเชตเชพเชจเซ€ เชธเซŒเชฅเซ€ เชธเชฐเชณ เชฐเซ€เชค เช เช›เซ‡ เช•เซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช— เชชเซเชฐเช•เชพเชฐเชจเชพ เชฌเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฌเชจเชพเชตเชตเชพ.

เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌเชฎเชพเช‚ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชฌเชจเชพเชตเชตเชพ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชฏเซเชเชฐ-เชซเซเชฐเซ‡เชจเซเชกเชฒเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚

เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ เช…เชจเซ‡ เช•เชฎเชฟเชŸ เช†เชˆเชกเซ€เชจเซ‹ เชฎเชพเชฐเซเช— เชœเชพเชคเซ‡ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡, เชœเซ‡ เชคเชฎเซ‡ เชœเซเช“ เช›เซ‹, เชคเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชจเซเช•เซ‚เชณ เชจเชฅเซ€.

เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌเชฎเชพเช‚ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชฌเชจเชพเชตเชตเชพ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชฏเซเชเชฐ-เชซเซเชฐเซ‡เชจเซเชกเชฒเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚

เชฌเชจเชตเซเช‚ เช›เซ‡

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เชคเซ‡เชจเชพ เชคเชฎเชพเชฎ เชซเชพเชฏเชฆเชพเช“เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเชฏ เชชเซเชฐเช•เชพเชฐเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เช.
เชšเชพเชฒเซ‹ เชชเซเชฐเช•เชพเชฐ เชšเซ‹เชˆเชธ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ เชธเชพเชฅเซ‡ เชชเซเชฐเชฅเชฎ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ เชฌเชจเชพเชตเซ€เช, เชฌเซ€เชœเซเช‚ - เชเช•เซเชŸเชฟเชต เชšเซ‹เชˆเชธ เชฐเชฟเชเช•เซเชŸเชฟเชต เชฐเซ‡เชซเชฐเชจเซเชธ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ. เชšเซ‹เชˆเชธ เชŸเชพเชˆเชช เชธเชพเชฅเซ‡เชจเชพ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเชฎเชพเช‚, เช…เชฎเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชšเซ‹เชˆเชธ เชซเซ€เชฒเซเชกเชฎเชพเช‚ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชเชจเชพ เชจเชพเชฎ เช‰เชฎเซ‡เชฐเซ€เชถเซเช‚ เชœเซเชฏเชพเช‚ เช…เชฎเชพเชฐเซ€ เชฎเชพเชˆเช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเซ€เชธเชจเซ‹ เช•เซ‹เชก เชธเช‚เช—เซเชฐเชนเชฟเชค เช›เซ‡.

เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌเชฎเชพเช‚ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชฌเชจเชพเชตเชตเชพ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชฏเซเชเชฐ-เชซเซเชฐเซ‡เชจเซเชกเชฒเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚

เชœเซ‹ เชชเซเชฐเซ‡เช•เซเชทเช•เซ‹เชจเซ‡ เช† เชฒเซ‡เช– เช—เชฎเชคเซ‹ เชนเซ‹เชฏ, เชคเซ‹ เชชเช›เซ€เชจเชพ เชฒเซ‡เช–เชฎเชพเช‚ เชนเซเช‚ เช•เซ‹เชก เชฆเซเชตเชพเชฐเชพ เชตเชฐเซเชฃเชจ (เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเซ‡เชจเช•เชฟเชจเซเชธเชฎเชพเช‚ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เชถ, เชเชŸเชฒเซ‡ เช•เซ‡. เช…เชฎเชพเชฐเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชจเชพ เชจเชพเชฎ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชฐเชนเซ‡เชถเซ‡ เชจเชนเซ€เช‚, เชฌเชงเซเช‚ เช†เชชเชฎเซ‡เชณเซ‡ เชฅเชถเซ‡ (เช…เชฎเชพเชฐเซ‹ เช•เซ‹เชก SCM เชคเชฐเชซเชฅเซ€ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชเชจเซ€ เชธเซ‚เชšเชฟ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชถเซ‡ เช…เชจเซ‡ เช† เชธเซ‚เชšเชฟ เชธเชพเชฅเซ‡ เชเช• เชชเชฐเชฟเชฎเชพเชฃ เชฌเชจเชพเชตเชถเซ‡).

เชฌเซ€เชœเชพ เชชเชฐเชฟเชฎเชพเชฃเชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เช—เชคเชฟเชถเซ€เชฒ เชฐเซ€เชคเซ‡ เชญเชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชชเซเชฐเชฅเชฎ เชชเชฐเชฟเชฎเชพเชฃ เชถเซเช‚ เชฎเซ‚เชฒเซเชฏ เชฒเซ‡ เช›เซ‡ เชคเซ‡เชจเชพ เช†เชงเชพเชฐเซ‡ (test1 เช…เชฅเชตเชพ test2), เช•เชพเชฐเชฃ เช•เซ‡ เชฆเชฐเซ‡เช• เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชชเซเชฐเชคเชฟเชฌเชฆเซเชงเชคเชพเช“เชจเซ€ เชธเซ‚เชšเชฟ เชนเซ‹เชฏ เช›เซ‡.

เชธเช•เซเชฐเชฟเชฏ เชชเชธเช‚เชฆเช—เซ€เช“ เชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเชถเซ€เชฒ เชธเช‚เชฆเชฐเซเชญ เชชเชฐเชฟเชฎเชพเชฃ เชญเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเซ€เชšเซ‡เชจเชพ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เช›เซ‡:

  1. เชจเชพเชฎ - เชชเชฐเชฟเชฎเชพเชฃ เชจเชพเชฎ.
  2. เชธเซเช•เซเชฐเชฟเชชเซเชŸ โ€“ เช•เซ‹เชก เช•เซ‡ เชœเซ‡ เชฆเชฐ เชตเช–เชคเซ‡ เชธเช‚เชฆเชฐเซเชญเชฟเชค เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ เชซเซ€เชฒเซเชกเชฎเชพเช‚เชฅเซ€ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชฌเชฆเชฒเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ (เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ test1 เช…เชจเซ‡ test2 เชตเชšเซเชšเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ€เช เช›เซ€เช).
  3. เชตเชฐเซเชฃเชจ - เชชเชฐเชฟเชฎเชพเชฃเชจเซเช‚ เชธเช‚เช•เซเชทเชฟเชชเซเชค เชตเชฐเซเชฃเชจ.
  4. เชชเชธเช‚เชฆเช—เซ€เชจเซ‹ เชชเซเชฐเช•เชพเชฐ - เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฆเซเชตเชพเชฐเชพ เชชเชฐเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ‹ เชชเซเชฐเช•เชพเชฐ (เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เช…เชฎเซ‡ HTML เช•เซ‹เชก เชชเชฐเชค เช•เชฐเซ€เชถเซเช‚).
  5. เชธเช‚เชฆเชฐเซเชญเชฟเชค เชชเชฐเชฟเชฎเชพเชฃ - เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเชจเซเช‚ เชจเชพเชฎ, เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชฌเชฆเชฒเชพเชถเซ‡, เชคเซเชฏเชพเชฐเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชตเชฟเชญเชพเช—เชฎเชพเช‚เชฅเซ€ เช•เซ‹เชก เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌเชฎเชพเช‚ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชฌเชจเชพเชตเชตเชพ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชฏเซเชเชฐ-เชซเซเชฐเซ‡เชจเซเชกเชฒเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚

เชšเชพเชฒเซ‹ เช† เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเช‚ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชซเซ€เชฒเซเชก เชญเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซ€เชงเชพ เชœ เช†เช—เชณ เชตเชงเซ€เช. เช…เชฎเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเซ‡ เชชเซเชฐเช•เชพเชฐเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เช“เชซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡: เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช—เซเชฐเซเชตเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช…เชฅเชตเชพ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฐ เชธเซเช•เซเชฐเชฟเชชเซเชŸ.
เช…เชฎเซ‡ เชชเซเชฐเชฅเชฎ เชชเชธเช‚เชฆ เช•เชฐเซ€เช เช›เซ€เช, เช•เชพเชฐเชฃ เช•เซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฒเชฐ เช เชซเช•เซเชค เชเช• เชชเซเชฒเช—เช‡เชจ เช›เซ‡ เชœเซ‡ เชคเชฎเซ‡ เช…เช—เชพเช‰ เชฒเช–เซ‡เชฒเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹เชจเซ‡ เชธเชพเชšเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เช•เซ‰เชชเชฟ-เชชเซ‡เชธเซเชŸ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช…เชจเซเชฏ เช•เชพเชฐเซเชฏเซ‹เชฎเชพเช‚ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชคเชฎเชพเชฎ เช•เชฎเชฟเชŸ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เช—เซเชฐเซเชตเซ€ เช•เซ‹เชก:

AUTH = "ะปะพะณะธะฝ ะธ ะฟะฐั€ะพะปัŒ ะฒ Base64"                           
GIT_URL = "url ะดะพ ะฒะฐัˆะตะน SCM (https://bitbucket.org/)"                       
PROJECT_NAME = "ะธะผั ะฟั€ะพะตะบั‚ะฝะพะน ะพะฑะปะฐัั‚ะธ, ะณะดะต ะฝะฐั…ะพะดัั‚ัั ั€ะตะฟะพะทะธั‚ะพั€ะธะธ"

def htmlBuild() {
    html = """
            <html>
            <head>
            <meta charset="windows-1251">
            <style type="text/css">
            div.grayTable {
            text-align: left;
            border-collapse: collapse;
            }
            .divTable.grayTable .divTableCell, .divTable.grayTable .divTableHead {
            padding: 0px 3px;
            }
            .divTable.grayTable .divTableBody .divTableCell {
            font-size: 13px;
            }
            </style>
            </head>
            <body>
        """

    def commitOptions = ""
    getCommitsForMicroservice(MICROSERVICE_NAME).each {
        commitOptions += "<option style='font-style: italic' value='COMMIT=${it.getKey()}'>${it}</option>"
    }
    html += """<p style="display: inline-block;">
        <select id="commit_id" size="1" name="value">
            ${commitOptions}
        </select></p></div>"""

    html += """
            </div>
            </div>
            </div>
            </body>
            </html>
         """
    return html
}

def getCommitsForMicroservice(microserviceRepo) {
    def commits = [:]
    def endpoint = GIT_URL + "/rest/api/1.0/projects/${PROJECT_NAME}/repos/${microserviceRepo}/commits"
    def conn = new URL(endpoint).openConnection()
    conn.setRequestProperty("Authorization", "Basic ${AUTH}")
    def response = new groovy.json.JsonSlurper().parseText(conn.content.text)
    response.values.each {
        commits.put(it.displayId, it.message)
    }
    return commits
}

return htmlBuild()

เชตเชฟเช—เชคเซ‹เชฎเชพเช‚ เช—เชฏเชพ เชตเชฟเชจเชพ, เช† เช•เซ‹เชก เช‡เชจเชชเซเชŸ เชคเชฐเซ€เช•เซ‡ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธ เชจเชพเชฎ (MICROSERVICE_NAME) เชฎเซ‡เชณเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡ เชฌเซ€เชŸเชฌเช•เซ‡เชŸ (เชชเชฆเซเชงเชคเชฟ เชฎเชพเชˆเช•เซเชฐเซ‹ เชธเชฐเซเชตเชฟเชธ เชฎเชพเชŸเซ‡ เช•เชฎเซ€เชŸ เชฎเซ‡เชณเชตเซ‹) เชคเซ‡เชจเชพ API เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เช…เชจเซ‡ เช†เชชเซ‡เชฒ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฎ เช•เชฎเชฟเชŸเซเชธเชจเชพ id เช…เชจเซ‡ เช•เชฎเชฟเชŸ เชฎเซ‡เชธเซ‡เชœ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡.
เช…เช—เชพเช‰ เชธเซ‚เชšเชตเซเชฏเชพ เชฎเซเชœเชฌ, เช† เช•เซ‹เชกเซ‡ html เชชเชพเช›เซเช‚ เช†เชชเชตเซเช‚ เชœเซ‹เชˆเช เชœเซ‡ เชชเซƒเชทเซเช  เชชเชฐ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชถเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชธเชพเชฅเซ‡ เชฌเชจเชพเชตเซ‹ เชœเซ‡เชจเช•เชฟเชจเซเชธเชฎเชพเช‚, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ Bitbucket เชฎเชพเช‚เชฅเซ€ เชคเชฎเชพเชฎ เชชเซเชฐเชพเชชเซเชค เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‡ เชธเซ‚เชšเชฟเชฎเชพเช‚ เชฒเชชเซ‡เชŸเซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเซ€เช เช›เซ€เช.

เชฌเชงเชพเช‚ เชชเช—เชฒเชพเช‚ เชชเซ‚เชฐเชพเช‚ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เช†เชชเชฃเชจเซ‡ เช†เชตเซเช‚ เชธเซเช‚เชฆเชฐ เชชเชพเชจเซเช‚ เชฎเชณเชตเซเช‚ เชœเซ‹เชˆเช เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชธเชพเชฅเซ‡ เชฌเชจเชพเชตเซ‹.

เชœเซ‹ เชคเชฎเซ‡ เชŸเซ‡เชธเซเชŸ1 เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธ เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช›เซ‹:

เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌเชฎเชพเช‚ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชฌเชจเชพเชตเชตเชพ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชฏเซเชเชฐ-เชซเซเชฐเซ‡เชจเซเชกเชฒเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚

เชœเซ‹ เชคเชฎเซ‡ เชŸเซ‡เชธเซเชŸ2 เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธ เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช›เซ‹:

เชœเซ‡เชจเช•เชฟเชจเซเชธ เชœเซ‹เชฌเชฎเชพเช‚ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เชฌเชจเชพเชตเชตเชพ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เชฏเซเชเชฐ-เชซเซเชฐเซ‡เชจเซเชกเชฒเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚

เชธเช‚เชฎเชค เชฅเชพเช“ เช•เซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เชฆเชฐ เชตเช–เชคเซ‡ url เชจเซ€ เชจเช•เชฒ เช•เชฐเชตเชพ เช…เชจเซ‡ เชœเชฐเซ‚เชฐเซ€ เช•เชฎเชฟเชŸ เช†เชˆเชกเซ€ เชถเซ‹เชงเชตเชพ เช•เชฐเชคเชพเช‚ เช† เชฐเซ€เชคเซ‡ เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏ เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเซ€ เชตเชงเซ เช…เชจเซเช•เซ‚เชณ เชฐเชนเซ‡เชถเซ‡.

PS เช† เชฒเซ‡เช– เชเช• เช–เซ‚เชฌ เชœ เชธเชฐเชณ เช‰เชฆเชพเชนเชฐเชฃ เชชเซ‚เชฐเซ‹ เชชเชพเชกเซ‡ เช›เซ‡, เชœเซ‡ เช† เชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เชตเซเชฏเชตเชนเชพเชฐเชฟเช• เชฐเซ€เชคเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชจ เชนเซ‹เชˆ เชถเช•เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชฎเชพเช‚ เช˜เชฃเชพ เชตเชงเซ เชตเชฟเชตเชฟเชง เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชนเซ‹เชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เช† เชฒเซ‡เช–เชจเซ‹ เชนเซ‡เชคเซ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เช‰เช•เซ‡เชฒ เชชเซ‚เชฐเซ‹ เชชเชพเชกเชตเชพเชจเซ‹ เชจเชนเซ€เช‚ เชชเชฃ เชธเชพเชงเชจ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชฌเชคเชพเชตเชตเชพเชจเซ‹ เชนเชคเซ‹.

PSS เชฎเซ‡เช‚ เช…เช—เชพเช‰ เชฒเช–เซเชฏเซเช‚ เชคเซ‡เชฎ, เชœเซ‹ เช† เชฒเซ‡เช– เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡, เชคเซ‹ เชชเช›เซ€เชจเซ‹ เชฒเซ‡เช– เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชนเชถเซ‡ เช•เซ‹เชก เชฆเซเชตเชพเชฐเชพ เชœเซ‡เชจเช•เชฟเชจเซเชธ เช•เชพเชฐเซเชฏเซ‹เชจเซ€ เช—เชคเชฟเชถเซ€เชฒ เช—เซ‹เช เชตเชฃเซ€.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹