ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° GitBucket 4.37, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Ρ Git Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² ΡΡΠΈΠ»Π° Π½Π° GitHub ΠΈ Bitbucket. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ Π»Π΅ΡΠ½Π° Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅, ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΡΡΠ΅Π· ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ ΠΈ Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Ρ GitHub API. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Scala ΠΈ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· Apache 2.0. MySQL ΠΈ PostgreSQL ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ Π‘Π£ΠΠ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° GitBucket:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΠΈ ΡΠ°ΡΡΠ½ΠΈ Git Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Ρ Π΄ΠΎΡΡΡΠΏ ΠΏΡΠ΅Π· HTTP ΠΈ SSH;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° GitLFS;
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅;
- ΠΠ°Π»ΠΈΡΠΈΠ΅ Π½Π° Wiki Π·Π° ΠΈΠ·Π³ΠΎΡΠ²ΡΠ½Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ;
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π° Π³ΡΠ΅ΡΠΊΠ° (Issues);
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ (Pull requests);
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ ΠΏΠΎ ΠΈΠΌΠ΅ΠΉΠ»;
- ΠΡΠΎΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ Π³ΡΡΠΏΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° LDAP ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ;
- ΠΠ»ΡΠ³ΠΈΠ½ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ ΠΎΡ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΎΡ ΡΠ»Π΅Π½ΠΎΠ²Π΅ Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°. Π‘Π»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ: ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π±Π΅Π»Π΅ΠΆΠΊΠΈ, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅, ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΠ»ΠΎΡ, Π½Π°ΡΠ΅ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ ΠΈ ΡΠ΅ΡΡΠ°Π½Π΅ Π½Π° AsciiDoc.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ URL Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΡΡΠ΅Π· SSH, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ GitBucket ΡΡΠ΅Π· SSH Π½Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ, Π° ΡΡΠ΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° EDDSA ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ΅Π· Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ apaceh-sshd ΠΈ bouncycastle-java.
- ΠΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π·Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° (ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΎ ΠΎΡ 20 Π½Π° 40 Π·Π½Π°ΠΊΠ°) ΠΈ WebHook URL (ΠΎΡ 200 Π½Π° 400 Π·Π½Π°ΠΊΠ°).
- Π£Π΅Π± API Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Jenkins Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ API ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Git (Git Reference API) ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΡ (ΠΊΡΠ°ΠΉΡΠ³ΡΠ»Π΅Π½ ΠΊΠ°ΠΌΡΠΊ) ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΡ Ρ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru