AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

เดŸเตเดฐเดฏเด‚, เดนเดฒเต‹!

BitBucket เดตเดดเดฟ GitLab, AppCenter เดธเด‚เดฏเต‹เดœเดจเด‚ เดŽเดจเตเดจเดฟเดต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต† เดŽเดจเตเดฑเต† เด…เดจเตเดญเดตเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต.

Xamarin-เดฒเต† เด’เดฐเต เด•เตเดฐเต‹เดธเต-เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ UI เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดฒเต‹เดžเตเดšเต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดคเตเดคเดฐเด‚ เดธเด‚เดฏเต‹เดœเดจเดคเตเดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด•เดค เด‰เดฏเตผเดจเตเดจเต. เด•เดŸเตเดŸเดฟเดจเต เดคเดพเดดเต† เดตเดฟเดถเดฆเดฎเดพเดฏ เดŸเตเดฏเต‚เดŸเตเดŸเต‹เดฑเดฟเดฏเตฝ!

* เดชเตŠเดคเตเดœเดจเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด•เตเดฐเต‹เดธเต-เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ เดฏเตเด เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดžเดพเตป เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฒเต‡เด–เดจเด‚ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเด‚.

เด…เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเตฝ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดžเดพเตป เด•เตเดดเดฟเดšเตเดšเต†เดŸเตเดคเตเดคเดคเต เด’เดฐเต เดฒเต‡เด–เดจเด‚. เด…เดคเดฟเดจเดพเตฝ, เดŽเดจเตเดฑเต† เดฒเต‡เด–เดจเด‚ เด†เดฐเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเดนเดพเดฏเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚.

เดฒเด•เตเดทเตเดฏเด‚: เดžเด™เตเด™เดณเตเดŸเต† เดŸเต€เด‚ GitLab เด’เดฐเต เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃ เดธเด‚เดตเดฟเดงเดพเดจเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ AppCenter-เตฝ UI เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดฏเดพเดจเตเดคเตเดฐเดฟเด• เดฒเต‹เดžเตเดšเต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•.

เดชเตเดฐเดถเตเดจเด‚ AppCenter GitLab-เดฎเดพเดฏเดฟ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เดคเต†เดณเดฟเดžเตเดžเต. เดฌเดฟเดฑเตเดฑเตเดฌเด•เตเด•เดฑเตเดฑเต เดตเดดเดฟเดฏเตเดณเตเดณ เดฌเตˆเดชเดพเดธเต เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฏเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต.

เด˜เดŸเตเดŸเด™เตเด™เตพ

1. เดฌเดฟเดฑเตเดฑเตเดฌเด•เตเด•เดฑเตเดฑเดฟเตฝ เด’เดฐเต เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดถเต‡เด–เดฐเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•

เด‡เดคเต เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด‚ เดžเดพเตป เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ :)

2. GitLab เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดคเดณเตเดณเตเดฎเตเดชเต‹เตพ/เดฒเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดฌเดฟเดฑเตเดฑเตเดฌเด•เตเด•เดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เตเด‚ เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เด’เดฐเต เดฑเดฃเตเดฃเดฑเต† เดšเต‡เตผเด•เตเด•เตเด• (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ .gitlab-ci.yml เดซเดฏเตฝ เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•).

เด†เดฆเตเดฏเด‚ เดจเดฎเตเดฎเตพ before_scripts เดตเดฟเดญเดพเด—เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เดฎเดพเตปเดกเตเด•เตพ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต

 - git config --global user.email "user@email"
 - git config --global user.name "username"

เดคเตเดŸเตผเดจเตเดจเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เดฎเดพเตปเดกเต เดšเต‡เตผเด•เตเด•เตเด•:

- git push --mirror https://username:[email protected]/username/projectname.git

เดŽเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดŽเดจเดฟเด•เตเด•เต เดฒเดญเดฟเดšเตเดš เดซเดฏเตฝ เด‡เดคเดพเดฃเต:

before_script:
 - git config --global user.email "user@email"
 - git config --global user.name "username"

stages:
  - mirror
mirror:
  stage: mirror
  script:
    - git push --mirror https://****:*****@bitbucket.org/****/testapp.git

เดžเด™เตเด™เตพ เดฌเดฟเตฝเดกเต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต, เดžเด™เตเด™เดณเตเดŸเต† เดฎเดพเดฑเตเดฑเด™เตเด™เตพ/เดซเดฏเดฒเตเด•เตพ เดฌเดฟเดฑเตเดฑเตเดฌเด•เตเด•เดฑเตเดฑเดฟเดฒเดพเดฃเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•.
* เดชเตเดฐเดพเด•เตเดŸเต€เดธเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเต†, SSH เด•เต€เด•เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เด“เดชเตเดทเดฃเดฒเดพเดฃเต. เดชเด•เตเดทเต‡, เดคเดพเดดเต†เดฏเตเดณเตเดณ SSH เดตเดดเดฟ เด’เดฐเต เด•เดฃเด•เตเดทเตป เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เด…เตฝเด—เต‹เดฐเดฟเดคเด‚ เดžเดพเตป เดจเตฝเด•เตเด‚

SSH เดตเดดเดฟเดฏเตเดณเตเดณ เด•เดฃเด•เตเดทเตป

เด†เดฆเตเดฏเด‚ เดจเดฟเด™เตเด™เตพ เด’เดฐเต SSH เด•เต€ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดงเดพเดฐเดพเดณเด‚ เดฒเต‡เด–เดจเด™เตเด™เตพ เดŽเดดเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเต‹เด•เตเด•เดพเด‚ เด‡เดตเดฟเดŸเต†.
เดœเดจเดฑเต‡เดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เด•เต€เด•เตพ เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:
AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

เด•เต‚เดŸเตเดคเตฝ เดฐเดนเดธเตเดฏ เดคเดพเด•เตเด•เต‹เตฝ GitLab-เตฝ เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดพเดฏเดฟ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, Settings > CI/CD > Environment Variables เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด•. เดจเดฟเด™เตเด™เตพ เดฐเดนเดธเตเดฏ เด•เต€ เดธเด‚เดฐเด•เตเดทเดฟเดšเตเดš เดซเดฏเดฒเดฟเดจเตเดฑเต† เดŽเดฒเตเดฒเดพ เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เดณเตเด‚ เดšเต‡เตผเด•เตเด•เตเด•. เดจเดฎเตเด•เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเต† SSH_PRIVATE_KEY เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดพเด‚.
* เดˆ เดซเดฏเดฒเดฟเดจเต, เดชเดฌเตเดฒเดฟเด•เต เด•เต€ เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚ เด‰เดฃเตเดŸเดพเด•เดฟเดฒเตเดฒ
AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

เด•เตŠเดณเตเดณเดพเด‚, เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ BitBucket-เดฒเต‡เด•เตเด•เต เดชเตŠเดคเต เด•เต€ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดคเตเดฑเดจเตเดจเต เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ > เด†เด•เตเดธเดธเต เด•เต€เด•เตพ เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด•.

AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

เด‡เดตเดฟเดŸเต† เดจเดฎเตเดฎเตพ เด†เดกเต เด•เต€ เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดคเต เดชเดฌเตเดฒเดฟเด•เต เด•เต€ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดซเดฏเดฒเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ เดšเต‡เตผเด•เตเด•เตเด• (เดŽเด•เตโ€Œเดธเตเดฑเตเดฑเตปเดทเดจเต‹เดŸเตเด•เต‚เดŸเดฟเดฏ เดซเดฏเตฝ .pub).

เด…เดŸเตเดคเตเดค เด˜เดŸเตเดŸเด‚ gitlab-runner-เตฝ เด•เต€เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต. เดˆ เด•เดฎเดพเตปเดกเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเด•เตเดทเดคเตเดฐเดšเดฟเดนเตเดจเด™เตเด™เตพ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•

image: timbru31/node-alpine-git:latest

stages:
  - mirror

before_script:
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
  - mkdir -p ~/.ssh
  - chmod 700 ~/.ssh
  - ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts
  - chmod 644 ~/.ssh/known_hosts
  - git config --global user.email "*****@***"
  - git config --global user.name "****"
  - ssh -T [email protected]

mirror:
  stage: mirror
  script:
    - git push --mirror https://****:****@bitbucket.org/*****/*****.git

3. AppCenter เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต

AppCenter-เตฝ เดžเด™เตเด™เตพ เด’เดฐเต เดชเตเดคเดฟเดฏ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.

AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

เดญเดพเดท/เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•

AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดชเตเดคเตเดคเดพเดฏเดฟ เดธเตƒเดทเตเดŸเดฟเดšเตเดš เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดฌเดฟเตฝเดกเต เดตเดฟเดญเดพเด—เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด•. เด…เดตเดฟเดŸเต† เดจเดฎเตเดฎเตพ เดฌเดฟเดฑเตเดฑเตเดฌเด•เตเด•เดฑเตเดฑเตเด‚ เด˜เดŸเตเดŸเด‚ 1-เตฝ เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดถเต‡เด–เดฐเดฃเดตเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต.

เด•เตŠเดณเตเดณเดพเด‚, เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต เดฌเดฟเตฝเดกเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เด—เดฟเดฏเตผ เดเด•เตเด•เตบ เด•เดฃเตเดŸเต†เดคเตเดคเตเด•

AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

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

เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ, เด…เดคเตเดฐเดฎเดพเดคเตเดฐเด‚. เด‡เดคเต เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต, เดชเด•เตเดทเต‡, เดธเตเดตเดพเดญเดพเดตเดฟเด•เดฎเดพเดฏเตเด‚, เดŽเดฒเตเดฒเดพเด‚ เดธเตเด—เดฎเดฎเดพเดฏเดฟ เดจเดŸเด•เตเด•เดฟเดฒเตเดฒ. เด…เดคเดฟเดจเดพเตฝ, เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดžเดพเตป เดจเต‡เดฐเดฟเดŸเตเดŸ เดšเดฟเดฒ เดชเดฟเดถเด•เตเด•เตพ เดžเดพเตป เดตเดฟเดตเดฐเดฟเด•เตเด•เตเด‚:

'ssh-keygen' เด’เดฐเต เด†เดจเตเดคเดฐเดฟเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเดพเดนเตเดฏ เด•เดฎเดพเตปเดกเต เด†เดฏเดฟ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดฟเดŸเตเดŸเดฟเดฒเตเดฒ.

เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต ssh-keygen.exe-เดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดค เดšเต‡เตผเด•เตเด•เดพเดคเตเดคเดคเดฟเดจเดพเดฒเตเด‚ เด‡เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต.
เดฐเดฃเตเดŸเต เด“เดชเตเดทเดจเตเด•เตพ เด‰เดฃเตเดŸเต: เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต C:Program FilesGitusrbin เดšเต‡เตผเด•เตเด•เตเด• (เดฎเต†เดทเต€เตป เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดคเดคเดฟเดจเต เดถเต‡เดทเด‚ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเด‚), เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดˆ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เตบเดธเต‹เตพ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•.

AppCenter เดคเต†เดฑเตเดฑเดพเดฏ BitBucket เด…เด•เตเด•เต—เดฃเตเดŸเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹?

เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเตป, AppCenter-เตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เดณเตเดŸเต† BitBucket เด…เด•เตเด•เต—เดฃเตเดŸเต เด…เตบเดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดžเด™เตเด™เตพ เดคเต†เดฑเตเดฑเดพเดฏ BitBucket เด…เด•เตเด•เต—เดฃเตเดŸเดฟเตฝ เดชเตเดฐเดตเต‡เดถเดฟเดšเตเดšเต เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดชเตเดฐเตŠเดซเตˆเดฒเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเดจเตเดจเต.

AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ > เด†เด•เตเดธเดธเต เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต > OAuth เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด•

AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เด•เตเด•เต—เดฃเตเดŸเต เด…เตบเดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเดพเตป เด…เดธเดพเดงเตเดตเดพเด•เตเด•เตเด• เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด•.

AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

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

เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต AppCenter-เดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเด‚. เดฌเดฟเตฝเดกเต เดตเดฟเดญเดพเด—เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ, เดฌเดฟเดฑเตเดฑเตเดฌเด•เตเด•เดฑเตเดฑเต เด…เด•เตเด•เต—เดฃเตเดŸเต เดตเดฟเดšเตเด›เต‡เดฆเดฟเด•เตเด•เตเด• เด•เตเดฒเดฟเด•เตเด•เตเดšเต†เดฏเตเดฏเตเด•

AppCenter, GitLab เดธเด‚เดฏเต‹เดœเดจเด‚

เดชเดดเดฏ เด…เด•เตเด•เต—เดฃเตเดŸเต เด…เตบเดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดžเด™เตเด™เตพ AppCenter เดตเต€เดฃเตเดŸเตเด‚ เดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‡เดชเตเดชเต‹เตพ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด…เด•เตเด•เต—เดฃเตเดŸเดฟเดฒเต‡เด•เตเด•เต.

'eval' เดŽเดจเตเดจเดคเต เด†เดจเตเดคเดฐเดฟเด•เดฎเต‹ เดฌเดพเดนเตเดฏเดฎเต‹ เด†เดฏ เด’เดฐเต เด•เดฎเดพเตปเดกเดพเดฏเดฟ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดฟเดŸเตเดŸเดฟเดฒเตเดฒ

เด’เดฐเต เด•เดฎเดพเตปเดกเดฟเดจเต เดชเด•เดฐเด‚ เดžเด™เตเด™เตพ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

  - eval $(ssh-agent -s)

เดŸเต€เด‚:

  - ssh-agent

เดšเดฟเดฒ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด’เดจเตเดจเตเด•เดฟเตฝ C:Program FilesGitusrbinssh-agent.exe-เดฒเต‡เด•เตเด•เตเดณเตเดณ เดฎเตเดดเตเดตเตป เดชเดพเดคเดฏเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฑเดฃเตเดฃเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดฎเต†เดทเต€เดจเดฟเดฒเต† เดธเดฟเดธเตเดฑเตเดฑเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดˆ เดชเดพเดคเตเดคเต เดšเต‡เตผเด•เตเด•เตเด•.

เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸ เดฌเดฟเดฑเตเดฑเตเดฌเด•เตเด•เดฑเตเดฑเต เดถเต‡เด–เดฐเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดฌเดฟเตฝเดกเต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเตป AppCenter Build เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเต

เดŽเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดžเดพเตป เดจเดฟเดฐเดตเดงเดฟ เด…เด•เตเด•เต—เดฃเตเดŸเตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฒเดพเดฃเต เดชเตเดฐเดถเตเดจเด‚ เด‰เดŸเดฒเต†เดŸเตเดคเตเดคเดคเต. เด•เดพเดทเต† เดฎเดพเดฏเตเด•เตเด•เดพเตป เดžเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต.

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

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