Progetti
Nel valutare le possibili soluzioni per il nuovo Git Forge, abbiamo considerato
Pagure e Gitlab. Sulla base di uno studio di circa
I requisiti includevano funzionalità come l'invio di richieste push su HTTPS, mezzi per limitare l'accesso alle filiali, supporto per filiali private, separazione dell'accesso per utenti esterni e interni (ad esempio, per lavorare sull'eliminazione delle vulnerabilità durante un embargo sulla divulgazione di informazioni sul problema) , interfaccia di familiarità, unificazione di sottosistemi per lavorare con report di problemi, codice, documentazione e pianificazione di nuove funzionalità, disponibilità di strumenti per l'integrazione con IDE, supporto per flussi di lavoro standard.
Tra le funzionalità di GitLab che alla fine hanno influenzato la decisione di scegliere questa piattaforma, è stato menzionato il supporto per sottogruppi con accesso selettivo ai repository, la possibilità di utilizzare un bot per unioni automatiche (è necessario CentOS Stream per mantenere i pacchetti con il kernel), la presenza di strumenti integrati per la pianificazione dello sviluppo, possibilità di utilizzare un servizio SAAS già pronto con un livello di disponibilità garantito (libererà risorse per il mantenimento dell'infrastruttura server).
La decisione è già
È stata criticata anche l'intenzione di utilizzare il servizio SAAS (application as a service) fornito da GitLab, invece di implementare GitLab sui propri server, il che porta il servizio fuori controllo (ad esempio, è impossibile essere sicuri che tutte le vulnerabilità in il sistema vengono prontamente eliminati,
Nel frattempo, GitLab
Le seguenti funzioni sono state trasferite all'aperto:
- Allegare il problema correlato;
- Esporta il problema da GitLab a CSV;
- Una modalità di pianificazione, organizzazione e visualizzazione del processo di sviluppo di singole funzionalità o rilasci;
- Servizio integrato per connettere i partecipanti al progetto con terze parti tramite e-mail.
- Terminale Web per IDE Web;
- Possibilità di sincronizzare i file per testare le modifiche al codice nel terminale web;
- Controlli di progettazione che ti consentono di caricare modelli e risorse su Issue, utilizzando Issue come unico punto di accesso a tutto ciò di cui hai bisogno per sviluppare una nuova funzionalità;
- Rapporti sulla qualità del codice;
- Supporto per gestori di pacchetti Conan (C/C++), Maven (Java), NPM (node.js) e NuGet (.NET);
- Supporto per distribuzioni canary, che consente di installare una nuova versione dell'applicazione su una piccola parte dei sistemi;
- Distribuzioni incrementali, che consentono inizialmente di distribuire le nuove versioni solo a un numero limitato di sistemi, aumentando gradualmente la copertura fino al 100%;
- Flag di attivazione delle funzionalità, che permettono di consegnare il progetto in varie edizioni, attivando dinamicamente alcune funzionalità;
- Modalità di panoramica della distribuzione, che consente di valutare lo stato di ciascun ambiente di integrazione continua basato su Kubernetes;
- Supporto per la definizione di più cluster Kubernetes nel configuratore (ad esempio, puoi utilizzare cluster Kubernetes separati per implementazioni di prova e carichi di lavoro);
- Supporto per la definizione di policy di sicurezza della rete di contenitori che consentono di limitare l'accesso tra i pod Kubernetes.
Inoltre si può notare
I dettagli sulla vulnerabilità verranno divulgati dopo 30 giorni.
Fonte: opennet.ru