Jenkins vs Azure DevOps Pipelines


12

Ho fatto alcune ricerche sulla soluzione DevOps di Azure che Microsoft ha recentemente svelato .

Un po 'di storia, ho usato Jenkins per anni e recentemente ho iniziato a esplorare la tana del coniglio di containerizzazione (Docker, Kubernetes, ecc.),

Non sono sicuro di alcuni aspetti delle pipeline di DevOps di Azure e sarebbe fantastico ricevere feedback e chiarezza.

TL; DR

  1. Azure DevOps è ora in competizione con Jenkins, dove in precedenza avevano supportato la comunità Jenkins tramite plugin open source per Jenkins?
  2. È possibile per me ospitare le pipeline DevOps di Azure completamente on premise, non solo agenti?
  3. È possibile usare una soluzione git self-hosted (come GitLab on-premise) con Pipeline DevOps di Azure?

Versione più lunga

  1. Microsoft ha sviluppato vari plug-in open source per Jenkins, come il plug-in Jenkins del servizio app di Azure . Ci sono molti esempi A me sembra che la soluzione Azure DevOps (in particolare Pipeline) sia in concorrenza diretta con Jenkins o mi manchi qualcosa?
  2. A me sembra che non ci sia modo di ospitare la soluzione Pipeline di Azure on premise o in un provider cloud di mia scelta. Sì, posso ospitare i miei agenti in cui viene eseguita la maggior parte del lavoro, ma l'esecuzione effettiva della logica della pipeline avviene sui server di Microsoft. E poi devo pagare per lavori paralleli . Lo sto confrontando con un'istanza Jenkins ospitata on-premise (o cloud provider di scelta), dove non è richiesto alcun pagamento e nessuna terza parte è nemmeno a conoscenza del fatto che le nostre pipeline sono in esecuzione. Mi sto perdendo qualcosa?
  3. Da quello che posso dire, Azure Pipelines non ha supporto per i repository self-host, ho messo il mio codice su GitHub o sui repository di Azure , nient'altro. Quindi, non posso nemmeno usare questa soluzione Pipeline se ho un'istanza GitLab ospitata privatamente?

Grazie per qualsiasi input.


2
Potrei suggerire di dividere questa domanda in domande separate? La domanda così com'è sembra più un invito a discutere le opinioni. Se potessi separarli in singole domande, potrebbero ricevere una risposta migliore.
Bruce Becker,

Ciao Hai qualche risposta per una di queste domande?
user10804

Azure Devops non può essere ospitato on premise, ma TFS può essere essenzialmente la stessa cosa ma ottenere gli aggiornamenti leggermente più lentamente. Usiamo TFS 2018 in prem ed è fantastico
Rich

Questa è una vera domanda? A me sembra FUD senza ricerche reali.
Carles Company,

Ottima domanda! Hai raggiunto una risposta alle tue domande? In tal caso, scrivilo in modo che anche la community possa trarne vantaggio.
rodrigogq,

Risposte:


4

Mi piacerebbe anche avere un po 'di chiarezza forse da una fonte più autorevole di me stesso (sono sicuro di essere anche colpevole di FUD).

Ho cercato di distribuire in Azure usando Kubernetes. Sono allo stesso modo confuso, ma penso che sia perché non esiste un percorso chiaro. Non posso parlare per Microsoft, ma il loro atteggiamento verso il cloud sembra essere felice di diventare " tutte le cose per tutti gli uomini ". Se stai usando Azure, Microsoft non sembra avere una forte opinione su come arrivarci.

Microsoft sta attivamente cercando di evolversi; ad esempio Linux ora domina Azure


Chiaramente la pipeline di distribuzione DevOps di Azure fa esattamente ciò che Jenkins può fare, quindi in questo senso è un concorrente. C'è anche quel prezzo leggermente scoraggiante di DevOps di Azure per pipeline parallele.

Da un lato, Azure DevOps sembra essere un re-branding di Visual Studio Team Services. Quindi sarà familiare alle persone già all'interno del tradizionale ecosistema di sviluppo Microsoft. Allo stesso tempo, Microsoft sta facendo grandi sforzi per abbracciare tecnologie che non sono tradizionalmente Microsoft ( Go, Java, Node.js, Python, Ruby, PHP ecc.).

È presto - ma non sorprende che le pipeline di DevOps di Azure preferiscano le proprietà Microsoft Git di Azure Repos e GitHub. Allo stesso modo in cui le pipeline BitBucket preferiscono le pipeline BitBucket e GitLab preferiscono GitLab.


Nel frattempo;

Azure Marketplace offre una distribuzione Jenkins fornita con plug-in di distribuzione di Azure pronti all'uso.

Molti plug-in Jenkins sono stati sviluppati dal team Azure DevOps .


Inoltre;

Microsoft ha supportato i progetti relativi a Kubernetes Helm and Draft . Helm è un gestore di pacchetti per Kubernetes. Puoi anche usare Helm per distribuire un'installazione Jenkins in Kubernetes.

-

Sarebbe interessante vedere qualcuno valutare i vantaggi, i costi e lo sforzo di eseguire i propri Jenkins in versi di Azure usando le pipeline di DevOps di Azure.

... e poi c'è Jenkins-X .

Quindi sembrerebbe che abbiamo molte opzioni e decisioni da prendere.


2

In risposta alla parte 2 (forse), sembra che lo stiano lanciando come alternativa a Jenkins, anche se ci sono molti documenti che suggeriscono che possono essere usati tutti insieme (e qui ). Se utilizzato con Jenkins, tuttavia, sembra essere più focalizzato su un ponte di distribuzione. Speravo di poterlo usare come agente di costruzione con Jenkins come orchestratore, come avrei potuto fare con Jenkins e AWS CodeBuild. Non ho ancora visto nulla che possa suggerire di poterlo fare, ma forse ... Le implementazioni multi-cloud sono molto interessanti ...


2
  1. Sì, perché Azure Pipelines può fare ciò che fa Jenkins. Tuttavia, non devi buttare il bambino fuori con l'acqua del bagno. Microsoft continua a posizionare le proprie piattaforme in modo tale che possano verificarsi integrazioni con installazioni esistenti praticamente di tutto. Molte organizzazioni hanno enormi investimenti in strumenti difficili da cambiare. Piuttosto che assumere una posizione del tutto o niente, Microsoft sta abbracciando gli standard e una mentalità personale, offrendo la scelta definitiva su come si desidera implementare gli strumenti.

  2. Gli agenti sono tecnicamente la tua pipeline poiché le attività vengono eseguite sugli agenti targetizzati all'interno della pipeline. Tutto ciò che si sta configurando all'interno del portale sono i passaggi che verranno eseguiti dalla pipeline. Gli agenti scaricano gli strumenti / le estensioni necessari per eseguire le attività. Inoltre, con le nuove pipeline YAML, le pipeline sono definite all'interno dei repository di codice. Per quanto riguarda l'hosting, è possibile ospitare Azure DevOps Server interamente on premise, all'interno di qualsiasi provider cloud o una combinazione di VM di Azure e Azure SQL.

  3. I repository Git generici sono supportati nei servizi DevOps di Azure usando l'editor classico o sia YAML sia l'editor classico se al momento si usa il server DevOps di Azure (locale). È possibile aggiungere l' integrazione del repository GitLab installando l'estensione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.