9 idee e argomenti interessanti per il progetto Jenkins [per principianti ed esperti]

Pubblicato: 2020-09-10

Jenkins è uno strumento open source popolare tra i professionisti DevOps. Facilita l'integrazione continua ed è costruito in Java. Se stai imparando a conoscere DevOps e automazione, dovresti conoscere Jenkins in quanto è uno degli strumenti dei team DevOps più famosi. I team DevOps utilizzano questo strumento durante tutto il ciclo di sviluppo di un prodotto software.

Il modo migliore per conoscere uno strumento come Jenkins è lavorare sui suoi progetti. Ecco perché discuteremo delle nostre migliori idee per i progetti Jenkins in questo articolo. I nostri progetti sono per vari livelli di abilità, quindi puoi scegliere in base ai tuoi interessi ed esperienza. Cominciamo:

Sommario

Le nostre migliori idee per i progetti Jenkins

Prerequisiti

Nota che prima di iniziare a lavorare su uno qualsiasi dei seguenti progetti Jenkins, dovresti avere una conoscenza sufficiente di Java. Jenkins è basato su Java e, pertanto, dovresti avere familiarità con la sua sintassi e le sue implementazioni. Altrimenti, avresti difficoltà a completare alcuni dei progetti di cui abbiamo discusso di seguito. Alcuni progetti richiedono competenze aggiuntive.

1. Oceano blu

Questo è un progetto che dovresti conoscere mentre lavori con Jenkins. Blue Ocean consente agli utenti di creare, diagnosticare e visualizzare pipeline CD (consegna continua) attraverso la grafica. Semplifica l'utilizzo di Jenkins offrendo un'interfaccia grafica unica e facile da usare. Che tu sia un principiante delle pipeline di Continuous Delivery o che tu abbia una certa esperienza, lo troverai relativamente facile da imparare.

Blue Ocean è diventato parte integrante di Jenkins sin dal suo arrivo, ed è per questo che devi conoscere il suo funzionamento. L'apprendimento di Blue Ocean ti assicurerà di sapere come funziona Jenkins e come puoi usarlo per la consegna continua. Le sue funzionalità di visualizzazione consentono di rappresentare le pipeline in modo tale da poterle mostrare anche agli utenti non tecnici. La semplice rappresentazione rende facile anche la diagnosi dei problemi. Puoi trovare facilmente gli errori utilizzando la visualizzazione e correggerli rapidamente.

Tutto sommato, conoscere Blue Ocean ti sarebbe di grande beneficio nel familiarizzare con Jenkins.

2. Infrastruttura Jenkins

Jenkins è una tecnologia open source. Ciò significa che il suo codice è disponibile per tutti apertamente. Se sei un programmatore esperto e vuoi mostrare la tua esperienza, puoi contribuire alla sua infrastruttura. Starebbe benissimo sul tuo CV e ti aiuterebbe a imparare molto sulle attività collaborative. Potrai anche sperimentare come le tecnologie open source migliorano aiutando Jenkins a migliorare.

Esistono vari modi per contribuire all'infrastruttura Jenkins. Puoi contribuire al loro sito Web o all'infrastruttura principale della tecnologia. Per contribuire al sito, dovrai utilizzare l'HTML, mentre dovrai implementare Ruby per il contributo all'infrastruttura. Ha una fiorente comunità di sviluppatori e collaboratori, che sarebbero lieti di aiutarti in caso di problemi. Puoi andare qui per saperne di più sull'infrastruttura Jenkins .

3. Progetto di telegestione Jenkins

Questa è un'ottima idea di progetto per il networking di studenti e appassionati. Ti permetterebbe di imparare le applicazioni di rete di Jenkins e vedere come puoi migliorarne l'implementazione. Jenkins Remoting è un archivio e una libreria per implementare un livello di comunicazione. Dispone di protocolli TCP, streaming di dati, chiamate di procedura, ecc. Poiché si basa sui protocolli TCP, il fallimento degli stessi provoca il fallimento anche della connessione dell'agente. I protocolli causano ostacoli quando anche più agenti comunicano attraverso di esso. Questi inconvenienti influenzano la scala e la stabilità di Jenkins.

Quindi, in questo progetto, puoi migliorare Jenkins Remoting. Puoi farlo rendendolo compatibile con una tecnologia di bus di messaggi/coda (ActiveMQ o RabbitMQ). Potrebbe fungere da strato tollerante ai guasti per Jenkins. Per completare questo progetto, dovresti avere familiarità con le basi di rete, code di messaggi e Java.

4. Migliora Jenkins ATH

Jenkins ATH (Acceptance Test Harness) è uno strumento per testare le librerie DSL e i file Jenkins prima di distribuirli. Tuttavia, la vecchia versione di questo strumento presenta diversi inconvenienti:

  • Deve eseguire il bootstrap di un'istanza completa per ogni metodo di test, quindi è relativamente lento nelle prestazioni
  • Gli ambienti reali di solito richiedono un set esatto di plugin e le loro versioni

Puoi migliorare Jenkins ATH risolvendo entrambi questi problemi. Se non hai mai lavorato a nessun progetto Jenkins prima, puoi iniziare a risolvere prima uno di questi problemi e poi passare a risolvere il successivo. Per completare questo progetto, dovresti avere familiarità con Docker e Selenium, insieme a Java.

5. Plugin per il passaggio Elimina build

In questo progetto, devi creare un plug-in che dia agli utenti la possibilità di gestire la propria politica di conservazione dei dati in modo più appropriato. Il plug-in dovrebbe consentire agli utenti di implementare la policy per creare artefatti, cronologie e spazi di lavoro. Di solito, gli amministratori di un'attività devono gestire questo problema, ma sarebbe più opportuno fornire ai collaboratori del progetto la possibilità di implementare la propria politica di conservazione dei dati. Il tuo plug-in dovrebbe consentire agli utenti di creare e definire i propri criteri di conservazione dei dati utilizzando un passaggio di creazione della pipeline.

Puoi migliorare la funzione Elimina vecchie build e renderla più adatta al codice. Puoi concentrarti sull'offerta di più funzionalità rispetto a quelle offerte dall'attuale struttura Elimina vecchie build. Il funzionamento del tuo plugin può essere suddiviso in due sezioni. In primo luogo, selezionerebbe le build che deve scartare in base alla cronologia di un determinato lavoro. Quindi dovrebbe scartare le build che ha aggiunto al suo elenco.

È uno dei progetti Jenkins più interessati e potresti imparare molto completandolo. Puoi utilizzare il plug-in Run Selector come base per il tuo progetto.

6. Copertura del codice

È possibile creare un plug-in che esegua la copertura del codice. Sebbene sia una delle idee di progetto Jenkins più comuni, puoi fare un ulteriore passo avanti rendendo il tuo strumento di copertura del codice unico e potente. Ad esempio, puoi unire più strumenti di copertura del codice in uno e rendere il tuo plug-in più versatile e pratico. Se sei un principiante, puoi creare solo un semplice plug-in di copertura del codice. D'altra parte, se sei un programmatore Jenkins esperto, puoi rendere il progetto più impegnativo seguendo l'idea che abbiamo condiviso qui, ovvero combinare diversi plugin in uno solo.

Oltre a Java, dovrai implementare HTML e CSS anche in questo progetto. Ti aiuteranno a rendere la struttura e l'aspetto del tuo strumento migliori e più attraenti.

7. Strumenti EDA

Gli strumenti di Electronic Design Automation (EDA in breve) sono piuttosto popolari tra gli ingegneri a causa dei vari vantaggi. Puoi creare un plug-in che integri uno strumento EDA con Jenkins, migliorando le prestazioni di entrambi contemporaneamente. L'integrazione dello strumento EDA con Jenkins consentirà agli utenti di eseguire molte attività che prima non sarebbero stati in grado di svolgere. Ad esempio, possono pubblicare rapporti sui tempi, utilizzare altri plug-in Jenkins in base ai loro requisiti, avviare lavori Pipeline con passaggi, ecc.

Ci sono molti strumenti EDA open source disponibili sul mercato. Puoi scegliere tra uno qualsiasi di questi strumenti open source (FuseSoC, icetools, Yosys, ecc.) O scegliere altri mezzi di tuo gradimento. Se sei un principiante, puoi iniziare con uno strumento EDA e integrarlo con Jenkins. D'altra parte, puoi rendere questo compito più impegnativo integrando diversi strumenti EDA con vari plugin Jenkins. È un ottimo progetto per imparare le applicazioni di Jenkins nel campo dell'ingegneria.

8. Memoria esterna per l'impronta digitale Jenkins

Jenkins archivia gli artefatti, le credenziali, la cronologia di utilizzo e altri dati rilevanti attraverso il suo motore di impronte digitali. Il motore dispone di un database XML con varie WebUI per facilitarne il funzionamento. È possibile creare un plug-in Jenkins che consenta al motore Jenkins Fingerprinting di archiviare i propri dati di archiviazione esterni.

Molte organizzazioni potrebbero dover esportare i propri dati in un altro archivio per vari motivi (ad esempio, spazio di archiviazione insufficiente nel motore). La tua soluzione consentirebbe agli utenti di esportare i propri dati dal motore e utilizzarli per altri scopi. Dovresti avere una certa esperienza nel lavorare su progetti Jenkins prima di iniziare a lavorare su questo.

Dovresti usare JavaScript, REST API e Java per completare questa attività. Dovresti anche avere familiarità con i database e le loro operazioni poiché lavorerai con loro in questo progetto.

9. Convertitore di lavoro per Jenkins

Jenkins è uno strumento per la consegna continua, quindi si concentra sulle pipeline per l'efficienza. Tuttavia, sappiamo tutti che molti lavori sono freestyle e non basati su pipeline. Puoi creare uno strumento per Jenkins che converta i lavori freestyle in lavori della pipeline. Il dispositivo dovrebbe migrare i dati del lavoro freestyle nel suo database e organizzarli in un lavoro Pipeline.

Come principiante, puoi mantenere il progetto semplice creando un semplice strumento di migrazione e conversione. D'altra parte, puoi renderlo più impegnativo rendendolo in grado di migrare più lavori freestyle e convertirli in un unico lavoro Pipeline.

Il tuo strumento avrebbe due sezioni, una per la migrazione dei dati e un'altra per la conversione. Dovresti avere familiarità con Groovy (il linguaggio responsabile di Jenkins Pipeline), Python, Java, XML e Jenkins Pipelines per lavorare su questo progetto.

Ulteriori informazioni su Jenkins e sulla consegna continua

Siamo giunti alla fine della nostra lista. Ci auguriamo che tu abbia trovato utili le nostre idee per i progetti Jenkins. Lavorare su questi progetti ti aiuterà a diventare un utente e uno sviluppatore Jenkins migliore. Ti darebbe esperienza anche nelle implementazioni di distribuzione continua. Se vuoi saperne di più su Jenkins e sulla consegna continua, ti consigliamo di visitare il nostro blog. Troverai molte risorse preziose ed eccitanti (come questa) sul nostro blog. Eccone due per ulteriori letture:

  • Stipendio di Jenkins in India
  • Cos'è Jenkins? Storia, architettura e altro
  • Domande per l'intervista a Jenkins

Se sei interessato a saperne di più sullo sviluppo full-stack, dai un'occhiata al Diploma PG di upGrad & IIIT-B in Sviluppo software full-stack, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti e incarichi , status di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Cosa ne pensi di questo articolo? Quale idea progettuale ti è piaciuta di più? Facci sapere nella sezione commenti qui sotto.

Corso di sviluppo software | Padroneggia Java, C, Python e altro‎

INDUSTRY TRUSTED LEARNING - CORSO PRATICO ORIENTATO - CERTIFICAZIONE INDUSTRIA RICONOSCIUTA.
Iscriviti oggi