GitLab CI/CD เดเดชเดฏเตเดเดฟเดเตเดเต เดตเตเตผเดกเตเดชเตเดฐเดธเตเดธเต เดตเดฟเดจเตเดฏเดพเดธเดเตเดเตพ เดเดเตเดเดจเต เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเดฎเตเดจเตเดจเต Pantheon-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเตเดตเดฒเดชเตเดชเตผ เดเตเดณเตเดเดณเตเดเต เดธเตเดฐเดทเตเดเดพเดตเดพเดฏ เดเดเตเดเดณเตเดเต เด
เดคเดฟเดฅเดฟ เดตเดฟเดถเดฆเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต.
ะ
เดเดฐเตเดฑเตเดฑ เดธเตเดฑเตเดฑเตเดเดฟเดเดเต เดธเตเตผเดตเดฑเตเดฎเดพเดฏเดฟ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเตเดจเตเดจเดคเต เดเดพเตป เดชเดฒเดชเตเดชเตเดดเตเด เดเดพเดฃเดพเดฑเตเดฃเตเดเต.
เดตเดณเดฐเต เดฐเดธเดเดฐเดฎเดพเดฃเต - เดเดฐเต เดเดจเตเดฑเตผเดฎเตเดกเดฟเดฏเดฑเตเดฑเต เดธเตเตผเดตเตผ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเตเดฒเดฏเดจเตเดฑเตเดเตพเดเตเดเต เดเดฐเต URL เด เดฏเดฏเตโเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดณเตเดณ เดจเดฟเดเตเดเดณเตเดเต เดเดดเดคเตเดคเดฟเดจเดพเดฏเดฟ เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต: "เดเดตเดฟเดเต เดจเตเดเตเดเต, เดชเดเตเดทเต เดเดคเตเดตเดฐเต เดเดตเดฟเดเต เดจเตเดเตเดเดฐเตเดคเต."
เดเดจเตเดจเดพเตฝ เดชเดพเดจเตเดคเดฟเดฏเตเดฃเดฟเดจเต เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเต เดคเตเดเตผเดเตเดเดฏเดพเดฏ เดเดเตเดเดฐเดฃเดคเตเดคเดฟเดจเตเด เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเด (CI/CD) เดเดชเดเดฐเดฃเดเตเดเตพ เดเดฒเตเดฒ. เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเต เดเดชเดเดฐเดฃเดเตเดเดณเตเด เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ เดเดฐเต เดซเตเดฒเตเดเตเดธเดฟเดฌเดฟเตพ เดชเตเดฒเดพเดฑเตเดฑเตเดซเตเดฎเดพเดฃเต เดเดคเต.
เดเตเดฎเตเดเตพ เดกเตเดตเดฒเดชเตโเดฎเตเดจเตเดฑเดฟเดจเตเด เดฎเดฑเตเดฑเตเดณเตเดณเดต เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเดฟเดจเตเด เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเด เดเดฟเดฒ เดเดชเดเดฐเดฃเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเตเด เดเดพเตป เดถเตเดฐเดฆเตเดงเดฟเดเตเดเต.
เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเตเด เดธเดฟเด/เดธเดฟเดกเดฟเดเตเดเตเด เดตเตเดฏเดคเตเดฏเดธเตเดค เดเตเดณเตเดเตพ เดเดฃเตเดเต. เดเตเดกเต เดเดกเดฟเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเดจเตเด เดชเตเดฐเดถเตโเดจเดเตเดเตพ เดเดฃเตเดเตเดชเดฟเดเดฟเดเตเดเดพเดจเตเด เดจเดฟเดเตเดเตพ เดเตเดฑเตเดฑเดฟเดเตเดเดฑเดเตเดเตเดเดฏเตเด เดเตเดณเตเดเตพเดเตเดเดฟเดเดฏเดฟเตฝ เดฎเดพเดฑเตเดเดฏเตเด เดตเตเดฃเด.
เดเตบ
เดเดจเดฟเดเตเดเต เดเดเตเดเตเดฎเตเดทเตป เดเดทเตเดเดฎเดพเดฃเต, เด เดคเดฟเดจเดพเตฝ เดชเดพเดจเตเดคเดฟเดฏเตเดฃเดฟเดจเต GitLab-เดฒเตเดเตเดเต เดเดเตเดเดจเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเดพเดฎเตเดจเตเดจเต เดเดพเตป เดชเด เดฟเดเตเดเต, เด เดคเตเดตเดดเดฟ GitLab-เดฒเต เดฎเดพเดธเตเดฑเตเดฑเตผ เดฌเตเดฐเดพเดเตเดเดฟเดฒเตเดเตเดเตเดณเตเดณ เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดคเดเตพ Pantheon-เดฒเต เดฎเดพเดธเตเดฑเตเดฑเตผ เดกเตเดตเดฒเดชเตโเดฎเตเดจเตเดฑเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเดฒเตเดเตเดเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต. GitLab เดฒเดฏเดจ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพเดเตเดเต เดชเดพเดจเตเดคเดฟเดฏเตเดฃเดฟเดฒเต เดฎเตพเดเตเดเดฟเดฆเตเดตเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดเดณเดฟเดฒเตเดเตเดเต เดเตเดกเต เดธเตเดทเตเดเดฟเดเตเดเดพเดจเตเด เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเดจเตเด เดเดดเดฟเดฏเตเด.
เด เดเตเดกเดฟเตฝ, GitLab-เดจเตเด Pantheon-เดจเตเด เดเดเดฏเดฟเตฝ เดเดฐเต เดเดฃเดเตเดทเตป เดเดเตเดเดจเต เดธเดเตเดเตเดเดฐเดฟเดเตเดเดพเดฎเตเดจเตเดจเตเด เดจเดฟเดเตเดเดณเตเดเต WordPress, Drupal เดตเตผเดเตเดเตเดซเตเดฒเต เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเต เดเตเดฏเตเดฏเดพเดฎเตเดจเตเดจเตเด เดเดพเตป เดเดพเดฃเดฟเดเตเดเตเดคเดฐเดพเด.
เดคเตเตผเดเตเดเดฏเดพเดฏเตเด เด
เดคเต เดธเดพเดงเตเดฏเดฎเดพเดฃเต,
เดเดฎเตเดเด
เด เดชเตเดธเตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ, เดชเดพเดจเตเดคเดฟเดฏเตเตบ เดเดฐเต เดธเตเดฑเตเดฑเดฟเดจเตเดฏเตเด เดฎเตเดจเตเดจเต เดเดเดเดเตเดเดณเดพเดฏเดฟ เดตเดฟเดญเดเดฟเดเตเดเตเดจเตเดจเต: เดเตเดกเต, เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต, เดซเดฏเดฒเตเดเตพ.
เดเตเดกเดฟเตฝ CMS เดซเดฏเดฒเตเดเดณเดพเดฏ เดเตเตผ, เดชเตเดฒเดเดฟเดจเตเดเตพ, เดตเตเตผเดกเตเดชเตเดฐเดธเตเดธเต เดคเตเดฎเตเดเตพ เดเดจเตเดจเดฟเดต เดเตพเดชเตเดชเตเดเตเดจเตเดจเต. เด เดซเดฏเดฒเตเดเตพ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเตเดจเตเดจเดคเต
เดชเดพเดจเตเดคเดฟเดฏเตเดฃเดฟเดฒเต เดซเดฏเดฒเตเดเดณเต เดฎเตเดกเดฟเดฏ เดซเดฏเดฒเตเดเตพ เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต, เด
เดคเดพเดฏเดคเต เดธเตเดฑเตเดฑเดฟเดจเดพเดฏเตเดณเตเดณ เดเดฟเดคเตเดฐเดเตเดเตพ. เด
เดต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ เด
เดชเตโเดฒเตเดกเต เดเตเดฏเตเดฏเตเดเดฏเตเด Git เด
เดตเดเดฃเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เด เดจเตเดฎเดพเดจเดเตเดเตพ
My Pantheon เดเตปเดกเต GitLab เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต pantheon-gitlab-blog-demo
. เดชเดฆเตเดงเดคเดฟเดฏเตเดเต เดชเตเดฐเต เด
เดฆเตเดตเดฟเดคเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด. เดเดตเดฟเดเต เดเดเตเดเตพ เดเดฐเต WordPress เดธเตเดฑเตเดฑเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเด. เดจเดฟเดเตเดเตพเดเตเดเต Drupal เดเดเตเดเตเดเดพเด, เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดฎเดพเดฑเตเดฑเตเดฃเตเดเดคเตเดฃเตเดเต.
เดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเด
เดเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดธเตเดทเตเดเดฟเดเตเดเตเด
เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต
เดเดชเตเดชเตเตพ
เดจเดฟเดเตเดเดณเตเดเต เดเตเดเตพ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดฎเดพเดฑเตเดฑเดพเตป เดเตเดฑเดฟเดเตเดเดฟเดฒเดพเดฃเตเดเตเดเดฟเตฝ, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเตเดฒเดเดฟเดจเตเดเตพ เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเตผเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด, เดเตเดทเดฎเดฏเตเดเตเดฏเดฟเดฐเดฟเดเตเดเตเด. เดธเตเดฑเตเดฑเต เดเดคเตเดตเดฐเต GitLab-เดฒเตเดเตเดเต เดเดฃเดเตเดฑเตเดฑเตเดเตเดฏเตโเดคเดฟเดเตเดเดฟเดฒเตเดฒ, เดเตเดเดพเดคเต เดเดฒเตเดฒเดพ เดเตเดกเต เดฎเดพเดฑเตเดฑเดเตเดเดณเตเด GitLab-เดฒเตเดเต เดเดเดจเตเดจเตเดชเตเดเดพเตป เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต.
WordPress เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดคเตเดเดดเดฟเดเตเดเดพเตฝ, Pantheon เดกเดพเดทเตโเดฌเตเตผเดกเดฟเดฒเตเดเตเดเต เดคเดฟเดฐเดฟเดเต เดชเตเดฏเดฟ เดกเตเดตเดฒเดชเตโเดฎเตเดจเตเดฑเต เดฎเตเดกเต Git-เดฒเตเดเตเดเต เดฎเดพเดฑเตเดฑเตเด.
GitLab-เดฒเต เดชเตเดฐเดพเดฐเดเดญ เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดค
เดเดชเตเดชเตเตพ เดจเดฟเดเตเดเตพ Pantheon เดธเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต GitLab-เดฒเตเดเตเดเต เดชเตเดฐเดพเดฐเดเดญ WordPress เดเตเดกเต เดเตเดฎเดพเดฑเตเดฃเตเดเดคเตเดฃเตเดเต. เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดชเตเดฐเดพเดฆเตเดถเดฟเดเดฎเดพเดฏเดฟ Pantheon เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต Git เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดเตเดเตพ เดเตเดกเต เดเตเดฒเตเตบ เดเตเดฏเตเดฏเตเดจเตเดจเต, เดคเตเดเตผเดจเตเดจเต เด เดคเต GitLab เดถเตเดเดฐเดคเตเดคเดฟเดฒเตเดเตเดเต เด เดฏเดฏเตเดเตเดเตเดจเตเดจเต.
เดเดคเต เดเดณเตเดชเตเดชเดตเตเด เดธเตเดฐเดเตเดทเดฟเดคเดตเตเดฎเดพเดเตเดเดพเตป,
เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดธเตเดฑเตเดฑเต เดกเดพเดทเตโเดฌเตเตผเดกเดฟเดฒเต เดเตเดฒเตเตบ เดตเดฟเดคเตเดคเต เดเดฟเดฑเตเดฑเต เดซเตเตฝเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฎเดพเตปเดกเต เดชเดเตผเดคเตเดคเดฟ เดเดเตเดเตพ เดชเตเดฐเดพเดฆเตเดถเดฟเดเดฎเดพเดฏเดฟ เดชเดพเดจเตเดคเดฟเดฏเตเตบ เดธเตเดฑเตเดฑเต เดเตเดฒเตเตบ เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดจเดฟเดเตเดเตพเดเตเดเต เดธเดนเดพเดฏเด เดเดตเดถเตเดฏเดฎเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดกเตเดเตเดฏเตเดฎเตเดจเตเดฑเตเดทเตป เดตเดพเดฏเดฟเดเตเดเตเด
เดเดจเดฟ เดจเดฎเตเดเตเดเต เดฎเดพเดฑเดพเด git remote origin
เดชเดจเตเดคเตเดฏเตเดฃเดฟเดจเต เดชเดเดฐเด GitLab-เดฒเตเดเตเดเต เดเตเดฃเตเดเดฟเดเตเดเดพเดฃเดฟเดเตเดเดพเตป. เด
เดคเต เดเตเดฏเตเดฏเดพเด ะบะพะผะฐะฝะดะพะน git remote
เดจเดฎเตเดเตเดเต GitLab เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดชเตเดฏเดฟ เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดตเดฟเดถเดฆเดพเดเดถเดเตเดเดณเตเดเต เดชเตเดเดฟเดฒเต เดเตเดฒเตเตบ เดกเตเดฐเตเดชเตเดชเตเดกเตเดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟ URL เดชเดเตผเดคเตเดคเดพเด. เดจเดฎเตเดเตเดเต SSH เดเดชเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเต เดเตเดฒเตเตบ เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเด, เดเดพเดฐเดฃเด เดเดเตเดเตพ เดเดคเดฟเดจเดเด SSH เดเต เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเต.
เดธเตเดฅเดฟเดฐเดฎเดพเดฏเดฟ git remote
เดเตเดกเต เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟเดฏเตเดเต เดเดฐเต เดชเตเดฐเดพเดฆเตเดถเดฟเด เดชเดเตผเดชเตเดชเดฟเดจเดพเดฏเดฟ - origin
. เดเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดฑเตเดฑเดพเดตเตเดจเตเดจเดคเดพเดฃเต git remote set-url origin [URL ัะตะฟะพะทะธัะพัะธั GitLab]
, เดฌเตเดฐเดพเดเตเดเดฑเตเดฑเตเดเตพเดเตเดเต เดชเดเดฐเด เดจเดฎเตเดฎเตพ เดฏเดฅเดพเตผเดคเตเดฅ URL เดจเตฝเดเตเดจเตเดจเต.
เดเดเตเดตเดฟเตฝ, เดเดเตเดเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต git push origin master --force
Pantheon เดธเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต GitLab-เดฒเตเดเตเดเต WordPress เดเตเดกเต เดชเตเดทเต เดเตเดฏเตเดฏเดพเตป.
--force เดเดชเตเดทเตป เดเดฐเต เดคเดตเดฃ เดฎเดพเดคเตเดฐเดฎเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเต. เดชเดฟเดจเตเดจเต เดเตเดฎเตเดเดณเดพเดฏเดฟ
git push
GitLab-เตฝ เด เดคเต เดเดฃเตเดเดพเดเดฟเดฒเตเดฒ.
เดเตเดฐเตเดกเตปเดทเตเดฏเดฒเตเดเดณเตเด เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเด เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเด
Pantheon, GitLab เดเดจเตเดจเดฟเดตเดฏเดฟเดฒเตเดเตเดเต เดฒเตเดเดฟเตป เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดเดเตเดเตพ เดชเตเดฐเดพเดฆเตเดถเดฟเดเดฎเดพเดฏเดฟ เดเดฐเต SSH เดเต เดเตเตผเดคเตเดคเดคเต เดเดเตเดเดจเตเดฏเตเดจเตเดจเต เดเตผเดเตเดเตเดจเตเดจเตเดฃเตเดเต? GitLab, Pantheon เดเดจเตเดจเดฟเดต เด เดเดเตเดเดฐเดฟเดเตเดเดพเตป SSH เดเตเดเตเดเตบ เดเดชเดฏเตเดเดฟเดเตเดเดพเด.
GitLab-เดจเต เดฎเดฟเดเดเตเด เดกเตเดเตเดฏเตเดฎเตเดจเตเดฑเตเดทเตป เดเดฃเตเดเต. เดจเดฎเตเดเตเดเต เดเดพเดฃเดพเด
เดเดเตเดเตพ เดเดชเตเดชเตเตพ เดเดฆเตเดฏเดคเตเดคเต เดฐเดฃเตเดเต เดเดเตเดเดเตเดเตพ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตเด: ssh-keygen เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเดพเดฆเตเดถเดฟเดเดฎเดพเดฏเดฟ เดเดฐเต เดชเตเดคเดฟเดฏ SSH เดเต เดเตเดกเดฟ เดธเตเดทเตโเดเดฟเดเตเดเตเดเดฏเตเด เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดเดฐเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดพเดฏเดฟ เดธเตเดตเดเดพเดฐเตเดฏ เดเต เดเตเตผเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.
เด
เดชเตเดชเตเตพ เดเดเตเดเตพ เดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด SSH_PRIVATE_KEY
เดเดเตเดเดจเต
เดฎเตเดจเตเดจเดพเดฎเดคเตเดคเตเดฏเตเด เดจเดพเดฒเดพเดฎเดคเตเดคเตเดฏเตเด เดเดเตเดเดเตเดเดณเดฟเตฝ, เดเดเตเดเตพ เดเดฐเต เดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเด .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 เดเดเตเดธเดธเต เดเตเดฏเตเดฏเดพเตป เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต. เดชเดพเดจเตเดคเดฟเดฏเตเตบ เดชเตเดฐเดฎเดพเดฃเดคเตเดคเดฟเดฒเต เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเตพ เดชเดพเดฒเดฟเดเตเดเตเด
เดเตผเดเตเดเตเด: เด เดเดเตเด SSH GitLab-เดฒเดพเดฃเต, เดคเตเดฑเดจเตเดจเดคเต Pantheon-เดฒเดพเดฃเต.
เดจเดฎเตเดเตเดเต เดเตเดฑเดเตเดเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเตพ เดเตเดเดฟ เดธเดเตเดเดฎเดพเดเตเดเดพเด. เดเดฆเตเดฏเดคเตเดคเตเดคเดฟเดจเต PANTHEON_SITE เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต. เดจเดฟเดเตเดเดณเตเดเต เดฎเตเดทเตเดจเดฟเดฒเต เดชเดพเดจเตเดคเดฟเดฏเตเตบ เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต เดชเตเดฐเดพเดฃเต เด เดคเดฟเดจเตเดฑเต เดฎเตเดฒเตเดฏเด.
เดฎเตเดทเตเดจเดฟเดฒเต เดชเตเดฐเต เดเตเดฒเตเดฃเดฟเดจเตเดฑเต เด เดตเดธเดพเดจเด Git เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดชเดเตเดเดฟเดเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดจเดฟเดเตเดเตพ เดเดคเดฟเดจเดเด เดชเตเดฐเดพเดฆเตเดถเดฟเดเดฎเดพเดฏเดฟ เดธเตเดฑเตเดฑเต เดเตเดฒเตเตบ เดเตเดฏเตโเดคเต, เด เดคเดฟเดจเดพเตฝ เดเดคเต เดชเตเดฐเดพเดฆเตเดถเดฟเด เดถเตเดเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต เดกเดฏเดฑเดเตโเดเดฑเดฟ เดจเดพเดฎเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด.
เด
เดเตเดคเตเดคเดคเดพเดฏเดฟ, เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเตเดฐเดฟเดฏเดฌเดฟเตพ เดธเดเตเดเดฎเดพเดเตเดเตเด 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
เดชเดจเตเดคเตเดฏเตเดจเดฟเตฝ. เดจเดฎเตเดเตเดเต เดเดจเตเดจเต เดจเตเดเตเดเดพเด.
เดชเดพเดจเตเดคเดฟเดฏเตเดฃเดฟเดฒเตเดเตเดเต เดฒเดฏเดจ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดถเดพเดเดเตพ เดธเดฎเตผเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต
เดเดตเดฟเดเต เดเดเตเดเตพ เดเดจเตเดฑเต เดชเตเดฐเดฟเดฏเดชเตเดชเตเดเตเด เดชเดพเดจเตเดคเดฟเดฏเตเตบ เดซเตเดเตเดเตผ เดเดชเดฏเตเดเดฟเดเตเดเตเด -
เดเดฆเตเดฏเด, เดจเดฎเตเดเตเดเต เดชเตเดฐเดพเดฆเตเดถเดฟเดเดฎเดพเดฏเดฟ เดเดฐเต เดชเตเดคเดฟเดฏ 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
เด
เดฎเตผเดคเตเดคเดฟเดฏเดพเตฝ เดฒเดฏเดจ เด
เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตเดทเตเดเดฟเดเตเดเตเด.
เดเดฐเต เดฒเดฏเดจ เด
เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตเดทเตเดเดฟเดเตเด เดถเตเดทเด, CI / CD เดเดพเดธเตโเดเต เดเดเตเดเดจเต เดจเดฟเตผเดตเดนเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดเดเตเดเตพ เดจเตเดเตเดเตเดจเตเดจเต deploy:multidev
.
เดจเตเดเตเดเต - เดชเดพเดจเตเดคเดฟเดฏเตเดฃเดฟเดฒเตเดเตเดเต เดเดฐเต เดชเตเดคเดฟเดฏ เดถเดพเด เด เดฏเดเตเดเต. เดเดจเตเดจเดพเตฝ เดจเดฎเตเดฎเตพ เดชเดพเดจเตเดคเดฟเดฏเตเตบ เดธเตเดฑเตเดฑเต เดกเดพเดทเตโเดฌเตเตผเดกเดฟเดฒเต เดฎเตพเดเตเดเดฟเดฆเตเดตเต เดตเดฟเดญเดพเดเดคเตเดคเดฟเดฒเตเดเตเดเต เดชเตเดฏเดพเตฝ, เด เดตเดฟเดเต เดชเตเดคเดฟเดฏ เด เดจเตเดคเดฐเตเดเตเดทเด เดเดพเดฃเดฟเดฒเตเดฒ.
เดจเดฎเตเดเตเดเต Git เดฌเตเดฐเดพเดเตเดเต เดตเดฟเดญเดพเดเด เดจเตเดเตเดเดพเด.
เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดเดเตเดเดณเตเดเต เดถเดพเด mr-1
เดชเดจเตเดคเตเดฏเตเดฃเดฟเตฝ เดเดคเตเดคเดฟเดเตเดเต. เดเดฐเต เดถเดพเดเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดธเตเดทเตเดเดฟเดเตเดเตเด mr-1
.
เดเดเตเดเตพ เดเดฐเต เดฎเตพเดเตเดเดฟเดฆเตเดตเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟ เดธเตเดทเตเดเดฟเดเตเดเต, เดเดชเตเดชเตเตพ เดจเดฎเตเดเตเดเต GitLab-เดฒเตเดเตเดเต เดคเดฟเดฐเดฟเดเต เดชเตเดฏเดฟ เดตเดฟเดญเดพเดเด เดจเตเดเตเดเดพเด เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ > เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ. เดเดจเตเดจเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดเตปเดเตเดฐเดฟเดเตพ เดเดเตเดเตพ เดเดพเดฃเตเด dev
ะธ mr-1
.
เดเดเตเดเตพ เดเดฐเต เดเตปเดเตเดฐเดฟ เดเตเตผเดคเตเดคเดคเดฟเดจเดพเดฒเดพเดฃเดฟเดคเต environment
เดชเตเดฐเดฟเดจเตเดชเตเดชเด name
ะธ url
CI/CD เดเดพเดธเตเดเตเดเตเดเดณเดฟเดฒเตเดเตเดเต. เดจเดฎเตเดฎเตพ เดเดชเตเดชเตบ เดเตปเดตเดฏเตเตบเดฎเตเดจเตเดฑเต เดเดเตเดเดฃเดฟเตฝ เดเตเดฒเดฟเดเตเดเต เดเตเดฏเตเดคเดพเตฝ, เดจเดฎเตเดฎเตพ เดชเดพเดจเตเดคเดฟเดฏเตเดฃเดฟเดฒเต เดฎเตพเดเตเดเดฟเดฆเตเดตเต เดเตปเดตเดฏเตเตบเดฎเตเดจเตเดฑเดฟเดจเตเดฑเต URL-เดฒเตเดเตเดเต เดจเดพเดตเดฟเดเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด.
เดฎเตพเดเตเดเดฟเดฆเตเดตเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด
เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดเดตเดฟเดเต เดจเดฟเตผเดคเตเดคเดฟ เดเดฐเต เดฒเดฏเดจ เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตโเดเตเดเตเด เดเดฐเต เดฎเตพเดเตเดเดฟเดฆเตเดตเต เดเตปเดตเดฏเตเตบเดฎเตเดจเตเดฑเต เดธเตเดทเตโเดเดฟเดเตเดเดพเตป เดเตผเดฎเตเดฎเดฟเดเตเดเตเด, เดเดจเตเดจเดพเตฝ เด เดชเตเดฐเดเตเดฐเดฟเดฏ เดฏเดพเดจเตเดคเตเดฐเดฟเดเดฎเดพเดเตเดเดพเด.
เดชเดพเดจเตเดคเดฟเดฏเตเดฃเดฟเดจเต เดเดฐเต เดเดฎเดพเตปเดกเต เดฒเตเตป เดเตเตพ เดเดฃเตเดเต
เดเดคเต เดชเดฐเตเดเตเดทเดฟเดเตเดเดพเตป เดเดเตเดเตพเดเตเดเต เดเดฐเต เดชเตเดคเดฟเดฏ เดฒเดฏเดจ เด
เดญเตเดฏเตผเดคเตเดฅเดจ เดเดตเดถเตเดฏเดฎเดพเดฃเต. เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดชเตเดคเดฟเดฏ เดฌเตเดฐเดพเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเด git checkout -b auto-multidev-creation
.
GitLab CI/CD เดเดพเดธเตโเดเตเดเตเดเดณเดฟเตฝ เดเตเตผเดฎเดฟเดจเดธเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเตเตผเดฎเดฟเดจเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดงเดฟเดเดพเดฐเดฟเดเดฎเดพเดเตเดเดพเตป เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดฎเตเดทเตเตป เดเตเดเตเดเดฃเตเด เดเตเตผเดฎเดฟเดจเดธเต เดเดฃเตเดเตเดฏเตโเดจเตผ เดเดฟเดคเตเดฐเดตเตเด เดเดตเดถเตเดฏเดฎเดพเดฃเต.
PANTHEON_MACHINE_TOKEN
.
GitLab เดเตปเดตเดฏเตเตบเดฎเตเดจเตเดฑเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเตพ เดเดเตเดเดจเต เดเตเตผเดเตเดเดพเดฎเตเดจเตเดจเต เดจเดฟเดเตเดเตพ เดฎเดฑเดจเตเดจเตเดชเตเดฏเตเดเตเดเดฟเตฝ, เดเดเตเดเตพ เดจเดฟเตผเดตเดเดฟเดเตเด เดธเตเดฅเดฒเดคเตเดคเตเดเตเดเต เดฎเดเดเตเดเตเด
PANTHEON_SITE
.
เดเตเตผเดฎเดฟเดจเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดกเตเดเตเดเตผเดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเด
เดจเดฟเดเตเดเตพ เดกเตเดเตเดเตผ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดซเดฏเดฒเตเดเตพ เดเดทเตเดเดชเตเดชเตเดเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ Dockerfile
เดเดจเตเดฑเต เดเดฟเดคเตเดฐเด เดเดเตเดเตเดเตเด registry.gitlab.com/ataylorme/pantheon-gitlab-blog-demo:latest
เดเตเดเดพเดคเต เด เดญเดพเดเด เดเดดเดฟเดตเดพเดเตเดเตเด.
เดเตเตผเดฎเดฟเดจเดธเต เดเดฐเต 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
.
เดตเดฟเดญเดพเดเด 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
เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดฐเต เดธเตเดตเดเดพเดฐเตเดฏ เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเดฒเดพเดฃเต 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 เดเดจเตเดจเดฟเดตเดฏเตเดเต เดถเดเตเดคเดฎเดพเดฏ เดเตเดณเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต, เดจเดฟเดเตเดเตพเดเตเดเต GitLab-เดฒเตเดเตเดเต Pantheon-เดฒเตเดเตเดเต เดฏเดพเดจเตเดคเตเดฐเดฟเดเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
เดเดเตเดเตพ GitLab CI/CD เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดเดเตเดเดณเตเดเต เดตเตผเดเตเดเตเดซเตเดฒเตเดฏเตเดเตเดเต เดตเดณเดฐเดพเตป เดเดเดฎเตเดฃเตเดเต. เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเดเดญเดฟเดเตเดเดพเดจเตเดณเตเดณ เดเตเดฑเดเตเดเต เดเดถเดฏเดเตเดเตพ เดเดคเดพ:
- เดเดฐเต เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดเดเตเดเด เดเตเตผเดเตเดเตเด.
- เดเดเตเดเตเดฎเตเดฑเตเดฑเดกเต เดเตเดธเตเดฑเตเดฑเดฟเดเดเต เดเตเตผเดเตเดเตเด.
- เดเตเดกเต เดฎเดพเดจเดฆเดฃเตเดกเดเตเดเตพ เดชเดพเดฒเดฟเดเตเดเตเดจเตเดจเตเดฃเตเดเตเดจเตเดจเต เดเดฑเดชเตเดชเดพเดเตเดเดพเตป เดเดฐเต เดเดพเดธเตเดเต เดเตเตผเดเตเดเตเด.
- เดเตเตผเดเตเดเตเด
เดกเตเดจเดพเดฎเดฟเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเตเดเตเดฏเตเดฐเดฟเดฑเตเดฑเดฟ เดเตเดธเตเดฑเตเดฑเดฟเดเดเต .
GitLab, Pantheon, เดเดเตเดเตเดฎเตเดทเตป เดเดจเตเดจเดฟเดตเดฏเตเดเตเดเตเดฑเดฟเดเตเดเต เดจเดฟเดเตเดเตพ เดเดจเตเดคเดพเดฃเต เดเดฟเดจเตเดคเดฟเดเตเดเตเดจเตเดจเดคเตเดจเตเดจเต เดเดดเตเดคเตเด.
PS เดจเดฟเดเตเดเตพเดเตเดเต เด
เดฑเดฟเดฏเดพเดฎเต เดเตเตผเดฎเดฟเดจเดธเต, เดชเดจเตเดคเตเดฏเตเดฃเดฟเดจเตเดฑเต เดเดฎเดพเตปเดกเต เดฒเตเตป เดเตเตพ,
เดชเดพเดจเตเดคเดฟเดฏเตเดฃเดฟเดฒเต เดเดเตเดเตพ เดเดเตเดเดณเตเดเต เดชเดคเดฟเดชเตเดชเต 2-เตฝ เดเดฐเต เดจเดฒเตเดฒ เดเตเดฒเดฟ เดเตเดฏเตเดคเต build:project:create
เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดชเดพเดจเตเดคเดฟเดฏเตเตบ เดเตเดเตเดเดฃเตเด GitLab เดเตเดเตเดเดฃเตเด เดฎเดพเดคเตเดฐเดฎเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเต. เดเดคเต เดเดฎเตเดชเตเดธเดฑเตเด เดเดเตเดเตเดฎเตเดฑเตเดฑเดกเต เดเตเดธเตเดฑเตเดฑเดฟเดเดเตเด เดเดณเตเดณ เดธเดพเดฎเตเดชเดฟเตพ เดชเตเดฐเตเดเดเตโเดฑเตเดฑเตเดเดณเดฟเดฒเตเดจเตเดจเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดเดฏเตเด เดชเตเดคเดฟเดฏ เดชเดพเดจเตเดคเดฟเดฏเตเตบ เดธเตเดฑเตเดฑเดพเดฏ GitLab-เตฝ เดเดฐเต เดชเตเดคเดฟเดฏ เดชเตเดฐเตเดเดเตโเดฑเตเดฑเต เดธเตเดทเตโเดเดฟเดเตเดเตเดเดฏเตเด เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเด SSH เดเตเดเดณเตเด เดเดชเดฏเตเดเดฟเดเตเดเต เด
เดตเดฏเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.
เดฐเดเดฏเดฟเดคเดพเดตเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต
เดเตปเดกเตเดฐเต เดเตเดฏเตโเดฒเตผ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผเดเตเดเดพเดฏเดฟ เดเดชเดเดฐเดฃเดเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต
เด เดตเดฒเดเดฌเด: www.habr.com