เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress
เบœเบนเป‰เบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบ‚เบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆ Pantheon เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ WordPress เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰ GitLab CI/CD.

ะ’ Pantheon เบ‚เป‰เบญเบเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบชเบฐเป€เบซเบกเบตเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเปƒเบซเบกเปˆเบ—เบตเปˆเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ WordPress เปเบฅเบฐ Drupal เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ‚เป‰เบญเบเบกเบฑเบเบ—เบปเบ”เบฅเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเปƒเบซเบกเปˆเปเบฅเบฐเบชเบปเบกเบ—เบปเบšเบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš.

เบ‚เป‰เบญเบเบกเบฑเบเบˆเบฐเป€เบซเบฑเบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เปเปˆเบชเบนเป‰เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ”เบฝเบง.

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบธเบเบ—เบตเปˆเบˆเบฐเบฅเปเบ–เป‰เบฒเป€เบงเบฅเบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบฅเบฐเบ”เบฑเบšเบเบฒเบ‡เบซเบผเบทเบชเบปเปˆเบ‡ URL เปƒเบซเป‰เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเบ”เป‰เบงเบเบซเบกเบฒเบเป€เบซเบ”: "เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบ™เบตเป‰, เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบ™เบตเป‰."

เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Multidev - เบซเบ™เบถเปˆเบ‡เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบท Pantheon เป€เบขเบฑเบ™ - เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฑเบšเบžเบงเบเบกเบฑเบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบชเบฒเบ‚เบฒ Git เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™. เปเบ•เปˆเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก multidev เบกเบต URL เปเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ‡เบฝเบšเป†, เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เบธเบ™เบ™เบฐเบžเบฒเบš, เปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเบฐเบ™เบธเบกเบฑเบ”เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เบเป‰เบฒเบงเป„เบ›เบซเบฒเบ•เบตเบ™เบ‚เบญเบ‡เบเบฑเบ™เปเบฅเบฐเบเบฑเบ™.

เปเบ•เปˆ Pantheon เบšเปเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป€เบงเบตเบŠเบฑเบ™เบซเบผเบทเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ (CI/CD). เปเบ•เปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเปƒเบ”เป†.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เป„เบ”เป‰เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบ—เบตเบกเบ‡เบฒเบ™เปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบšเบฒเบ‡เบขเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบšเปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบžเบงเบเป€เบ‚เบปเบฒเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป€เบงเบตเบŠเบฑเบ™เปเบฅเบฐ CI / CD. เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡ fiddle เบ›เบฐเบกเบฒเบ™เปเบฅเบฐเบ›เปˆเบฝเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบงเบดเบ™เบดเบ”เป„เบชเบšเบฑเบ™เบซเบฒ.

เบเปˆเบฝเบงเบเบฑเบš GitLab เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบญเบฑเบ™เป€เบ•เบฑเบกเบ—เบตเปˆ: เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป€เบงเบตเบŠเบฑเบ™, เบ›เบตเป‰, เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบงเบก, เบ—เปเปˆเบชเบปเปˆเบ‡ CI/CD เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบซเป‰เบญเบ‡เบฎเบฝเบ™, เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบšเบฑเบ™เบˆเบธ, เปเบฅเบฐเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบฑเป‰เบ™. เบ‚เป‰เบญเบเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบžเบปเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเบซเบผเบฒเบเป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ.

เบ‚เป‰เบญเบเบฎเบฑเบเบฅเบฐเบšเบปเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”, เบชเบฐเบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเป„เบ”เป‰เบฎเบฝเบ™เบฎเบนเป‰เบงเบดเบ—เบตเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ Pantheon เบเบฑเบš GitLab เป€เบžเบทเปˆเบญเปƒเบซเป‰เบชเบฒเบ‚เบฒเบซเบผเบฑเบเปƒเบ™ GitLab เบ–เบทเบเบ™เปเบฒเป„เบ›เปƒเบŠเป‰เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบปเป‰เบ™เบ•เปเปƒเบ™ Pantheon. เปเบฅเบฐเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™ GitLab เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบฅเบฐเบซเบฑเบ”เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก multidev เปƒเบ™ Pantheon.

เปƒเบ™เบšเบปเบ”เบชเบญเบ™เบ™เบตเป‰, เบ‚เป‰เบญเบเบˆเบฐเบšเบญเบเบ—เปˆเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ WordPress เปเบฅเบฐ Drupal เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เปเบ™เปˆเบ™เบญเบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, mirror GitLab repository, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เบ”เป‰เบงเบเบกเบทเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบžเบทเปˆเบญเป€เบˆเบฒเบฐเป€เบฅเบดเบ GitLab CI เปเบฅเบฐเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ™เบตเป‰เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰.

เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบญเบšเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒ Pantheon เปเบšเปˆเบ‡เปเบ•เปˆเบฅเบฐเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบฅเบปเบ‡เป€เบ›เบฑเบ™เบชเบฒเบกเบญเบปเบ‡เบ›เบฐเบเบญเบš: เบฅเบฐเบซเบฑเบ”, เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเป„เบŸเบฅเปŒ.

เบฅเบฐเบซเบฑเบ”เบ›เบฐเบเบญเบšเบกเบตเป„เบŸเบฅเปŒ CMS เป€เบŠเบฑเปˆเบ™ WordPress core, plugins เปเบฅเบฐเบซเบปเบงเบ‚เปเป‰. เป„เบŸเบฅเปŒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเบˆเบฑเบ”เบเบฒเบ™เบขเบนเปˆเปƒเบ™ Git repositories, เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเป‚เบ”เบ Pantheon, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ™เปเบฒเบฅเบฐเบซเบฑเบ”เบˆเบฒเบ GitLab เป„เบ› Pantheon เบเบฑเบš Git.
เป„เบŸเบฅเปŒเปƒเบ™ Pantheon เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบชเบทเปˆเบกเบงเบ™เบŠเบปเบ™, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบฎเบนเบšเบžเบฒเบšเบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒ. เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบดเบžเบงเบเบกเบฑเบ™เบ–เบทเบเบญเบฑเบšเป‚เบซเบฅเบ”เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐ Git เบšเปเปˆเบชเบปเบ™เปƒเบˆเบžเบงเบเบกเบฑเบ™.

เบชเป‰เบฒเบ‡เบšเบฑเบ™เบŠเบตเบŸเบฃเบต, เบŠเบญเบเบซเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบš เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Pantheon เบซเบผเบท เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฒเบ—เบดเบ” เบขเบนเปˆ pantheon.io.

เบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™

เป‚เบ„เบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเปƒเบ™ Pantheon เปเบฅเบฐ GitLab เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ pantheon-gitlab-blog-demo. เบŠเบทเปˆเป‚เบ„เบ‡เบเบฒเบ™เบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒ WordPress. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบดเบ™ Drupal, เปเบ•เปˆเบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡.

เบ‚เป‰เบญเบเบˆเบฐเปƒเบŠเป‰ Git เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™ เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฎเบนเบšเบžเบฒเบš, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™.

เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™

เบ—เปเบฒเบญเบดเบ”, เปƒเบซเป‰เป€เบฎเบปเบฒเบชเป‰เบฒเบ‡ เป‚เบ„เบ‡เบเบฒเบ™ GitLab (เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเบฑเบšเบกเบฒเบซเบฒเบญเบฑเบ™เบ™เบตเป‰เปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡).

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ เบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒ WordPress เปƒเบ™ Pantheon. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡ WordPress เบชเปเบฒเบฅเบฑเบš dashboard เป€เบงเบฑเบšเป„เบŠเบ—เปŒ.

เบ–เป‰เบฒเบกเบทเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบกเบตเบญเบฒเบเบฒเบ™เบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบญเบปเบฒเบญเบญเบเบซเบผเบทเป€เบžเบตเปˆเบก plugins, เบˆเบปเปˆเบ‡เบญเบปเบ”เบ—เบปเบ™. เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš GitLab, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบฅเบฐเบซเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบœเปˆเบฒเบ™ GitLab.

เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡ WordPress, เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒ dashboard เป€เบงเบฑเบšเป„เบŠเบ—เปŒ Pantheon เปเบฅเบฐเบ›เปˆเบฝเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ›เบฑเบ™ Git.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบชเบฑเบ™เบเบฒเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบเปˆเบฝเบงเบเบฑเบš GitLab

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป‚เบญเบ™เบฅเบฐเบซเบฑเบ” WordPress เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ—เปŒ Pantheon เป„เบ› GitLab. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒ clone เบฅเบฐเบซเบฑเบ”เบˆเบฒเบ Git repository เบ‚เบญเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒ Pantheon เบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบปเปˆเบ‡เป„เบ›เบ—เบตเปˆ repository GitLab.

เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™ เปเบฅเบฐเบ›เบญเบ”เป„เบžเบเบงเปˆเบฒ, เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ” SSH เปƒเบชเปˆ Pantheon เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบชเปˆเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบธเบเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒ clone เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ Pantheon Git. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เปเบฅเป‰เบง เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ” SSH เปƒเบชเปˆ GitLab.

เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, clone เป€เบงเบฑเบšเป„เบŠเบ—เปŒ Pantheon เบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป‚เบ”เบเบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฒเบเบžเบฒเบเบชเบฐเบซเบ™เบฒเบก Clone เบเบฑเบš Git เปƒเบ™ dashboard เป€เบงเบฑเบšเป„เบŠเบ—เปŒ.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress
เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เบงเบฒเบกเบŠเปˆเบงเบเป€เบซเบผเบทเบญ, เปƒเบซเป‰เบญเปˆเบฒเบ™เป€เบญเบเบฐเบชเบฒเบ™ เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ Git เบชเปเบฒเบฅเบฑเบš Pantheon.

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบฎเบปเบฒเบ›เปˆเบฝเบ™เปเบ›เบ‡ git remote originเป€เบžเบทเปˆเบญเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡ GitLab เปเบ—เบ™ Pantheon. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰ ะบะพะผะฐะฝะดะพะน git remote.

เปƒเบซเป‰เป„เบ›เบ—เบตเปˆเป‚เบ„เบ‡เบเบฒเบ™ GitLab เปเบฅเบฐเบ„เบฑเบ”เบฅเบญเบ URL เบ‚เบญเบ‡ repository เบˆเบฒเบเป€เบฅเบทเปˆเบญเบ™เบฅเบปเบ‡ Clone เปƒเบ™เบซเบ™เป‰เบฒเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™. เปƒเบซเป‰เป€เบฎเบปเบฒเป€เบฅเบทเบญเบเบ•เบปเบงเป€เบฅเบทเบญเบ Clone with SSH, เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ›เบฑเบšเบ„เปˆเบฒเบฅเบฐเบซเบฑเบ” SSH เปเบฅเป‰เบง.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบ•เบฑเป‰เบ‡เปเบ•เปˆเบ•เบญเบ™เบ•เบปเป‰เบ™ git remote เบชเปเบฒเบฅเบฑเบšเบชเปเบฒเป€เบ™เบปเบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ” repository - origin. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰ c git remote set-url origin [URL ั€ะตะฟะพะทะธั‚ะพั€ะธั GitLab], เบšเปˆเบญเบ™เบ—เบตเปˆเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบงเบปเบ‡เป€เบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเปƒเบชเปˆ URL เบ•เบปเบงเบˆเบดเบ‡.

เบชเบธเบ”เบ—เป‰เบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบตเบ”เบ•เบปเบง git push origin master --forceเป€เบžเบทเปˆเบญเบเบนเป‰เบฅเบฐเบซเบฑเบ” WordPress เบˆเบฒเบ Pantheon เป„เบ› GitLab.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบ โ€“force เปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ„เบฑเป‰เบ‡เบ”เบฝเบง. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เปƒเบ™เบ—เบตเบก git push เบกเบฑเบ™เบˆเบฐเบšเปเปˆเบขเบนเปˆเปƒเบ™ GitLab.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบˆเปเบฒเบ•เบปเบงเปเบฅเบฐเบ•เบปเบงเปเบ›

เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ” SSH เบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปเบ™เบงเปƒเบ”เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš Pantheon เปเบฅเบฐ GitLab? SSH token เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบญเบฐเบ™เบธเบเบฒเบ” GitLab เปเบฅเบฐ Pantheon.

GitLab เบกเบตเป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบ”เบตเป€เบฅเบตเบ”. เปƒเบซเป‰เป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡ เบžเบฒเบเบชเปˆเบงเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฐเปเบˆ SSH เป€เบกเบทเปˆเบญเปƒเบŠเป‰ Docker executor เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เปƒเบŠเป‰เบเบฐเปเบˆ SSH เบเบฑเบš GitLab CI/CD.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบฎเบฑเบ”เบชเปเบฒเป€เบฅเบฑเบ”เบชเบญเบ‡เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เปเบฒเบญเบดเบ”: เบกเบฒเบชเป‰เบฒเบ‡เบ„เบนเปˆเบ„เบต SSH เปƒเปเปˆเบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ”เป‰เบงเบ ssh-keygen เปเบฅเบฐเป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบงเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ›เปƒเบซเป‰เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™..

เปเบฅเป‰เบงเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ–เบฒเบก SSH_PRIVATE_KEY เบงเบดเบ—เบตเบเบฒเบ™ เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก GitLab CI/CD เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹.
เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเบชเบฒเบกเปเบฅเบฐเบชเบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ .gitlab-ci.yml เบ”เป‰เบงเบโ€‹เป€เบ™เบทเป‰เบญโ€‹เปƒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบตเป‰โ€‹:

before_script:
  # See https://docs.gitlab.com/ee/ci/ssh_keys/README.html
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
  - mkdir -p $HOME/.ssh && echo "StrictHostKeyChecking no" >> "$HOME/.ssh/config"
  - git config --global user.email "$GITLAB_USER_EMAIL"
  - git config --global user.name "Gitlab CI"

เบ‚เปโ€‹เปƒเบซเป‰โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบเบทเปˆเบ™โ€‹เบ„เปเบฒโ€‹เบซเบกเบฑเป‰เบ™โ€‹เบชเบฑเบ™โ€‹เบเบฒโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เป€เบ—เบทเปˆเบญโ€‹ .gitlab-ci.yml, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบกเบญเบฑเบ™เบญเบทเปˆเบ™เปƒเบชเปˆเบกเบฑเบ™.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเบซเป‰เบฒเปเบฅเบฐ เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เปเบฒเบญเบดเบ”เปƒเบซเป‰เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡.

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ Pantheon เบˆเบฒเบ GitLab. เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™ Pantheon เบเปˆเบฝเบงเบเบฑเบš เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ” SSH เปƒเบชเปˆ Pantheon เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰.

เบˆเบทเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™: SSH เบชเปˆเบงเบ™เบ•เบปเบงเบขเบนเปˆเปƒเบ™ GitLab, เป€เบ›เบตเบ” SSH เบขเบนเปˆเปƒเบ™ Pantheon.

เบกเบฒเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปœเป‰เบญเบเปœเบถเปˆเบ‡. เบญเบฑเบ™เบ—เบณเบญเบดเบ”เบกเบตเบŠเบทเปˆเบงเปˆเบฒ PANTHEON_SITE. เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ Pantheon เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบŠเบทเปˆเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ™เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡ Clone เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡ Git. เบ—เปˆเบฒเบ™โ€‹เป„เบ”เป‰โ€‹เป‚เบ„เบ™โ€‹เป€เบงเบฑเบšโ€‹เป„เบŠโ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบ—เป‰เบญเบ‡โ€‹เบ–เบดเปˆเบ™โ€‹เปเบฅเป‰เบง, เบชเบฐโ€‹เบ™เบฑเป‰เบ™โ€‹เบ™เบตเป‰โ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบŠเบทเปˆโ€‹เบ‚เบญเบ‡โ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบ‚เบญเบ‡ repository เบ—เป‰เบญเบ‡โ€‹เบ–เบดเปˆเบ™.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบ•เปเปˆเป„เบ›, เปƒเบซเป‰เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก PANTHEON_GIT_URL. เบ™เบตเป‰เปเบกเปˆเบ™ Git repository URL เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒ Pantheon เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปƒเบŠเป‰เปเบฅเป‰เบง.

เบเบฐเบฅเบธเบ™เบฒเปƒเบชเปˆเบžเบฝเบ‡เปเบ•เปˆ SSH repository URL, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ git clone เปเบฅเบฐเบŠเบทเปˆเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบขเบนเปˆเบ—เป‰เบฒเบ.

เบŸเบตเบง. เบชเปเบฒเป€เบฅเบฑเบ”เปเบฅเป‰เบง, เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบชเปเบฒเป€เบฅเบฑเบ”เป„เบŸเบฅเปŒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰ .gitlab-ci.yml.

เบชเป‰เบฒเบ‡โ€‹เบงเบฝเบโ€‹เบ‡เบฒเบ™โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹

เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบฎเบฑเบ”เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบเบฑเบš GitLab CI เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฎเบฑเบ”เบเบฑเบš Git repositories เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ. เปเบ•เปˆเป€เบงเบฅเบฒเบ™เบตเป‰, เปƒเบซเป‰เป€เบžเบตเปˆเบกเบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ Pantheon เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡ Git เป„เบฅเบเบฐเป„เบเบ—เบตเบชเบญเบ‡, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบนเป‰เบฅเบฐเบซเบฑเบ”เบˆเบฒเบ GitLab เป„เบ› Pantheon.

เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เปƒเบซเป‰เป€เบฎเบปเบฒเบ•เบฑเป‰เบ‡เบ„เปˆเบฒ เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™ deploy ะธ เบงเบฝเบเบ‡เบฒเบ™ deploy:dev, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™ Pantheon. เป„เบŸเบฅเปŒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš .gitlab-ci.yml เบˆเบฐโ€‹เป€เบšเบดเปˆเบ‡โ€‹เบ„เบทโ€‹เบ™เบตเป‰โ€‹:

stages:
- deploy

before_script:
  # See https://docs.gitlab.com/ee/ci/ssh_keys/README.html
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
  - mkdir -p $HOME/.ssh && echo "StrictHostKeyChecking no" >> "$HOME/.ssh/config"
  - git config --global user.email "$GITLAB_USER_EMAIL"
  - git config --global user.name "Gitlab CI"

deploy:dev:
  stage: deploy
  environment:
    name: dev
    url: https://dev-$PANTHEON_SITE.pantheonsite.io/
  script:
    - git remote add pantheon $PANTHEON_GIT_URL
    - git push pantheon master --force
  only:
    - master

เบ•เบปเบงเปเบ› SSH_PRIVATE_KEY, PANTHEON_SITE ะธ PANTHEON_GIT_URL เบ„เบงเบ™เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบ„เบธเป‰เบ™เป€เบ„เบตเบ - เบžเบงเบเป€เบฎเบปเบฒเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰. เบ”เป‰เบงเบเบ•เบปเบงเปเบ›เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เปˆเบฒเปƒเบ™เป„เบŸเบฅเปŒ .gitlab-ci.yml เบซเบผเบฒเบเบ„เบฑเป‰เบ‡, เปเบฅเบฐเบžเบงเบเบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ”เบฝเบง.

เบชเบธเบ”เบ—เป‰เบฒเบ, เป€เบžเบตเปˆเบก, เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเปเบฅเบฐเบชเบปเปˆเบ‡เป„เบŸเบฅเปŒ .gitlab-ci.yml เปƒเบ™ GitLab.

เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹

เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เบงเบฝเบเบ‡เบฒเบ™ deploy:dev เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเปˆเบฒเบ‡เบชเปเบฒเป€เบฅเบฑเบ”เบœเบปเบ™เปƒเบ™ GitLab CI/CD เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ .gitlab-ci.yml เบ—เบตเปˆ Pantheon. เบ‚เปเปƒเบซเป‰เป€เบšเบดเปˆเบ‡.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบเบฒเบ™โ€‹เบชเบปเปˆเบ‡โ€‹เบเบฐโ€‹เบ—เบนเป‰โ€‹เบเบฒเบ™โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เบฅเบงเบกโ€‹เบเบฑเบš Pantheonโ€‹

เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” Pantheon เบ—เบตเปˆเบ‚เป‰เบญเบเบกเบฑเบ - multidev, เบšเปˆเบญเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Pantheon เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบชเบฒเบ‚เบฒ Git เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™.

เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ multidev เปเบกเปˆเบ™เบˆเปเบฒเบเบฑเบ”, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบฒเบเบชเปˆเบงเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ‚เป‰เบฒเบกเป„เบ”เป‰. เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบœเบปเบ™เบœเบฐเบฅเบดเบ”เป„เบ”เป‰เบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เป‚เบ”เบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบชเป‰เบฒเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก multidev เปƒเบ™ Pantheon เบˆเบฒเบ GitLab เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบœเบฐเบชเบปเบกเบœเบฐเบชเบฒเบ™.

เบ—เปเบฒเบญเบดเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบชเบฒเบ‚เบฒ Git เปƒเบซเบกเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป‚เบ”เบเปƒเบŠเป‰ git checkout -b multidev-support. เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบ›เปˆเบฝเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบญเบตเบเบ„เบฑเป‰เบ‡เปƒเบ™ .gitlab-ci.yml.

เบ‚เป‰เบญเบเบกเบฑเบเบฅเบงเบกเป€เบญเบปเบฒเบ•เบปเบงเป€เบฅเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบŠเบทเปˆเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Pantheon. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบงเบกเบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™ mr-1, เบ—เบตเบชเบญเบ‡ - mr-2 เปเบฅเบฐเบญเบทเปˆเบ™เป†

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบงเบกเบ•เบปเบงเบ›เปˆเบฝเบ™เปเบ›เบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบŠเบทเปˆเบชเบฒเบ‚เบฒ Pantheon เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง. เบกเบฑเบ™เบ‡เปˆเบฒเบเปƒเบ™ GitLab - เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰ เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™.

เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒ $CI_MERGE_REQUEST_IIDเป€เบžเบทเปˆเบญเบฅเบฐเบšเบธเปเบฒเบเป€เบฅเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฎเบงเบก. เปƒเบซเป‰เบ™เบณเปƒเบŠเป‰เบ—เบฑเบ‡เปเบปเบ”เบ™เบตเป‰เบžเป‰เบญเบกเบเบฑเบšเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบปเปˆเบงเป‚เบฅเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰ เปเบฅเบฐเป€เบžเบตเปˆเบกเบเบฒเบ™เบ™เบณเบกเบฒเปƒเบŠเป‰เปƒเปเปˆ: เบงเบฝเบ multidev เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒ. .gitlab-ci.yml.

deploy:multidev:
  stage: deploy
  environment:
    name: multidev/mr-$CI_MERGE_REQUEST_IID
    url: https://mr-$CI_MERGE_REQUEST_IID-$PANTHEON_SITE.pantheonsite.io/
  script:
    # Checkout the merge request source branch
    - git checkout $CI_COMMIT_REF_NAME
    # Add the Pantheon git repository as an additional remote
    - git remote add pantheon $PANTHEON_GIT_URL
    # Push the merge request source branch to Pantheon
    - git push pantheon $CI_COMMIT_REF_NAME:mr-$CI_MERGE_REQUEST_IID --force
  only:
    - merge_requests

เบกเบฑเบ™เบˆเบฐเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ deploy:dev, เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบ‚เบฒเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒ Pantheon, เบšเปเปˆเปเบกเปˆเบ™ master.

เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เป€เบžเบตเปˆเบกโ€‹เปเบฅเบฐโ€‹เบซเบกเบฑเป‰เบ™โ€‹เบชเบฑเบ™โ€‹เบเบฒโ€‹เบเบฑเบšโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ—เบตเปˆโ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹ .gitlab-ci.yml, เปเบฅเบฐเบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบŠเบธเบเบเบนเป‰เบชเบฒเบ‚เบฒเปƒเบซเบกเปˆเปƒเบซเป‰เบเบฑเบš GitLab เบ”เป‰เบงเบ git push -u origin multidev-support.

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบงเบกเปƒเบซเบกเปˆเบˆเบฒเบเบชเบฒเบ‚เบฒ multidev-supportเป‚เบ”เบเบเบฒเบ™เบเบปเบ” เบชเป‰เบฒเบ‡โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบฅเบงเบกโ€‹.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เป„เบ”เป‰เบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบฅเบงเบก, เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™ CI / CD deploy:multidev.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เป€เบšเบดเปˆเบ‡, เบเบฐเบ—เบนเป‰เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒ Pantheon. เปเบ•เปˆเบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบซเบฒเบžเบฒเบเบชเปˆเบงเบ™ multidev เปƒเบ™ dashboard เป€เบงเบฑเบšเป„เบŠเบ—เปŒ Pantheon, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเป€เบซเบฑเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปƒเบซเบกเปˆเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™เบžเบฒเบเบชเบฒเบ‚เบฒ Git.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฐเบ—เบนเป‰เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ mr-1 เป„เบ”เป‰เป„เบ› Pantheon. เปƒเบซเป‰เบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบˆเบฒเบเบชเบฒเบ‚เบฒ mr-1.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก multidev, เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒ GitLab เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบžเบฒเบ เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ > เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบšเบดเปˆเบ‡เบฅเบฒเบเบเบฒเบ™เบชเปเบฒเบฅเบฑเบš dev ะธ mr-1.

เบ™เบตเป‰เปเบกเปˆเบ™เบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบžเบตเปˆเบกเบฅเบฒเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒ environment เบ”เป‰เบงเบโ€‹เบŠเบทเปˆ name ะธ url เป€เบ‚เบปเป‰เบฒเปƒเบ™เบงเบฝเบเบ‡เบฒเบ™ CI/CD. เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบ„เบฅเบดเบเปƒเบชเปˆเป„เบญเบ„เบญเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป€เบ›เบตเบ”, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ–เบทเบเบ™เปเบฒเป„เบ›เบซเบฒ URL เบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก multidev เปƒเบ™ Pantheon.

เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบเบฒเบ™เบชเป‰เบฒเบ‡ multidev

เปƒเบ™เบซเบผเบฑเบเบเบฒเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบขเบธเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบˆเบทเปˆเบˆเปเบฒเบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก multidev เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบœเบฐเบชเบปเบกเบœเบฐเบชเบฒเบ™, เปเบ•เปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป„เบ”เป‰.

Pantheon เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบšเบฑเบ™เบ—เบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡ Terminus, เบšเปˆเบญเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป€เบงเบ—เบตเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. Terminus เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก multidev เบˆเบฒเบเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ - เป€เบซเบกเบฒเบฐเบชเปเบฒเบฅเบฑเบš GitLab CI.

เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบงเบกเปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเบ™เบตเป‰. เบกเบฒเบชเป‰เบฒเบ‡เบชเบฒเบ‚เบฒเปƒเปเปˆเป‚เบ”เบเปƒเบŠเป‰ git checkout -b auto-multidev-creation.

เป€เบžเบทเปˆเบญเปƒเบŠเป‰ Terminus เปƒเบ™เบงเบฝเบเบ‡เบฒเบ™ GitLab CI/CD, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเป€เบ„เบทเปˆเบญเบ‡เป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบเบฑเบš Terminus เปเบฅเบฐเบฎเบนเบšเบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบกเบต Terminus.

เบเบฒเบ™เบชเป‰เบฒเบ‡ Pantheon Machine Token, เบšเบฑเบ™เบ—เบถเบเบกเบฑเบ™เป„เบงเป‰เปƒเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบ›เบญเบ”เป„เบžเปเบฅเบฐเป€เบžเบตเปˆเบกเบกเบฑเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบปเปˆเบงเป‚เบฅเบเปƒเบ™ GitLab เบ”เป‰เบงเบเบŠเบทเปˆ PANTHEON_MACHINE_TOKEN.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฅเบทเบกเบงเบดเบ—เบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก GitLab, เปƒเบซเป‰เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ” PANTHEON_SITE.

เบเบฒเบ™เบชเป‰เบฒเบ‡ Dockerfile เบเบฑเบš Terminus

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเปƒเบŠเป‰ Docker เบซเบผเบทเบšเปเปˆเบกเบฑเบเป„เบŸเบฅเปŒ Dockerfile, เป€เบญเบปเบฒเบฎเบนเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest เปเบฅเบฐเบ‚เป‰เบฒเบกเบžเบฒเบเบชเปˆเบงเบ™เบ™เบตเป‰.

GitLab เบกเบตเบ—เบฐเบšเบฝเบ™เบšเบฑเบ™เบˆเบธ, เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เปเบฅเบฐเบงเบฒเบ‡ Dockerfile เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบกเบฒเบชเป‰เบฒเบ‡ Dockerfile เบเบฑเบš Terminus เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Pantheon.

Terminus เปเบกเปˆเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡ PHP, เบชเบฐเบ™เบฑเป‰เบ™เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบฎเบนเบšเบžเบฒเบš PHP. เบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Terminus เบœเปˆเบฒเบ™ Composer, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบˆเบฐเปƒเบŠเป‰ เบฎเบนเบšเบžเบฒเบš Docker Composer เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™. เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡ Dockerfile เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต repository เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบกเบตเป€เบ™เบทเป‰เบญเบซเบฒเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

# Use the official Composer image as a parent image
FROM composer:1.8

# Update/upgrade apk
RUN apk update
RUN apk upgrade

# Make the Terminus directory
RUN mkdir -p /usr/local/share/terminus

# Install Terminus 2.x with Composer
RUN /usr/bin/env COMPOSER_BIN_DIR=/usr/local/bin composer -n --working-dir=/usr/local/share/terminus require pantheon-systems/terminus:"^2"

เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบšเปเบฅเบฐเบชเบปเปˆเบ‡เบฎเบนเบšเบžเบฒเบšเบˆเบฒเบเบžเบฒเบ เบชเป‰เบฒเบ‡เปเบฅเบฐเบŠเบธเบเบเบนเป‰เบฎเบนเบšเบžเบฒเบš ะฒ เป€เบญเบเบฐเบชเบฒเบ™เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบšเบฑเบ™เบˆเบธเป€เบžเบทเปˆเบญเป€เบเบฑเบšเบเปเบฒเบฎเบนเบšเบžเบฒเบšเบˆเบฒเบ Dockerfile เปเบฅเบฐเบเบนเป‰เบกเบฑเบ™เป„เบ›เบ—เบตเปˆ GitLab.

เป€เบ›เบตเบ”เบžเบฒเบเบชเปˆเบงเบ™ Registry เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ GitLab. เบ–เป‰เบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป„เบ›เบ•เบฒเบกเปเบœเบ™เบเบฒเบ™, เบฎเบนเบšเบžเบฒเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบ‚เบฝเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเปเบ—เบฑเบเบฎเบนเบšเบžเบฒเบš - เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒ .gitlab-ci.yml.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบžเบฒเบเบชเปˆเบงเบ™ script เปƒเบ™โ€‹เบšเบฑเบ™โ€‹เบซเบฒโ€‹ deploy:multidev เบเปเบฒเบฅเบฑเบ‡เป€เบฅเบตเปˆเบกเบ‚เบฐเบซเบเบฒเบเบ•เบปเบง, เบชเบฐเบ™เบฑเป‰เบ™เปƒเบซเป‰เบเป‰เบฒเบเบกเบฑเบ™เป„เบ›เบซเบฒเป„เบŸเบฅเปŒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเปƒเบซเบกเปˆ private/multidev-deploy.sh:

#!/bin/bash

# Store the mr- environment name
export PANTHEON_ENV=mr-$CI_MERGE_REQUEST_IID

# Authenticate with Terminus
terminus auth:login --machine-token=$PANTHEON_MACHINE_TOKEN

# Checkout the merge request source branch
git checkout $CI_COMMIT_REF_NAME

# Add the Pantheon Git repository as an additional remote
git remote add pantheon $PANTHEON_GIT_URL

# Push the merge request source branch to Pantheon
git push pantheon $CI_COMMIT_REF_NAME:$PANTHEON_ENV --force

# Create a function for determining if a multidev exists
TERMINUS_DOES_MULTIDEV_EXIST()
{
    # Stash a list of Pantheon multidev environments
    PANTHEON_MULTIDEV_LIST="$(terminus multidev:list ${PANTHEON_SITE} --format=list --field=id)"

    while read -r multiDev; do
        if [[ "${multiDev}" == "$1" ]]
        then
            return 0;
        fi
    done <<< "$PANTHEON_MULTIDEV_LIST"

    return 1;
}

# If the mutltidev doesn't exist
if ! TERMINUS_DOES_MULTIDEV_EXIST $PANTHEON_ENV
then
    # Create it with Terminus
    echo "No multidev for $PANTHEON_ENV found, creating one..."
    terminus multidev:create $PANTHEON_SITE.dev $PANTHEON_ENV
else
    echo "The multidev $PANTHEON_ENV already exists, skipping creating it..."
fi

script เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบชเปˆเบงเบ™เบ•เบปเบงเปเบฅเบฐ เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒ Pantheon. เบžเบงเบเป€เบฎเบปเบฒเบกเบต script เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™ multidev เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบญเบฑเบšเป€เบ”เบ”เบžเบฒเบเบชเปˆเบงเบ™ deploy:multidev เป„เบŸเบฅ .gitlab-ci.ymlเบ”เบฑเปˆเบ‡โ€‹เบ™เบฑเป‰เบ™โ€‹เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เบเบฒเบโ€‹เป€เบ›เบฑเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบตเป‰โ€‹:

deploy:multidev:
  stage: deploy
  environment:
    name: multidev/mr-$CI_MERGE_REQUEST_IID
    url: https://mr-$CI_MERGE_REQUEST_IID-$PANTHEON_SITE.pantheonsite.io/
  script:
    # Run the multidev deploy script
    - "/bin/bash ./private/multidev-deploy.sh"
  only:
    - merge_requests

เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเบเปเบฒเบซเบ™เบปเบ”เป€เบญเบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเบ„เปเบฒเบ™เบดเบเบฒเบก image เบˆเบฒเบ URL เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เป„เบ›เบซเบฒ .gitlab-ci.yml. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เบ”เป‰เบงเบเป„เบŸเบฅเปŒเป€เบŠเบฑเปˆเบ™เบ™เบตเป‰ .gitlab-ci.yml:

image: registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest

stages:
- deploy

before_script:
  # See https://docs.gitlab.com/ee/ci/ssh_keys/README.html
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
  - mkdir -p $HOME/.ssh && echo "StrictHostKeyChecking no" >> "$HOME/.ssh/config"
  - git config --global user.email "$GITLAB_USER_EMAIL"
  - git config --global user.name "Gitlab CI"

deploy:dev:
  stage: deploy
  environment:
    name: dev
    url: https://dev-$PANTHEON_SITE.pantheonsite.io/
  script:
    - git remote add pantheon $PANTHEON_GIT_URL
    - git push pantheon master --force
  only:
    - master

deploy:multidev:
  stage: deploy
  environment:
    name: multidev/mr-$CI_MERGE_REQUEST_IID
    url: https://mr-$CI_MERGE_REQUEST_IID-$PANTHEON_SITE.pantheonsite.io/
  script:
    # Run the multidev deploy script
    - "/bin/bash ./private/multidev-deploy.sh"
  only:
    - merge_requests

เป€เบžเบตเปˆเบก, เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเปเบฅเบฐเบชเบปเปˆเบ‡ private/multidev-deploy.sh ะธ .gitlab-ci.yml. เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒ GitLab เปเบฅเบฐเบฅเปเบ–เป‰เบฒเปƒเบซเป‰เบงเบฝเบเบ‡เบฒเบ™ CI / CD เบชเปเบฒเป€เบฅเบฑเบ”. เบญเบปเบ”เบ—เบปเบ™: multidev เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบ™เบฒเบ—เบตเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡.

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ›เป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ multidev เปƒเบ™ Pantheon. เป‚เบญเป‰ เบญเบฑเบ”เบชเบฐเบˆเบฑเบ™! เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Multidev mr-2 เบขเบนเปˆเบ™เบตเป‰เปเบฅเป‰เบง.

เบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เปเบฅเบฐ Pantheon เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Drupal เปเบฅเบฐ WordPress

เบชเบฐเบซเบฅเบธเบš

เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบตเบ„เบงเบฒเบกเบกเปˆเบงเบ™เบซเบผเบฒเบเป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเป€เบ›เบตเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฎเบงเบก เปเบฅเบฐเบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡ GitLab เปเบฅเบฐ Pantheon, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ GitLab เบเบฑเบš Pantheon เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ GitLab CI/CD, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบกเบตเบšเปˆเบญเบ™เบซเบงเปˆเบฒเบ‡เบ—เบตเปˆเบˆเบฐเป€เบ•เบตเบšเป‚เบ•. เบ™เบตเป‰เปเบกเปˆเบ™เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบชเบญเบ‡เบชเบฒเบกเบขเปˆเบฒเบ‡เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เปˆเบฒเบ™:

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเบ—เปˆเบฒเบ™เบ„เบดเบ”เปเบ™เบงเปƒเบ”เบเปˆเบฝเบงเบเบฑเบš GitLab, Pantheon เปเบฅเบฐเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

PS เป€เบˆเบปเป‰เบฒเบฎเบนเป‰เบšเปเปˆเบงเปˆเบฒ Terminus, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบšเบฑเบ™เบ—เบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡ Pantheon, เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰เบœเปˆเบฒเบ™ plugins?

เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆ Pantheon เป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบ”เบตเปƒเบ™เบชเบฐเบšเบฑเบš 2 เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ plugin เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเป‰เบฒเบ‡ Terminus เบ”เป‰เบงเบเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ GitLab. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบšเปเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบฅเบปเบšโ€‹เบเบงเบ™โ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹, เบžเบฐโ€‹เบเบฒโ€‹เบเบฒเบก plugin เบ™เบตเป‰โ€‹เปเบฅเบฐโ€‹เบŠเปˆเบงเบโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบ—เบปเบ”โ€‹เบชเบญเบš v2 betaโ€‹. เบชเปเบฒเบฅเบฑเบšเบ—เบตเบกเบ‡เบฒเบ™ Terminus build:project:create เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ Pantheon token เปเบฅเบฐ GitLab token. เบ™เบฒเบ‡เบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบกเบต Composer เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”, เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปƒเบซเบกเปˆเปƒเบ™ GitLab, เป€เบงเบฑเบšเป„เบŠเบ—เปŒ Pantheon เปƒเบซเบกเปˆ, เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเบงเบเป€เบ‚เบปเบฒเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปเบฅเบฐเบ›เบธเปˆเบก SSH.

เบเปˆเบฝเบงเบเบฑเบšเบœเบนเป‰เบ‚เบฝเบ™

Andrew Taylor เบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™ Pantheon.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™