Yeni əhəmiyyətli buraxılış mövcuddur , tam proqram inkişafı dövrünü idarə edən platformadır və DevOps paradiqmasına uyğun layihələrin inkişafı üçün tam eşit alətlər toplusunu təqdim edir. OneDev imkanlarına görə GitLab-a bənzəyir və eyni zamanda öz infrastrukturlarında iştirakçi inkişaf, qiymətləndirmə, test, tikinti və buraxılışların təqdim edilməsi üçün xarici bulud xidmətlərinə, məsələn, GitHub-a bağlı olmadan çalışdırma imkanı verir. Layihənin kodu Java dilində yazılmışdır və MIT lisenziyası altında.
Bəzi imkanlar:
- CI-yığma sistemlərinin aktivləşdirilməsi üçün Kubernetdə yığma fermasının yerləşdirmə prosesini asanlaşdırır, agentlər və icraçılar həyata keçirmək tələb etmir. Linux və Windows konteynerlərində test etmə imkanı;
- YAML-faylları yazmadan və sintaksisi yadda saxlamadan vizual rejimdə yığma şərtləri (Build Spec) yaratma dəstəyi;
- Müəyyən şərtlərlə yığma prosesini çevik şəkildə konfiqurasiya etmək, bir neçə yığma işini paralel həyata keçirmək və müəyyən hadisələrin meydana gəlməsi zamanı avtomatik işlərin başladılması imkanı;
- Problemlər (issue) üçün bildirişlərin öz durumlarını və sahələrini təyin etmək, sahələr arasında asılılıqlar təyin etmək və müəyyən hadisələrin meydana gəlməsi zamanı durumun avtomatik dəyişdirilməsi dəstəyi;
- Səhifəni yenidən yükləmədən auto-yenilənən issue interfeysi;
- Java, JavaScript, C, C++, CSharp, Go, PHP, Python, CSS, SCSS, LESS və R sintaksisinin xüsusiyyətlərinə dair kod və dəyişikliklər arasında axtarış və naviqasiya sistemi;
- Koda və dəyişiklik bloklarına (diff) müzakirələr və xarici şərhləri bağlamaq üçün dəstək;
- Müəyyən budaqları qoruma və qiymətləndirmək üçün inkişafçılar təyin etmə imkanı ilə pull-şəklində nəzərdən keçirmə qaydaları;
- Pull-şəklində nəzərdən keçirmə zamanı komitlərin analizini mərhələli rejimdə aparmaq. Keçmiş qiymətləndirmə müzakirələrinə bağlanma;
- Layihələrdə, komitlərdə, yığmalarda, issues, pull-şəklində və şərhlərdə lazım olan məlumatı tapmağa imkan verən sorğu dili. Sorğunu saxlama və bununla bağlı yeni hadisələr haqqında bildiriş alma imkanı;
- Kimin müəyyən bir alt kataloqda kod dəyişdirməyə, issues-ı təyin etməyə, buraxılış yığmalarını işə salmağa, logları görüntüləməyə imkan verdiyini müəyyən etməyə imkan verən giriş mühafizəsi sistemi;
- Repozitarların yaradılması və klonlanması üçün imkanlar;
- Master-budaqda komitlərin həyata keçirilməsi haqqında bildirişlər almaq üçün abunə;
- Davamlı inteqrasiya sistemində qəbul ediləcək komitlərin avtomatik kontrolü və minimal iki inkişafçını daxil edən ekspert komitəsi tərəfindən təsdiqlənməsi ilə pull-şəklində dəstən ibarət;
- Müzakirəni, komiti, yığmaları və pull-şəklində bağlamağa imkan verən komit mesajı vasitəsilə issues-ı bağlamaq imkanı;
- İstifadəçilərə problem həlli (issue) üçün hansı həllərin ayrıldığını göstərmək məqsədilə interfeysdə saxlanılan formaların yaradılması imkanı;
- Əlavə olaraq, bəzi modullara və platformalara issue-ları qoşmaq üçün sərbəst sahələrin yaradılması dəstəyi;
- Problemin statusunu düzəliş edildikdə 'Deployed', pull request açıldıqda isə 'Review' olaraq avtomatik dəyişdirmək imkanı;
- Testçi statusuna malik olan inkişaf etdiricilər tərəfindən verilə bilən 'Verified' problemi statusunu təyin etmək imkanı;
- Versiyanın təyin edilməsi və müvəffəqiyyətli yığılma halında uyğun tagın yaradılması ilə birlikdə əl ilə yenidən yığma prosesinin başlatılması üçün dəstək;
- Əl ilə yenidən yığma zamanı platforma və Linux nüvəsi versiyasının seçilməsi imkanı;
- Master branch-ə edilən komitlər zamanı Oracle/MySQL və Linux/Windows-un müxtəlif kombinasiyalarında CI-də test etməyi dəstəkləyir;
- CI-də master branch yığılma xətası baş verdikdə problem (issue) üçün avtomatik bildirişlərin yaradılması və məsul şəxsin təyin edilməsi. Yığılma xətası aradan qaldırıldıqda, issue-nin avtomatik bağlanması;
- Bir işdə faylların yaradılması, ikinci işdə onların paralel işlənməsi və üçüncü işdə nəticələrin təhlil edilməsi imkanı;
- Kubernetes-də işləmə başa çatdıqda xətanın olduğu halda işlərin yenidən başladılması üçün dəstək;
- İşlərin icrası zamanı MySQL xidmətindən istifadə etmək imkanı;
- Yığılma spesifikasiyası müəyyən edildikdə gizli açarın təyin edilməsini dəstəkləyir;
- Anonim istifadəçilərin yalnız müəyyən layihələrin buraxılışlarına girişini məhdudlaşdırmaq imkanı;
- Yalnız master branch-dən buraxılışların yaradılmasını və yalnız master branch-dən yığılan buraxılışların istehsal serverlərində yerləşdirilməsini dəstəkləyir.
Mənbə: opennet.ru
