เจเจฐเจพเจเจฎ, เจนเฉเจฒเฉ!
เจฎเฉเจ 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 เจเฉเฉฐเจเฉ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเจธ เจฌเจพเจฐเฉ เจเจ เจฒเฉเจ เจฒเจฟเจเฉ เจเจ เจนเจจเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ
เจคเจฟเจเจฐ เจเฉเจคเฉเจเจ เจเฉเฉฐเจเฉเจเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉเจเจ เจนเจจ:
เจนเฉเจฐ เจ
เฉฑเจเฉ เจเฉเจชเจค เจเฉเฉฐเจเฉ เจจเฉเฉฐ GitLab เจตเจฟเฉฑเจ เจเฉฑเจ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจเฉเจ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ
เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจธเฉเจเจฟเฉฐเจเจพเจ> CI/CD> เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ 'เจคเฉ เจเจพเจเฅค เจซเจพเจเจฒ เจฆเฉ เจธเจพเจฐเฉ เจธเจฎเฉฑเจเจฐเฉ เจธเจผเจพเจฎเจฒ เจเจฐเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจเฉเจชเจค เจเฉเฉฐเจเฉ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเฉเจคเจพ เจนเฉเฅค เจเจฒเฉ เจตเฉเจฐเฉเจเจฌเจฒ SSH_PRIVATE_KEY เจจเฉเฉฐ เจเจพเจฒ เจเจฐเฉเจเฅค
* เจเจน เจซเจพเจเจฒ, เจเจจเจคเจ เจเฉเฉฐเจเฉ เจซเจพเจเจฒ เจฆเฉ เจเจฒเจ, เจเจเจธเจเฉเจเจธเจผเจจ เจจเจนเฉเจ เจนเฉเจตเฉเจเฉ
เจตเจงเฉเจ, เจ เฉฑเจเฉ เจคเฉเจนเจพเจจเฉเฉฐ BitBucket เจตเจฟเฉฑเจ เจเจจเจคเจ เจเฉเฉฐเจเฉ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเฉเจฒเฉเจนเฉ เจ เจคเฉ เจธเฉเจเจฟเฉฐเจเจพเจ > เจเจเจธเฉเจธ เจเฉเฉฐเจเฉเจเจ 'เจคเฉ เจเจพเจเฅค
เจเฉฑเจฅเฉ เจ เจธเฉเจ 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 'เจคเฉ เจเฉฑเจ เจจเจตเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจเฅค
เจญเจพเจธเจผเจพ/เจชเจฒเฉเจเจซเจพเจฐเจฎ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเฉ
เจ เฉฑเจเฉ, เจจเจตเฉเจ เจฌเจฃเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจฌเจฟเจฒเจก เจธเฉเจเจธเจผเจจ 'เจคเฉ เจเจพเจเฅค เจเฉฑเจฅเฉ เจ เจธเฉเจ เจฌเจฟเฉฑเจเจฌเจเฉเจ เจ เจคเฉ เจธเจเฉเจช 1 เจตเจฟเฉฑเจ เจฌเจฃเจพเจ เจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจเฉเจฃ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจฌเจนเฉเจค เจตเจงเฉเจ, เจนเฉเจฃ เจธเจพเจจเฉเฉฐ เจฌเจฟเจฒเจก เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจเฉเจ เจฐ เจเจเจเจจ เจฒเฉฑเจญเฉ
เจธเจฟเจงเจพเจเจค เจตเจฟเฉฑเจ, เจเฉฑเจฅเฉ เจนเจฐ เจเฉเจเจผ เจ เจจเฉเจญเจตเฉ เจนเฉ. เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจ เจคเฉ เจธเฉฐเจฐเจเจจเจพ เจเฉเจฃเฉเฅค เจเฉ เจเจฐเฉเจฐเฉ เจนเฉเจตเฉ, เจคเจพเจ เจฌเจฟเจฒเจก เจคเฉเจ เจฌเจพเจ เจฆ เจเฉเจธเจเจพเจ เจฆเฉ เจธเจผเฉเจฐเฉเจเจค เจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจเฅค เจเจน เจเจชเจฃเฉ เจเจช เจธเจผเฉเจฐเฉ เจนเฉ เจเจพเจฃเจเฉเฅค
เจ เจธเจฒ เจตเจฟเฉฑเจ, เจเจน เจธเจญ เจนเฉ. เจเจน เจธเจงเจพเจฐเจจ เจฒเฉฑเจเจฆเจพ เจนเฉ, เจชเจฐ, เจเฉเจฆเจฐเจคเฉ เจคเฉเจฐ 'เจคเฉ, เจธเจญ เจเฉเจ เจธเฉเจเจพเจฐเฉ เจขเฉฐเจ เจจเจพเจฒ เจจเจนเฉเจ เจเจพเจตเฉเจเจพ. เจเจธ เจฒเจ, เจฎเฉเจ เจเฉเจ เจเจฒเจคเฉเจเจ เจฆเจพ เจตเจฐเจฃเจจ เจเจฐเจพเจเจเจพ เจเฉ เจฎเฉเจจเฉเฉฐ เจเฉฐเจฎ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจเจเจเจ:
'ssh-keygen' เจจเฉเฉฐ เจ เฉฐเจฆเจฐเฉเจจเฉ เจเจพเจ เจฌเจพเจนเจฐเฉ เจเจฎเจพเจเจก เจตเจเฉเจ เจฎเจพเจจเจคเจพ เจจเจนเฉเจ เจฆเจฟเฉฑเจคเฉ เจเจ เจนเฉเฅค
เจเจน เจเจธ เจฒเจ เจตเฉ เจตเจพเจชเจฐเจฆเจพ เจนเฉ เจเจฟเจเจเจเจฟ ssh-keygen.exe เจฆเจพ เจฎเจพเจฐเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจฟเฉฑเจ เจจเจนเฉเจ เจเฉเฉเจฟเจ เจเจฟเจ เจนเฉเฅค
เจเฉฑเจฅเฉ เจฆเฉ เจตเจฟเจเจฒเจช เจนเจจ: C:Program FilesGitusrbin เจจเฉเฉฐ เจเจจเจตเจพเจเจฐเจฎเฉเจเจ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ (เจฎเจธเจผเฉเจจ เจจเฉเฉฐ เจฐเฉเจฌเฉเจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ), เจเจพเจ เจเจธ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจคเฉเจ เจเฉฐเจธเฉเจฒ เจฒเจพเจเจ เจเจฐเฉเฅค
AppCenter เจเจฒเจค BitBucket เจเจพเจคเฉ เจจเจพเจฒ เจเฉเฉเจฟเจ เจนเฉเจเจ เจนเฉ?
เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ AppCenter เจคเฉเจ เจเจชเจฃเฉ BitBucket เจเจพเจคเฉ เจจเฉเฉฐ เจ เจจเจฒเจฟเฉฐเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ เจธเฉเจ เจเจฒเจค BitBucket เจเจพเจคเฉ เจตเจฟเฉฑเจ เจฒเฉเจเจเจจ เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจชเจญเฉเจเจคเจพ เจชเฉเจฐเฉเจซเจพเจเจฒ 'เจคเฉ เจเจพเจเจฆเฉ เจนเจพเจเฅค
เจ เฉฑเจเฉ, เจธเฉเจเจฟเฉฐเจเจพเจ > เจชเจนเฉเฉฐเจ เจชเฉเจฐเจฌเฉฐเจงเจจ > OAuth 'เจคเฉ เจเจพเจ
เจเจชเจฃเฉ เจเจพเจคเฉ เจจเฉเฉฐ เจ เจจเจฒเจฟเฉฐเจ เจเจฐเจจ เจฒเจ เจฐเฉฑเจฆ เจเจฐเฉ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉเฅค
เจเจธ เจคเฉเจ เจฌเจพเจ
เจฆ, เจคเฉเจนเจพเจจเฉเฉฐ เจฒเฉเฉเฉเจเจฆเฉ เจฌเจฟเจเจฌเจเฉเจ เจเจพเจคเฉ เจจเจพเจฒ เจฒเฉเจเจเจจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
* เจเจเจฐเฉ เจเจชเจพเจ
เจตเจเฉเจ, เจเจชเจฃเฉ เจฌเฉเจฐเจพเจเจเจผเจฐ เจเฉเจธเจผ เจจเฉเฉฐ เจตเฉ เจธเจพเจซเจผ เจเจฐเฉเฅค
เจนเฉเจฃ AppCenter 'เจคเฉ เจเฉฑเจฒเฉเจเฅค เจฌเจฟเจฒเจก เจธเฉเจเจธเจผเจจ 'เจคเฉ เจเจพเจ, เจฌเจฟเฉฑเจเจฌเจเฉเจ เจเจพเจคเฉ เจจเฉเฉฐ เจกเจฟเจธเจเจจเฉเจเจ เจเจฐเฉ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ
เจเจฆเฉเจ เจชเฉเจฐเจพเจฃเจพ เจเจพเจคเจพ เจ เจฃเจฒเจฟเฉฐเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ เจ เจธเฉเจ AppCenter เจจเฉเฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเฉฐเจ เจเจฐเจฆเฉ เจนเจพเจเฅค เจนเฉเจฃ เจฒเฉเฉเฉเจเจฆเฉ เจเจพเจคเฉ เจตเฉฑเจฒ.
'eval' เจจเฉเฉฐ เจ เฉฐเจฆเจฐเฉเจจเฉ เจเจพเจ เจฌเจพเจนเจฐเฉ เจเจฎเจพเจเจก เจตเจเฉเจ เจฎเจพเจจเจคเจพ เจจเจนเฉเจ เจฆเจฟเฉฑเจคเฉ เจเจ เจนเฉ
เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจเจฎเจพเจเจก เจฆเฉ เจฌเจเจพเจ เจตเจฐเจคเจฆเฉ เจนเจพเจ
- eval $(ssh-agent -s)
เจเฉเจฎ:
- ssh-agent
เจเฉเจ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจพเจ เจคเจพเจ C:Program FilesGitusrbinssh-agent.exe เจฆเจพ เจชเฉเจฐเจพ เจฎเจพเจฐเจ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจเจพ เจนเฉเจตเฉเจเจพ, เจเจพเจ เจเจธ เจฎเจพเจฐเจ เจจเฉเฉฐ เจฎเจธเจผเฉเจจ เจฆเฉ เจธเจฟเจธเจเจฎ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเจจเจพ เจนเฉเจตเฉเจเจพ เจเจฟเฉฑเจฅเฉ เจฆเฉเฉเจพเจ เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉเฅค
เจเจชเจธเฉเจเจเจฐ เจฌเจฟเจฒเจก เจเฉฑเจ เจชเฉเจฐเจพเจฃเฉ เจฌเจฟเฉฑเจเจฌเจเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเฉเจ เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจฒเจ เจเฉฑเจ เจฌเจฟเจฒเจก เจฒเจพเจเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
เจฎเฉเจฐเฉ เจเฉเจธ เจตเจฟเฉฑเจ, เจธเจฎเฉฑเจธเจฟเจ เจชเฉเจฆเจพ เจนเฉเจ เจเจฟเจเจเจเจฟ เจฎเฉเจ เจเจ เจเจพเจคเจฟเจเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐ เจฐเจฟเจนเจพ เจธเฉเฅค เจฎเฉเจ เจเฉเจธเจผ เจจเฉเฉฐ เจธเจพเจซเจผ เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพเฅค
เจธเจฐเฉเจค: www.habr.com