AppCenter āĻāĻŦāĻ‚ GitLab āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻŽ, āĻšā§āĻ¯āĻžāĻ˛ā§‹!

āĻ†āĻŽāĻŋ BitBucket āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ GitLab āĻāĻŦāĻ‚ AppCenter āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻžāĻ° āĻ†āĻŽāĻžāĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤

Xamarin-āĻ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻ¸-āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ UI āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•ā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻĻā§‡āĻ–āĻž āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻšā§‡ āĻ•āĻžāĻŸāĻž!

* āĻœāĻ¨āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻ˛ā§‡ āĻ•ā§āĻ°āĻ¸-āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ UI āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦāĨ¤

āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ–āĻ¨āĻ¨ āĻĒā§āĻ°āĻŦāĻ¨ā§āĻ§. āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻžāĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻ•āĻžāĻ‰āĻ•ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡.

āĻ•āĻžāĻœā§‡āĻ°: AppCenter-āĻ UI āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ˛āĻžā§āĻš āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°ā§āĻ¨, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻāĻ˛ GitLab āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§‡āĻ–āĻž āĻ—ā§‡āĻ˛ āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻĒāĻ¸ā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•ā§€āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ BitBucket āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻ§āĻžāĻĒ

1. BitBucket-āĻ āĻāĻ•āĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

āĻ†āĻŽāĻŋ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻĻā§‡āĻ–āĻ›āĻŋ āĻ¨āĻž :)

2. GitLab āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¯ā§‡ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻļ/āĻŽāĻžāĻ°ā§āĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋāĻ“ BitBucket-āĻ āĻ†āĻĒāĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻ°āĻžāĻ¨āĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ (āĻŦāĻž āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ .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

āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻ˛ā§āĻĄ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŋ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨/āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ BitBucket-āĻ āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĨ¤
* āĻ¯ā§‡āĻŽāĻ¨ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, SSH āĻ•ā§€ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻāĻšā§āĻ›āĻŋāĻ•āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻŽāĻŋ āĻ¨ā§€āĻšā§‡ SSH āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŦ

SSH āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ SSH āĻ•ā§€ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ…āĻ¨ā§‡āĻ• āĻĒā§āĻ°āĻŦāĻ¨ā§āĻ§ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡.
āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:
AppCenter āĻāĻŦāĻ‚ GitLab āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

āĻ…āĻ§āĻŋāĻ•āĻ¤āĻ° āĻ—ā§‹āĻĒāĻ¨ āĻšāĻžāĻŦāĻŋ GitLab āĻ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ > CI/CD > āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛-āĻ āĻ¯āĻžāĻ¨āĨ¤ āĻ¯ā§‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ—ā§‹āĻĒāĻ¨ āĻ•ā§€āĻŸāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¤āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ā§ˇ āĻšāĻ˛ā§āĻ¨ SSH_PRIVATE_KEY āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻŋāĨ¤
* āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ, āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ•ā§€ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡, āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻž
AppCenter āĻāĻŦāĻ‚ GitLab āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

āĻšāĻŽā§ŽāĻ•āĻžāĻ°, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ BitBucket-āĻ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ•ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻŸāĻŋ āĻ–ā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ > āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨āĨ¤

AppCenter āĻāĻŦāĻ‚ GitLab āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž Add Key-āĻ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ•ā§€ (āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ .pub āĻ¸āĻš āĻĢāĻžāĻ‡āĻ˛) āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻŋāĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ§āĻžāĻĒ āĻšāĻ˛ āĻ—āĻŋāĻŸāĻ˛ā§āĻ¯āĻžāĻŦ-āĻ°āĻžāĻ¨āĻžāĻ°ā§‡ āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤ āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¤āĻžāĻ°āĻ•āĻžāĻšāĻŋāĻšā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨

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 āĻāĻŦāĻ‚ GitLab āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

āĻ­āĻžāĻˇāĻž/āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§āĻ¨

AppCenter āĻāĻŦāĻ‚ GitLab āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

āĻāĻ° āĻĒāĻ°ā§‡, āĻ¨āĻ¤ā§āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ¯āĻžāĻ¨āĨ¤ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž BitBucket āĻāĻŦāĻ‚ āĻ§āĻžāĻĒ 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 āĻāĻŦāĻ‚ GitLab āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻ˛āĻŋāĻ™ā§āĻ•āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻ†āĻŦāĻžāĻ° AppCenter āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻŋāĨ¤ āĻāĻ–āĻ¨ āĻ•āĻžāĻ™ā§āĻ–āĻŋāĻ¤ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡āĨ¤

'eval' āĻāĻ•āĻŸāĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻŦāĻž āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§āĻŦā§€āĻ•ā§ƒāĻ¤ āĻ¨āĻ¯āĻŧ

āĻ†āĻŽāĻ°āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ

  - eval $(ssh-agent -s)

āĻŸā§€āĻŽ:

  - ssh-agent

āĻ•āĻŋāĻ›ā§ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻšāĻ¯āĻŧ C:Program FilesGitusrbinssh-agent.exe-āĻāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒāĻžāĻĨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ…āĻĨāĻŦāĻž āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻāĻ‡ āĻĒāĻĨāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ°āĻžāĻ¨āĻžāĻ° āĻšāĻ˛āĻ›ā§‡āĨ¤

āĻ…ā§āĻ¯āĻžāĻĒāĻ¸ā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŦāĻŋāĻŸāĻŦāĻžāĻ•ā§‡āĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›ā§‡

āĻ†āĻŽāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻĻā§‡āĻ–āĻž āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻŋ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤ āĻ†āĻŽāĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡.

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨