AppCenter เจ…เจคเฉ‡ GitLab เจเจ•เฉ€เจ•เจฐเจฃ

เจŸเจฐเจพเจˆเจฎ, เจนเฉˆเจฒเฉ‹!

เจฎเฉˆเจ‚ BitBucket เจฆเฉเจ†เจฐเจพ GitLab เจ…เจคเฉ‡ AppCenter เจเจ•เฉ€เจ•เจฐเจฃ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ†เจชเจฃเฉ‡ เจ…เจจเฉเจญเจต เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพเฅค

Xamarin 'เจคเฉ‡ เจ‡เฉฑเจ• เจ•เจฐเจพเจธ-เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฒเจˆ UI เจŸเฉˆเจธเจŸเจพเจ‚ เจฆเฉ‡ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจฒเจพเจ‚เจš เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ…เจœเจฟเจนเฉ‡ เจเจ•เฉ€เจ•เจฐเจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจชเฉˆเจฆเจพ เจนเฉ‹เจˆเฅค เจ•เฉฑเจŸ เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจŸเจฟเจŠเจŸเฉ‹เจฐเจฟเจ…เจฒ!

* เจœเฉ‡ เจœเจจเจคเจพ เจฆเฉ€ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจนเฉˆ เจคเจพเจ‚ เจฎเฉˆเจ‚ เจ•เจฐเจพเจธ-เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš UI เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจพเจฒเจค เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจฒเฉ‡เจ– เจฌเจฃเจพเจตเจพเจ‚เจ—เจพเฅค

เจฎเฉˆเจ‚ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจ…เจœเจฟเจนเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจชเฉเฉฑเจŸเจฟเจ† เจนเฉˆ เจฒเฉ‡เจ–. เจ‡เจธ เจฒเจˆ, เจฎเฉ‡เจฐเจพ เจฒเฉ‡เจ– เจ•เจฟเจธเฉ‡ เจฆเฉ€ เจฎเจฆเจฆ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ.

เจ‰เจฆเฉ‡เจธเจผ: AppCenter 'เจคเฉ‡ UI เจŸเฉˆเจธเจŸเจพเจ‚ เจฆเจพ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจฒเจพเจ‚เจš เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจ•เจฐเฉ‹, เจ‡เจน เจฆเจฟเฉฑเจคเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจธเจพเจกเฉ€ เจŸเฉ€เจฎ GitLab เจจเฉ‚เฉฐ เจตเจฐเจœเจจ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจธเจฟเจธเจŸเจฎ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฆเฉ€ เจนเฉˆเฅค

เจธเจฎเฉฑเจธเจฟเจ† เจ‡เจน เจชเจคเจพ เจšเจฒเจฟเจ† เจ•เจฟ AppCenter GitLab เจจเจพเจฒ เจธเจฟเฉฑเจงเจพ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค BitBucket เจฆเฉเจ†เจฐเจพ เจฌเจพเจˆเจชเจพเจธ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจนเฉฑเจฒ เจตเจœเฉ‹เจ‚ เจšเฉเจฃเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค

เจ•เจฆเจฎ

1. BitBucket 'เจคเฉ‡ เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจฌเจฃเจพเจ“

เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจธ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจฆเจฟเจ–เจฆเฉ€ :)

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 เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจœเฉ‹เจ‚ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚> CI/CD> เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ 'เจคเฉ‡ เจœเจพเจ“เฅค เจซเจพเจˆเจฒ เจฆเฉ€ เจธเจพเจฐเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹ เจœเจฟเจธ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจ—เฉเจชเจค เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจšเจฒเฉ‹ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ SSH_PRIVATE_KEY เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ€เจเฅค
* เจ‡เจน เจซเจพเจˆเจฒ, เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจซเจพเจˆเจฒ เจฆเฉ‡ เจ‰เจฒเจŸ, เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€
AppCenter เจ…เจคเฉ‡ GitLab เจเจ•เฉ€เจ•เจฐเจฃ

เจตเจงเฉ€เจ†, เจ…เฉฑเจ—เฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ BitBucket เจตเจฟเฉฑเจš เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจ–เฉ‹เจฒเฉเจนเฉ‹ เจ…เจคเฉ‡ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ > เจเจ•เจธเฉˆเจธ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ 'เจคเฉ‡ เจœเจพเจ“เฅค

AppCenter เจ…เจคเฉ‡ GitLab เจเจ•เฉ€เจ•เจฐเจฃ

เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ Add Key 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจชเจฌเจฒเจฟเจ• เจ•เฉเฉฐเจœเฉ€ (เจเจ•เจธเจŸเฉ‡เจ‚เจธเจผเจจ .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 เจ…เจคเฉ‡ 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 เจเจ•เฉ€เจ•เจฐเจฃ

เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฌเจฟเจŸเจฌเจ•เฉ‡เจŸ เจ–เจพเจคเฉ‡ เจจเจพเจฒ เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค
* เจ†เจ–เจฐเฉ€ เจ‰เจชเจพเจ… เจตเจœเฉ‹เจ‚, เจ†เจชเจฃเฉ‡ เจฌเฉเจฐเจพเจŠเจœเจผเจฐ เจ•เฉˆเจธเจผ เจจเฉ‚เฉฐ เจตเฉ€ เจธเจพเจซเจผ เจ•เจฐเฉ‹เฅค

เจนเฉเจฃ AppCenter 'เจคเฉ‡ เจšเฉฑเจฒเฉ€เจเฅค เจฌเจฟเจฒเจก เจธเฉˆเจ•เจธเจผเจจ 'เจคเฉ‡ เจœเจพเจ“, เจฌเจฟเฉฑเจŸเจฌเจ•เฉ‡เจŸ เจ–เจพเจคเฉ‡ เจจเฉ‚เฉฐ เจกเจฟเจธเจ•เจจเฉˆเจ•เจŸ เจ•เจฐเฉ‹ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹

AppCenter เจ…เจคเฉ‡ GitLab เจเจ•เฉ€เจ•เจฐเจฃ

เจœเจฆเฉ‹เจ‚ เจชเฉเจฐเจพเจฃเจพ เจ–เจพเจคเจพ เจ…เจฃเจฒเจฟเฉฐเจ• เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ AppCenter เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเฉฐเจ• เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจนเฉเจฃ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจ–เจพเจคเฉ‡ เจตเฉฑเจฒ.

'eval' เจจเฉ‚เฉฐ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจœเจพเจ‚ เจฌเจพเจนเจฐเฉ€ เจ•เจฎเจพเจ‚เจก เจตเจœเฉ‹เจ‚ เจฎเจพเจจเจคเจพ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆ เจนเฉˆ

เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจฌเจœเจพเจ เจตเจฐเจคเจฆเฉ‡ เจนเจพเจ‚

  - eval $(ssh-agent -s)

เจŸเฉ€เจฎ:

  - ssh-agent

เจ•เฉเจ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจœเจพเจ‚ เจคเจพเจ‚ C:Program FilesGitusrbinssh-agent.exe เจฆเจพ เจชเฉ‚เจฐเจพ เจฎเจพเจฐเจ— เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจœเจพเจ‚ เจ‡เจธ เจฎเจพเจฐเจ— เจจเฉ‚เฉฐ เจฎเจธเจผเฉ€เจจ เจฆเฉ‡ เจธเจฟเจธเจŸเจฎ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเจฟเฉฑเจฅเฉ‡ เจฆเฉŒเฉœเจพเจ• เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆเฅค

เจเจชเจธเฉˆเจ‚เจŸเจฐ เจฌเจฟเจฒเจก เจ‡เฉฑเจ• เจชเฉเจฐเจพเจฃเฉ‡ เจฌเจฟเฉฑเจŸเจฌเจ•เฉ‡เจŸ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฒเจˆ เจ‡เฉฑเจ• เจฌเจฟเจฒเจก เจฒเจพเจ‚เจš เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจธเจฎเฉฑเจธเจฟเจ† เจชเฉˆเจฆเจพ เจนเฉ‹เจˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจ•เจˆ เจ–เจพเจคเจฟเจ†เจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจธเฉ€เฅค เจฎเฉˆเจ‚ เจ•เฉˆเจธเจผ เจจเฉ‚เฉฐ เจธเจพเจซเจผ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹