GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚
GitLab CI/CD เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเต‡เตผเดกเตเดชเตเดฐเดธเตเดธเต เดตเดฟเดจเตเดฏเดพเดธเด™เตเด™เตพ เดŽเด™เตเด™เดจเต† เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเต Pantheon-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเต†เดตเดฒเดชเตเดชเตผ เดŸเต‚เดณเตเด•เดณเตเดŸเต† เดธเตเดฐเดทเตเดŸเดพเดตเดพเดฏ เดžเด™เตเด™เดณเตเดŸเต† เด…เดคเดฟเดฅเดฟ เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต.

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

เด’เดฐเตŠเดฑเตเดฑ เดธเตเดฑเตเดฑเต‡เดœเดฟเด‚เด—เต เดธเต†เตผเดตเดฑเตเดฎเดพเดฏเดฟ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดจเตเดจเดคเต เดžเดพเตป เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด•เดพเดฃเดพเดฑเตเดฃเตเดŸเต.

เดตเดณเดฐเต† เดฐเดธเด•เดฐเดฎเดพเดฃเต - เด’เดฐเต เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต เดธเต†เตผเดตเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‹ เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต เด’เดฐเต URL เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‹ เด‰เดณเตเดณ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดŠเดดเดคเตเดคเดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต: "เด‡เดตเดฟเดŸเต† เดจเต‹เด•เตเด•เต‚, เดชเด•เตเดทเต‡ เด‡เดคเตเดตเดฐเต† เด‡เดตเดฟเดŸเต† เดจเต‹เด•เตเด•เดฐเตเดคเต."

เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เตพ - เดฐเดธเด•เดฐเดฎเดพเดฏ เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดŸเต‚เดณเตเด•เดณเดฟเตฝ เด’เดจเตเดจเต - เดˆ เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเด•, เด•เดพเดฐเดฃเด‚ เด…เดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดพเดจเตเดธเดฐเดฃเด‚ Git เดถเดพเด–เด•เตพเด•เตเด•เดพเดฏเดฟ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด“เดฐเต‹ เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเดฟเดจเตเด‚ เด…เดคเดฟเดจเตเดฑเต‡เดคเดพเดฏ URL เด‰เด‚ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด‚ เด‰เดฃเตเดŸเต, เด…เดคเดฟเดจเดพเตฝ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เต เดชเดฐเดธเตเดชเดฐเด‚ เด•เดพเดฒเดฟเดŸเดฑเดพเดคเต† เดคเดจเตเดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดจเตเด‚ เด—เตเดฃเดจเดฟเดฒเดตเดพเดฐเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเดจเตเด‚ เด…เด‚เด—เต€เด•เดพเดฐเด‚ เดจเต‡เดŸเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เดŽเดจเตเดจเดพเตฝ เดชเดพเดจเตเดคเดฟเดฏเต‹เดฃเดฟเดจเต เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเต‹ เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏ เดเด•เต€เด•เดฐเดฃเดคเตเดคเดฟเดจเตเด‚ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเด‚ (CI/CD) เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เด‡เดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดเดคเต เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เด’เดฐเต เดซเตเดฒเต†เด•เตเดธเดฟเดฌเดฟเตพ เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เดฎเดพเดฃเต เด‡เดคเต.

เดŸเต€เดฎเตเด•เตพ เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเดฟเดจเตเด‚ เดฎเดฑเตเดฑเตเดณเตเดณเดต เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเดฟเดจเตเด‚ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเด‚ เดšเดฟเดฒ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เดžเดพเตป เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเต.

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเตเด‚ เดธเดฟเด/เดธเดฟเดกเดฟเด•เตเด•เตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดค เดŸเต‚เดณเตเด•เตพ เด‰เดฃเตเดŸเต. เด•เต‹เดกเต เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เตพ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดจเดฟเด™เตเด™เตพ เดšเตเดฑเตเดฑเดฟเด•เตเด•เดฑเด™เตเด™เตเด•เดฏเตเด‚ เดŸเต‚เดณเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดฎเดพเดฑเตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚.

เด“เตบ GitLab เด’เดฐเต เดธเดฎเตเดชเต‚เตผเดฃเตเดฃ เดตเดฟเด•เดธเดจ เดŸเต‚เดณเตเด•เตพ เด‰เดฃเตเดŸเต: เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด‚, เดŸเดฟเด•เตเด•เดฑเตเดฑเตเด•เตพ, เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ, เดฎเดฟเด•เดšเตเดš เด‡เตป-เด•เตเดฒเดพเดธเต เดธเดฟเด / เดธเดฟเดกเดฟ เดชเตˆเดชเตเดชเตเดฒเตˆเตป, เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ, เด…เดคเตเดชเต‹เดฒเตเดณเตเดณ เด•เดพเดฐเตเดฏเด™เตเด™เตพ. เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเต เดตเตผเด•เตเด•เตเดซเตเดฒเต‹ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเตป เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เด‰เดณเตเดณ เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดžเดพเตป เด‡เดคเตเดตเดฐเต† เด•เดฃเตเดŸเดฟเดŸเตเดŸเดฟเดฒเตเดฒ.

เดŽเดจเดฟเด•เตเด•เต เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป เด‡เดทเตเดŸเดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เดชเดพเดจเตเดคเดฟเดฏเต‹เดฃเดฟเดจเต† GitLab-เดฒเต‡เด•เตเด•เต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดžเดพเตป เดชเด เดฟเดšเตเดšเต, เด…เดคเตเดตเดดเดฟ GitLab-เดฒเต† เดฎเดพเดธเตเดฑเตเดฑเตผ เดฌเตเดฐเดพเดžเตเดšเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดคเด•เตพ Pantheon-เดฒเต† เดฎเดพเดธเตเดฑเตเดฑเตผ เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต. GitLab เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพเด•เตเด•เต เดชเดพเดจเตเดคเดฟเดฏเต‹เดฃเดฟเดฒเต† เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด•เต‹เดกเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เดˆ เด—เตˆเดกเดฟเตฝ, GitLab-เดจเตเด‚ Pantheon-เดจเตเด‚ เด‡เดŸเดฏเดฟเตฝ เด’เดฐเต เด•เดฃเด•เตเดทเตป เดŽเด™เตเด™เดจเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† WordPress, Drupal เดตเตผเด•เตเด•เตเดซเตเดฒเต‹ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเตเด‚ เดžเดพเตป เด•เดพเดฃเดฟเดšเตเดšเตเดคเดฐเดพเด‚.

เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด…เดคเต เดธเดพเดงเตเดฏเดฎเดพเดฃเต, เด’เดฐเต GitLab เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดฎเดฟเดฑเตผ เดšเต†เดฏเตเดฏเตเด•, เดŽเดจเตเดจเดพเตฝ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดชเต‡เดจเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดŽเดฒเตเดฒเดพเด‚ เดšเต†เดฏเตเดฏเตเด‚ เดœเดฟเดฑเตเดฑเตโ€Œเดฒเดพเดฌเต เดธเดฟ.เด เดญเดพเดตเดฟเดฏเดฟเตฝ เดˆ เด‰เดชเด•เดฐเดฃเด‚ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•.

เด†เดฎเตเด–เด‚

เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ, เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เด“เดฐเต‹ เดธเตˆเดฑเตเดฑเดฟเดจเต†เดฏเตเด‚ เดฎเต‚เดจเตเดจเต เด˜เดŸเด•เด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เตเดจเตเดจเต: เด•เต‹เดกเต, เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต, เดซเดฏเดฒเตเด•เตพ.

เด•เต‹เดกเดฟเตฝ CMS เดซเดฏเดฒเตเด•เดณเดพเดฏ เด•เต‹เตผ, เดชเตเดฒเด—เดฟเดจเตเด•เตพ, เดตเต‡เตผเดกเตเดชเตเดฐเดธเตเดธเต เดคเต€เดฎเตเด•เตพ เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดˆ เดซเดฏเดฒเตเด•เตพ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพPantheon เดนเต‹เดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเดคเต, เด…เดคเดพเดฏเดคเต Git เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต GitLab-เตฝ เดจเดฟเดจเตเดจเต Pantheon-เดฒเต‡เด•เตเด•เต เด•เต‹เดกเต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚.
เดชเดพเดจเตเดคเดฟเดฏเต‹เดฃเดฟเดฒเต† เดซเดฏเดฒเตเด•เดณเต† เดฎเต€เดกเดฟเดฏ เดซเดฏเดฒเตเด•เตพ เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต เดธเตˆเดฑเตเดฑเดฟเดจเดพเดฏเตเดณเตเดณ เดšเดฟเดคเตเดฐเด™เตเด™เตพ. เด…เดต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ Git เด…เดตเด—เดฃเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด’เดฐเต เดธเต—เดœเดจเตเดฏ เด…เด•เตเด•เต—เดฃเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•, เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเดฒเดฑเดฟเดฏเตเด• เดชเดจเตเดคเดฟเดฏเต‹เตบ เดตเตผเด•เตเด•เตเดซเตเดฒเต‹ เด…เดฅเดตเดพ เด’เดฐเต เดกเต†เดฎเต‹เดฏเตเด•เตเด•เดพเดฏเดฟ เดธเตˆเตป เด…เดชเตเดชเต เดšเต†เดฏเตเดฏเตเด• pantheon.io-เตฝ.

เด…เดจเตเดฎเดพเดจเด™เตเด™เตพ

My Pantheon เด†เตปเดกเต GitLab เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต pantheon-gitlab-blog-demo. เดชเดฆเตเดงเดคเดฟเดฏเตเดŸเต† เดชเต‡เดฐเต เด…เดฆเตเดตเดฟเดคเต€เดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เด‡เดตเดฟเดŸเต† เดžเด™เตเด™เตพ เด’เดฐเต WordPress เดธเตˆเดฑเตเดฑเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต Drupal เดŽเดŸเตเด•เตเด•เดพเด‚, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเดพเดฑเตเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เดžเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ Git เด•เดฎเดพเตปเดกเต เดฒเตˆเตปเดจเดฟเด™เตเด™เตพเด•เตเด•เต เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚ GUI, เดจเดฟเดจเด•เตเด•เต เดตเต‡เดฃเดฎเต†เด™เตเด•เดฟเตฝ.

เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•

เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต GitLab เดชเดฆเตเดงเดคเดฟ (เดžเด™เตเด™เตพ เดชเดฟเดจเตเดจเต€เดŸเต เด‡เดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด‚).

เด‡เดชเตเดชเต‹เตพ Pantheon-เตฝ เด’เดฐเต WordPress เดธเตˆเดฑเตเดฑเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเต. เดคเตเดŸเตผเดจเตเดจเต เดธเตˆเดฑเตเดฑเดฟเดจเตเดฑเต† เดกเดพเดทเตเดฌเต‹เตผเดกเดฟเดจเดพเดฏเดฟ เดตเต‡เตผเดกเตเดชเตเดฐเดธเตเดธเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•.

เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เตˆเด•เตพ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเดพเดฑเตเดฑเดพเตป เดšเตŠเดฑเดฟเดšเตเดšเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเตเดฒเด—เดฟเดจเตเด•เตพ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•, เด•เตเดทเดฎเดฏเต‹เดŸเต†เดฏเดฟเดฐเดฟเด•เตเด•เตเด•. เดธเตˆเดฑเตเดฑเต เด‡เดคเตเดตเดฐเต† GitLab-เดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เด•เต‚เดŸเดพเดคเต† เดŽเดฒเตเดฒเดพ เด•เต‹เดกเต เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเด‚ GitLab-เดฒเต‚เดŸเต† เด•เดŸเดจเตเดจเตเดชเต‹เด•เดพเตป เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต.

WordPress เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเตเด•เดดเดฟเดžเตเดžเดพเตฝ, Pantheon เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เดชเต‹เดฏเดฟ เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเต เดฎเต‹เดกเต Git-เดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด•.

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

GitLab-เดฒเต† เดชเตเดฐเดพเดฐเด‚เดญ เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดค

เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ Pantheon เดธเตˆเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต GitLab-เดฒเต‡เด•เตเด•เต เดชเตเดฐเดพเดฐเด‚เดญ WordPress เด•เต‹เดกเต เด•เตˆเดฎเดพเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดฎเดพเดฏเดฟ Pantheon เดธเตˆเดฑเตเดฑเดฟเดจเตเดฑเต† Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ เด•เต‹เดกเต เด•เตเดฒเต‹เตบ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เด…เดคเต GitLab เดถเต‡เด–เดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต.

เด‡เดคเต เดŽเดณเตเดชเตเดชเดตเตเด‚ เดธเตเดฐเด•เตเดทเดฟเดคเดตเตเดฎเดพเด•เตเด•เดพเตป, เดชเดจเตเดคเต€เดฏเต‹เดฃเดฟเดฒเต‡เด•เตเด•เต SSH เด•เต€ เดšเต‡เตผเด•เตเด•เตเด• เด“เดฐเต‹ เดคเดตเดฃเดฏเตเด‚ เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดœเดฟเดฑเตเดฑเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เด•เตเดฒเต‹เตบ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดžเด™เตเด™เตพ เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดจเตฝเด•เดฟเดฒเตเดฒ. เด…เดคเต‡ เดธเดฎเดฏเด‚ เด‡เดคเดฟเดจเด•เด‚ GitLab-เดฒเต‡เด•เตเด•เต SSH เด•เต€ เดšเต‡เตผเด•เตเด•เตเด•.

เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดธเตˆเดฑเตเดฑเต เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเดฟเดฒเต† เด•เตเดฒเต‹เตบ เดตเดฟเดคเตเดคเต เดœเดฟเดฑเตเดฑเต เดซเต€เตฝเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เดฎเดพเตปเดกเต เดชเด•เตผเดคเตเดคเดฟ เดžเด™เตเด™เตพ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดฎเดพเดฏเดฟ เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดธเตˆเดฑเตเดฑเต เด•เตเดฒเต‹เตบ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚
เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเดนเดพเดฏเด‚ เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดตเดพเดฏเดฟเด•เตเด•เตเด• Git for Pantheon เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต.

เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต เดฎเดพเดฑเดพเด‚ git remote originเดชเดจเตเดคเต€เดฏเต‹เดฃเดฟเดจเต เดชเด•เดฐเด‚ GitLab-เดฒเต‡เด•เตเด•เต เดšเต‚เดฃเตเดŸเดฟเด•เตเด•เดพเดฃเดฟเด•เตเด•เดพเตป. เด…เดคเต เดšเต†เดฏเตเดฏเดพเด‚ ะบะพะผะฐะฝะดะพะน git remote.

เดจเดฎเตเด•เตเด•เต GitLab เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเตเดŸเต† เดชเต‡เดœเดฟเดฒเต† เด•เตเดฒเต‹เตบ เดกเตเดฐเต‹เดชเตเดชเตเดกเต—เดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ URL เดชเด•เตผเดคเตเดคเดพเด‚. เดจเดฎเตเด•เตเด•เต SSH เด“เดชเตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เตเดฒเต‹เตบ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚, เด•เดพเดฐเดฃเด‚ เดžเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ SSH เด•เต€ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

เดธเตเดฅเดฟเดฐเดฎเดพเดฏเดฟ git remote เด•เต‹เดกเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเตเดŸเต† เด’เดฐเต เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดชเด•เตผเดชเตเดชเดฟเดจเดพเดฏเดฟ - origin. เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดฑเตเดฑเดพเดตเตเดจเตเดจเดคเดพเดฃเต git remote set-url origin [URL ั€ะตะฟะพะทะธั‚ะพั€ะธั GitLab], เดฌเตเดฐเดพเด•เตเด•เดฑเตเดฑเตเด•เตพเด•เตเด•เต เดชเด•เดฐเด‚ เดจเดฎเตเดฎเตพ เดฏเดฅเดพเตผเดคเตเดฅ URL เดจเตฝเด•เตเดจเตเดจเต.

เด’เดŸเตเดตเดฟเตฝ, เดžเด™เตเด™เตพ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต git push origin master --forcePantheon เดธเตˆเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต GitLab-เดฒเต‡เด•เตเด•เต WordPress เด•เต‹เดกเต เดชเตเดทเต เดšเต†เดฏเตเดฏเดพเตป.

--force เด“เดชเตเดทเตป เด’เดฐเต เดคเดตเดฃ เดฎเดพเดคเตเดฐเดฎเต‡ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเต‚. เดชเดฟเดจเตเดจเต† เดŸเต€เดฎเตเด•เดณเดพเดฏเดฟ git push GitLab-เตฝ เด…เดคเต เด‰เดฃเตเดŸเดพเด•เดฟเดฒเตเดฒ.

เด•เตเดฐเต†เดกเตปเดทเตเดฏเดฒเตเด•เดณเตเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•

Pantheon, GitLab เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดžเด™เตเด™เตพ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดฎเดพเดฏเดฟ เด’เดฐเต SSH เด•เต€ เดšเต‡เตผเดคเตเดคเดคเต เดŽเด™เตเด™เดจเต†เดฏเต†เดจเตเดจเต เด“เตผเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹? GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดพเตป SSH เดŸเต‹เด•เตเด•เตบ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.

GitLab-เดจเต เดฎเดฟเด•เดšเตเดš เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เด‰เดฃเตเดŸเต. เดจเดฎเตเด•เตเด•เต เด•เดพเดฃเดพเด‚ GitLab CI/CD เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต SSH เด•เต€เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเดฟเดฒเต† เดกเต‹เด•เตเด•เตผ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ SSH เด•เต€เด•เดณเดฟเดฒเต† เดตเดฟเดญเดพเด—เด‚ เด•เดพเดฃเตเด•.

เดžเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ เด†เดฆเตเดฏเดคเตเดคเต† เดฐเดฃเตเดŸเต เด˜เดŸเตเดŸเด™เตเด™เตพ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเด‚: ssh-keygen เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดฎเดพเดฏเดฟ เด’เดฐเต เดชเตเดคเดฟเดฏ SSH เด•เต€ เดœเต‹เดกเดฟ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดพเดฏเดฟ เดธเตเดตเด•เดพเดฐเตเดฏ เด•เต€ เดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•.

เด…เดชเตเดชเต‹เตพ เดžเด™เตเด™เตพ เดธเต†เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด‚ 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, เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด…เดคเดฟเตฝ เดฎเดฑเตเดฑเต†เดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เด‡เดชเตเดชเต‹เตพ เด…เดžเตเดšเดพเดฎเดคเตเดคเต† เด˜เดŸเตเดŸเด‚ เดšเต†เดฏเตเดฏเตเด• เดฌเดฟเตฝเดกเต เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เด•เตเดธเดธเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เด†เดฆเตเดฏ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดชเตŠเดคเต เด•เต€ เดšเต‡เตผเด•เตเด•เตเด•.

เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, GitLab-เตฝ เดจเดฟเดจเตเดจเต Pantheon เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดชเตเดฐเดฎเดพเดฃเดคเตเดคเดฟเดฒเต† เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดชเดพเดฒเดฟเด•เตเด•เตเด• Pantheon-เดฒเต‡เด•เตเด•เต เด’เดฐเต SSH เด•เต€ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต เดˆ เด˜เดŸเตเดŸเด‚ เดšเต†เดฏเตเดฏเตเด•.

เด“เตผเด•เตเด•เตเด•: เด…เดŸเดšเตเดš SSH GitLab-เดฒเดพเดฃเต, เดคเตเดฑเดจเตเดจเดคเต Pantheon-เดฒเดพเดฃเต.

เดจเดฎเตเด•เตเด•เต เด•เตเดฑเดšเตเดšเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด•เต‚เดŸเดฟ เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเด‚. เด†เดฆเตเดฏเดคเตเดคเต‡เดคเดฟเดจเต† PANTHEON_SITE เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฎเต†เดทเต€เดจเดฟเดฒเต† เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดธเตˆเดฑเตเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเดพเดฃเต เด…เดคเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚.

เดฎเต†เดทเต€เดจเดฟเดฒเต† เดชเต‡เดฐเต เด•เตเดฒเต‹เดฃเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเด‚ Git เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดŸเตเดŸเดฟเด•เดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดฎเดพเดฏเดฟ เดธเตˆเดฑเตเดฑเต เด•เตเดฒเต‹เตบ เดšเต†เดฏเตโ€Œเดคเต, เด…เดคเดฟเดจเดพเตฝ เด‡เดคเต เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดถเต‡เด–เดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดจเดพเดฎเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚.

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด• PANTHEON_GIT_URL. เดžเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš Pantheon เดธเตˆเดฑเตเดฑเดฟเดจเดพเดฏเตเดณเตเดณ Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเตเดŸเต† URL เด‡เดคเดพเดฃเต.

เดžเด™เตเด™เตพ เดŽเดธเตเดŽเดธเตเดŽเดšเตเดšเต เดถเต‡เด–เดฐเดคเตเดคเดฟเดจเตเดฑเต† URL เดฎเดพเดคเตเดฐเดฎเต‡ เดจเตฝเด•เต‚ git clone เด…เดตเดธเดพเดจเด‚ เดฎเต†เดทเต€เดจเดฟเดฒเต† เดธเตˆเดฑเตเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเตเด‚.

เดซเตเดฏเต‚. เด…เดคเต เด•เดดเดฟเดžเตเดžเต, เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต เดจเดฎเตเดฎเตเดŸเต† เดซเดฏเตฝ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดพเด‚ .gitlab-ci.yml.

เด’เดฐเต เดตเดฟเดจเตเดฏเดพเดธ เดŸเดพเดธเตเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•

GitLab CI เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเตฝ เดžเด™เตเด™เตพ เดšเต†เดฏเตเดคเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต. เดŽเดจเตเดจเดพเตฝ เด‡เดคเตเดคเดตเดฃ, เดจเดฎเตเด•เตเด•เต เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† Git เดฑเดฟเดฎเต‹เดŸเตเดŸเต เด‰เดฑเดตเดฟเดŸเดฎเดพเดฏเดฟ Pantheon เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดšเต‡เตผเด•เตเด•เดพเด‚, เดคเตเดŸเตผเดจเตเดจเต GitLab-เตฝ เดจเดฟเดจเตเดจเต Pantheon-เดฒเต‡เด•เตเด•เต เด•เต‹เดกเต เดชเตเดทเต เดšเต†เดฏเตเดฏเดพเด‚.

เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด‚ เดธเตเดฑเตเดฑเต‡เดœเต deploy ะธ เดšเตเดฎเดคเดฒ deploy:dev, เด•เดพเดฐเดฃเด‚ เดžเด™เตเด™เตพ เดชเดจเตเดคเต€เดฏเต‹เดฃเดฟเดฒเต† เดตเดฟเด•เดธเดจ เด…เดจเตเดคเดฐเต€เด•เตเดทเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเด‚. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดซเดฏเตฝ .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 เดชเดจเตเดคเต€เดฏเต‹เดจเดฟเตฝ. เดจเดฎเตเด•เตเด•เต เด’เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚.

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

เดชเดพเดจเตเดคเดฟเดฏเต‹เดฃเดฟเดฒเต‡เด•เตเด•เต เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดถเดพเด–เด•เตพ เดธเดฎเตผเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

เด‡เดตเดฟเดŸเต† เดžเด™เตเด™เตพ เดŽเดจเตเดฑเต† เดชเตเดฐเดฟเดฏเดชเตเดชเต†เดŸเตเดŸ เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดซเต€เดšเตเดšเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ - เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเตเด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเตเดฐเด•เดพเดฐเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต Git เดถเดพเด–เด•เตพเด•เตเด•เดพเดฏเดฟ เด•เต‚เดŸเตเดคเตฝ เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตโ€Œเดธเดธเต เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เดˆ เดญเดพเด—เด‚ เด’เดดเดฟเดตเดพเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต. เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เด•เตโ€Œเดธเดธเต เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, GitLab เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต Pantheon-เตฝ เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เตพ เดธเตเดตเดฏเดฎเต‡เดต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเด•เดŸเดจเด‚ เด—เต—เดฐเดตเดฎเดพเดฏเดฟ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเดพเด•เตเด‚.

เด†เดฆเตเดฏเด‚, เดจเดฎเตเด•เตเด•เต เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดฎเดพเดฏเดฟ เด’เดฐเต เดชเตเดคเดฟเดฏ Git เดฌเตเดฐเดพเดžเตเดšเต เด‰เดฃเตเดŸเดพเด•เตเด•เดพเด‚ git checkout -b multidev-support. เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเดพเดฑเตเดฑเดพเด‚ .gitlab-ci.yml.

เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดจเดพเดฎเดคเตเดคเดฟเตฝ เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดฎเตเดชเตผ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด†เดฆเตเดฏเดคเตเดคเต† เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจ mr-1, เดฐเดฃเตเดŸเดพเดฎเดคเต - mr-2 เดคเตเดŸเด™เตเด™เดฟเดฏเดต.

เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฎเดพเดฑเดฟเด•เตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ เดจเดฎเตเด•เตเด•เต เดชเดจเตเดคเดฟเดฏเต‹เตบ เดถเดพเด–เด•เดณเตเดŸเต† เดชเต‡เดฐเตเด•เตพ เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. 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, เดถเดพเด– เดฎเดพเดคเตเดฐเดฎเต‡ เดชเดจเตเดคเดฟเดฏเดฃเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเดจเตเดจเตเดณเตเดณเต‚, เด…เดฒเตเดฒ 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 เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

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

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

เดจเดฎเตเด•เตเด•เต Git เดฌเตเดฐเดพเดžเตเดšเต เดตเดฟเดญเดพเด—เด‚ เดจเต‹เด•เตเด•เดพเด‚.

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดžเด™เตเด™เดณเตเดŸเต† เดถเดพเด– mr-1 เดชเดจเตเดคเต€เดฏเต‹เดฃเดฟเตฝ เดŽเดคเตเดคเดฟเดšเตเดšเต. เด’เดฐเต เดถเดพเด–เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด• mr-1.

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

เดžเด™เตเด™เตพ เด’เดฐเต เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต, เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต GitLab-เดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เดชเต‹เดฏเดฟ เดตเดฟเดญเดพเด—เด‚ เดจเต‹เด•เตเด•เดพเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ > เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ. เดŽเดจเตเดจเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดŽเตปเดŸเตเดฐเดฟเด•เตพ เดžเด™เตเด™เตพ เด•เดพเดฃเตเด‚ dev ะธ mr-1.

เดžเด™เตเด™เตพ เด’เดฐเต เดŽเตปเดŸเตเดฐเดฟ เดšเต‡เตผเดคเตเดคเดคเดฟเดจเดพเดฒเดพเดฃเดฟเดคเต environment เดชเต‡เดฐเดฟเดจเตŠเดชเตเดชเด‚ name ะธ url CI/CD เดŸเดพเดธเตเด•เตเด•เตเด•เดณเดฟเดฒเต‡เด•เตเด•เต. เดจเดฎเตเดฎเตพ เด“เดชเตเดชเตบ เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดเด•เตเด•เดฃเดฟเตฝ เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดคเดพเตฝ, เดจเดฎเตเดฎเตพ เดชเดพเดจเตเดคเดฟเดฏเต‹เดฃเดฟเดฒเต† เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเดฟเดจเตเดฑเต† URL-เดฒเต‡เด•เตเด•เต เดจเดพเดตเดฟเด—เต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด‚.

เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเต เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•

เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดตเดฟเดŸเต† เดจเดฟเตผเดคเตเดคเดฟ เด“เดฐเต‹ เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตโ€Œเด•เตเด•เตเด‚ เด’เดฐเต เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเตป เด“เตผเดฎเตเดฎเดฟเด•เตเด•เตเด•, เดŽเดจเตเดจเดพเตฝ เดˆ เดชเตเดฐเด•เตเดฐเดฟเดฏ เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเด•เตเด•เดพเด‚.

เดชเดพเดจเตเดคเดฟเดฏเต‹เดฃเดฟเดจเต เด’เดฐเต เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดŸเต‚เตพ เด‰เดฃเตเดŸเต เดŸเต†เตผเดฎเดฟเดจเดธเตเด…เดตเดฟเดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเตฝ เดธเตเดตเดฏเดฎเต‡เดต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดŸเต†เตผเดฎเดฟเดจเดธเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต - เด‡เดคเดฟเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต เดœเดฟเดฑเตเดฑเตโ€Œเดฒเดพเดฌเต เดธเดฟ.เด.

เด‡เดคเต เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดชเตเดคเดฟเดฏ เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดชเตเดคเดฟเดฏ เดฌเตเดฐเดพเดžเตเดšเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด• git checkout -b auto-multidev-creation.

GitLab CI/CD เดŸเดพเดธเตโ€Œเด•เตเด•เตเด•เดณเดฟเตฝ เดŸเต†เตผเดฎเดฟเดจเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดŸเต†เตผเดฎเดฟเดจเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด†เดงเดฟเด•เดพเดฐเดฟเด•เดฎเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดฎเต†เดทเต€เตป เดŸเต‹เด•เตเด•เดฃเตเด‚ เดŸเต†เตผเดฎเดฟเดจเดธเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดšเดฟเดคเตเดฐเดตเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เด’เดฐเต เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดฎเต†เดทเต€เตป เดŸเต‹เด•เตเด•เตบ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏ เดธเตเดฅเดฒเดคเตเดคเต เดธเด‚เดฐเด•เตเดทเดฟเดšเตเดšเต GitLab-เตฝ เดชเต‡เดฐเดฟเดจเตŠเดชเตเดชเด‚ เด’เดฐเต เด†เด—เต‹เดณ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดพเดฏเดฟ เดšเต‡เตผเด•เตเด•เตเด• PANTHEON_MACHINE_TOKEN.

GitLab เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดŽเด™เตเด™เดจเต† เดšเต‡เตผเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดฎเดฑเดจเตเดจเตเดชเต‹เดฏเต†เด™เตเด•เดฟเตฝ, เดžเด™เตเด™เตพ เดจเดฟเตผเดตเดšเดฟเดšเตเดš เดธเตเดฅเดฒเดคเตเดคเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด• PANTHEON_SITE.

เดŸเต†เตผเดฎเดฟเดจเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดกเต‹เด•เตเด•เตผเดซเดฏเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•

เดจเดฟเด™เตเด™เตพ เดกเต‹เด•เตเด•เตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดซเดฏเดฒเตเด•เตพ เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ DockerfileเดŽเดจเตเดฑเต† เดšเดฟเดคเตเดฐเด‚ เดŽเดŸเตเด•เตเด•เตเด• registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest เด•เต‚เดŸเดพเดคเต† เดˆ เดญเดพเด—เด‚ เด’เดดเดฟเดตเดพเด•เตเด•เตเด•.

GitLab-เดจเต เด’เดฐเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดฐเดœเดฟเดธเตโ€ŒเดŸเตเดฐเดฟ เด‰เดฃเตเดŸเต, เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดกเต‹เด•เตเด•เตผเดซเดฏเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดจเตเด‚ เดนเต‹เดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดŸเดคเตเดคเต. เดชเดพเดจเตเดคเดฟเดฏเต‹เดฃเดฟเดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดจเดฎเตเด•เตเด•เต เดŸเต†เตผเดฎเดฟเดจเดธเดฟเดจเตŠเดชเตเดชเด‚ เด’เดฐเต เดกเต‹เด•เตเด•เตผเดซเดฏเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚.

เดŸเต†เตผเดฎเดฟเดจเดธเต เด’เดฐเต PHP เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดŸเต‚เดณเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เดจเดฎเตเด•เตเด•เต PHP เด‡เดฎเต‡เดœเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚. เดžเดพเตป เด•เดฎเตเดชเต‹เดธเตผ เดตเดดเดฟ เดŸเต†เตผเดฎเดฟเดจเดธเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดžเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ เด”เดฆเตเดฏเต‹เด—เดฟเด• เดกเต‹เด•เตเด•เตผ เด•เดฎเตเดชเต‹เดธเตผ เดšเดฟเดคเตเดฐเด‚. เดžเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต Dockerfile เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด‰เดณเตเดณเดŸเด•เตเด•เดฎเตเดณเตเดณ เดฒเต‹เด•เตเด•เตฝ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ:

# 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-เดฒเต‡เด•เตเด•เต เดธเดฎเตผเดชเตเดชเดฟเด•เตเด•เตเด•.

เดตเดฟเดญเดพเด—เด‚ เดคเตเดฑเด•เตเด•เตเดจเตเดจเต เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ 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

เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด’เดฐเต เดธเตเดตเด•เดพเดฐเตเดฏ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเดพเดฃเต Pantheon-เดฒเต‡เด•เตเด•เต เดตเต†เดฌเต เด†เด•เตเดธเดธเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เดžเด™เตเด™เดณเตเดŸเต† เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดฒเต‹เดœเดฟเด•เตเด•เดฟเดจเต เด’เดฐเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด‰เดฃเตเดŸเต. เดจเดฎเตเด•เตเด•เต เด‡เดชเตเดชเต‹เตพ เดตเดฟเดญเดพเด—เด‚ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเด‚ 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 เดŸเดพเดธเตเด•เต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเดจเตเดจเดคเตเดตเดฐเต† เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด•เตเดทเดฎเดฏเต‹เดŸเต†เดฏเดฟเดฐเดฟเด•เตเด•เตเด•: เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เตเดฑเดšเตเดšเต เดฎเดฟเดจเดฟเดฑเตเดฑเต เดŽเดŸเตเดคเตเดคเต‡เด•เตเด•เดพเด‚.

เด…เดชเตเดชเต‹เตพ เดจเดฎเตเดฎเตพ เดชเดจเตเดคเดฟเดฏเดฃเดฟเดฒเต† เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดฒเดฟเดธเตเดฑเตเดฑเต เดจเต‹เด•เตเด•เดพเตป เดชเต‹เด•เตเดจเตเดจเต. เด“ เด…เดคเตเดญเตเดคเด‚! เดฎเตพเดŸเตเดŸเดฟเดฆเต‡เดตเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ mr-2 เด‡เดคเดฟเดจเด•เด‚ เด‡เดตเดฟเดŸเต†เดฏเตเดฃเตเดŸเต.

GitLab, Pantheon เดŽเดจเตเดจเดฟเดต เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚, Drupal, WordPress เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เด•เตพ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเด‚

เดคเต€เดฐเตเดฎเดพเดจเด‚

เดžเด™เตเด™เตพ เดฒเดฏเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดคเตเดฑเด•เตเด•เดพเดจเตเด‚ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เตพ เดธเตเดตเดฏเดฎเต‡เดต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดคเตเดŸเด™เตเด™เดฟเดฏเดชเตเดชเต‹เตพ เดŽเดจเตเดฑเต† เดŸเต€เดฎเดฟเดจเต เด•เต‚เดŸเตเดคเตฝ เดฐเดธเด•เดฐเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต.

GitLab, Pantheon เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดถเด•เตเดคเดฎเดพเดฏ เดŸเต‚เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต GitLab-เดฒเต‡เด•เตเด•เต Pantheon-เดฒเต‡เด•เตเด•เต เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เดžเด™เตเด™เตพ GitLab CI/CD เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดžเด™เตเด™เดณเตเดŸเต† เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เดฏเตเด•เตเด•เต เดตเดณเดฐเดพเตป เด‡เดŸเดฎเตเดฃเตเดŸเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เตเดฑเดšเตเดšเต เด†เดถเดฏเด™เตเด™เตพ เด‡เดคเดพ:

GitLab, Pantheon, เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป เดŽเดจเตเดจเดฟเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเดพเดฃเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดŽเดดเตเดคเตเด•.

PS เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดฑเดฟเดฏเดพเดฎเต‹ เดŸเต†เตผเดฎเดฟเดจเดธเต, เดชเดจเตเดคเต€เดฏเต‹เดฃเดฟเดจเตเดฑเต† เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดŸเต‚เตพ, เดชเตเดฒเด—เดฟเดจเตเด•เตพ เดตเดดเดฟ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚?

เดชเดพเดจเตเดคเดฟเดฏเต‹เดฃเดฟเดฒเต† เดžเด™เตเด™เตพ เดžเด™เตเด™เดณเตเดŸเต† เดชเดคเดฟเดชเตเดชเต 2-เตฝ เด’เดฐเต เดจเดฒเตเดฒ เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดคเต เดŸเต†เตผเดฎเดฟเดจเดธเต เดฌเดฟเตฝเดกเต เดŸเต‚เดณเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เดชเตเดฒเด—เดฟเตป GitLab เดชเดฟเดจเตเดคเตเดฃเดฏเต‹เดŸเต†. เด“เดฐเต‹ เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเดฟเดจเตเดฑเต†เดฏเตเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เตเดดเดชเตเดชเดฎเตเดฃเตเดŸเดพเด•เตเด•เดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดˆ เดชเตเดฒเด—เดฟเตป เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเต v2 เดฌเต€เดฑเตเดฑ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเด•. เดŸเต†เตผเดฎเดฟเดจเดธเต เดŸเต€เดฎเดฟเดจเดพเดฏเดฟ build:project:create เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดŸเต‹เด•เตเด•เดฃเตเด‚ GitLab เดŸเต‹เด•เตเด•เดฃเตเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเต‚. เด‡เดคเต เด•เดฎเตเดชเต‹เดธเดฑเตเด‚ เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเดกเต เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เตเด‚ เด‰เดณเตเดณ เดธเดพเดฎเตเดชเดฟเตพ เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเตเดคเดฟเดฏ เดชเดพเดจเตเดคเดฟเดฏเต‹เตบ เดธเตˆเดฑเตเดฑเดพเดฏ GitLab-เตฝ เด’เดฐเต เดชเตเดคเดฟเดฏ เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเด‚ SSH เด•เต€เด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดตเดฏเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต

เด†เตปเดกเตเดฐเต‚ เดŸเต†เดฏเตโ€Œเดฒเตผ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เดพเดฏเดฟ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต เดญเต‡เดพเดฆเดฟเดธเตเดคเดตเดพเดฏเดฟเตฝ.

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

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