Press "Enter" to skip to content

GOTO 2018 • 40 Jenkins Features & Plugins You Wished You had Known about Before! • Joep Weijers


[Musica]
Spero tu possa riuscire a rimanere sveglio
prima che prendiamo da bere più tardi, io sono te
compratori Sono un banco di noleggio principale costruito
e in quel ruolo con cui lavoro o lotto
Jenkins ogni giorno e ho raccolto 40 consigli
per te ma prima fammi conoscere il mio
pubblico che qui nel pubblico si alza
la tua mano se usi Jenkins wow
è molto bello nessuno ancora sul
il predecessore di Jenkins Hudson no
buono perché è un predecessore di a
ragione ci sono diverse alternative
bambù chiunque teamcity travis circle
solo una mano occasionale va bene così forse
anche le persone che non usano l’IC sono proprio così
interessante c’è stato un sondaggio fatto
sullo stato dell’ecosistema jvm e
Jenkins è ancora il sistema di CI più utilizzato
ma forse il più interessante qui è
quel 21 per cento della gente dice di loro
non usare alcun sistema di CI , quindi sono davvero
chiedendosi perché ne parlerò di tre
Gli argomenti a livello globale sono i primi a essere configurati
il tuo Jenkins sta preparando il secondo
il tuo lavoro e il terzo che è
saranno alcuni argomenti più avanzati
come il monitoraggio e la sicurezza e questi
suggerimenti Sto cercando di ottenere uno di loro uno
mancia al minuto e arrivano in tre
livelli di difficoltà per il primo
l’ icona avrà accanto questa icona
sono gli utenti regolari di sola lettura di Jenkins
le persone che sanno di avere un
Jenkins che corre e che dovrebbero
guarda lì quando sono costruiti ha fallito
ma in realtà non tendono a fare molto
con esso il livello successivo sono il potere
utenti
queste sono le persone che conoscono la loro strada
in giro per la spazzatura è un po ‘che possono creare un
lavoro e sentirsi a proprio agio facendo clic in giro
quindi l’ultima categoria sono i Jenkins
maestri questi sono in genere i
amministratori o il go-to ragazzi che
saprà sempre solo uno specifico
plugin per il tuo caso d’uso specifico any
domanda che tu possa rispondere così
stavi andando a creare Jenkins the
Il modo più semplice è usare la finestra mobile Jenkins
disponibile anche nel negozio apt ma poi
devi fare tutti questi tipi di brutto
comandi che aggiungono i tuoi elenchi di pacchetti
devi installare Java te stesso facciamolo
non farlo prendiamo un preconfezionato
immagine docker e questo è un comando che
si usa per iniziare una cosa da notare
ecco che usiamo un supporto per il volume
per la home directory VAR Yankees e
questo è quello di garantire che tutto il lavoro
configurazione e tutti i risultati del lavoro
sono memorizzati tra le esecuzioni del tuo
la finestra mobile viene eseguita così quando si eseguono questi
i comandi vedrai apparire nel
linea di comando da qualche parte e sii sicuro di
copia questa password perché puoi averne bisogno
in seguito, la seconda punta è che tu
dovrebbe usare l’ immagine Jenkins Jenkins
ci sono due immagini nell’hub docker
attualmente uno è il repository ufficiale
che è deprecato non usare quell’uso
il deposito Jenkins Jenkins che ha
rilasci settimanali LTS ed è
quello che dovresti usare
ora Jenkins arriva per la prima volta
programma di installazione e che ti aiuterà a ottenere
andare con Jenkins sembra un po ‘come questo
per prima cosa copiate incolla la password che
sei arrivato dalla console e poi lo sei
presentato con un’opzione vuoi
installa i plugin suggeriti o fai tu
voglio scegliere te stesso e io sempre
raccomandare alla gente di fare una revisione di quelli
plugin se si seleziona se si dice di te
vuoi selezionare i plugin tu stesso
ancora i plugin suggeriti sono
preselezionato in modo da poter facilmente rivedere
loro cosa sarebbe stato installato e
forse puoi deselezionare alcuni come
sovversione e una volta che la stai usando
e in genere non è realmente utilizzato
spesso più ora questo è un passaggio manuale
per installare i tuoi plugin
Mi piace l’automazione, quindi vediamo se possiamo
automatizzare che c’è un modo per
eseguire il provisioning dei plug-in all’interno della finestra mobile
contenitore c’è un piccolo script di shell
chiamato plugin di installazione ci vorrà a
elenco dei plugin e installerà che
puoi chiamarlo con questa finestra mobile esatta
comando e dopo aver fatto questo lo farai
riavviare Jenkins perché lo era
già in esecuzione quando c’erano i plugin
installato possiamo saltare questa fase di riavvio
rotolando la nostra immagine di finestra mobile e quindi
abbiamo appena messo tutti questi plugin in a
piccolo file di testo e quindi assicurati che
quando iniziamo a parlare della sua immagine
questo script di plug-in installato viene chiamato
ora questo installa solo plugin ancora
devo configurarli da soli io no
piace fare il lavoro manuale , quindi automatizziamo
che c’è un nuovo progetto è solo
rilasciato per un paio di mesi e ora
si chiama configurazione Jenkins come
codice in cui è possibile specificare il tuo
plugin e la tua configurazione di quelli
plugin in un file giallo
Non voglio immergermi troppo nei dettagli qui
ma questo è il link delle diapositive di
anche i modi saranno condivisi in viaggio
al sito Web di Copenaghen in modo da non avere
per cercare di memorizzare tutti questi URL spero
che puoi solo cercarli più tardi ora
abbiamo creato il nostro maestro Jenkins e noi
può eseguire lavori su questo, ma non dovresti
fai così dovresti usare gli agenti ora perché lo è
che se si utilizza un’installazione predefinita
di Jenkins che il maestro dovrà costruire
slot esecutore che significa che significa
che due lavori possono essere eseguiti contemporaneamente
e questo va bene per piccoli progetti ma
se vuoi compilare quel milione
linee di codice in un grande processo lo elaborano
ci vogliono 2 ore sì , puoi solo farlo
correndo allo stesso tempo e il resto
dovresti aspettare fino a quando quei due sono
fatto così andiamo alle impostazioni e andiamo a
i computer o le note e ci sei tu
ottenere una panoramica di quali sono le note
a disposizione
nessuna terminologia era chiamata
schiavi ma non era culturalmente
appropriato più così è stato
ribattezzato agli agenti ma in alcuni posti voi
vedi ancora note o computer così tutti loro
fare riferimento alla stessa cosa agente in questo modo
caso vediamo che c’è un solo agente
l’ agente principale , ma possiamo facilmente modificare
aggiungine uno nuovo usando SSH o jnlp jnop
va oltre il porto 50.000 che è quello che
è stato aperto nei comandi docker per
quelli che stavano interrogando su questo
e se aggiungiamo una nuova nota, allora sì
può collegare qualsiasi VM qualsiasi senza metallo
macchina che vogliamo e come puoi vedere
anche qui è che l’architettura è
elencato di tutte queste macchine perché
ha senso avere agenti diversi
eseguire diversi sistemi operativi se
hai un’applicazione Evan in esecuzione
su Windows e su Linux e probabilmente tu
voglio testarlo anche su Windows e
Linux così usando più agenti che puoi
realizzalo ora aggiungendo questi agenti
la GUI cliccando sul lavoro manuale I
Non mi piace!
per fortuna c’è il plugin swarm noi
può automatizzare questo e il plugin swarm
è un servizio che installi sul tuo
agente sulla tua VM o sul tuo bare metal
macchina e che farà in modo che
si registrerà automaticamente a a
Jenkins padroneggia questo è legato al
il plugin e funziona piuttosto utile
ma installare un servizio su una macchina
e lavorerai non mi piace il manuale
lavoro soprattutto non se devo installare
centinaia di queste macchine così anche noi
automatizzare questo anche un ulteriore passo avanti e noi
può quello che facciamo nella nostra compagnia noi
automatizzato il provisioning degli agenti utilizzando
ansible e abbiamo lavorato duramente
rendere i nostri agenti effimeri difficili
parola cosa significa ciò che cerchiamo di
raggiungere è che abbiamo agenti che noi
può semplicemente buttar via se non ne abbiamo bisogno
loro più o se abbiamo bisogno di più di loro
possiamo solo avviarli e iniziano
per funzionare automaticamente senza attività manuali
coinvolto quindi è quello che intendiamo con
questo effimero immagini di finestra mobile ad esempio
può anche essere usato come agenti e lo sono
perfettamente se mrow ora questa è la parte
riguardo l’installazione di Jenkins quando hai
fatto questi passaggi hai un maestro te
avere diversi agenti ora diamo un
guarda come li stai mettendo
lavoro e inizierò con una domanda
per voi ragazzi di nuovo quale strumento di costruzione fare
voi ragazzi utilizzare per il progetto principale sono
siete ancora tutti in buona parte
Grado si persone usano ancora la formica o
fare in modo che le persone non ne facciano uso
basta battere i commenti di Java
no, quindi mi riferirò di nuovo alla JVM
rapporti dell’ecosistema Maven è ancora il
leader di mercato nello spazio Java di costruzione
strumenti così comincerò con un esperto
un consiglio per voi ragazzi non usare il lavoro di esperti
digita quando crei un nuovo lavoro
la possibilità di scegliere tra diversi lavori
tipi uno è il tipo di lavoro stile libero e
uno è il progetto maven e il maven
progetto che promettono bene
ridurre drasticamente la configurazione di
il tuo
fanno loro si adattano a quella promessa
ma riducono drasticamente anche il tuo
la flessibilità del tuo lavoro sei davvero
stretto a quella configurazione maven specifica e
sta facendo un po ‘di magia per essere sicuro
i risultati del test sono registrati e quello
ottieni un bel rapporto di prova e alcuni
altre cose ed è per questo
la magia potrebbe persino intercettare difficile
cose che abbiamo eseguito più volte in
il problema che una build di esperti era
lavorare localmente non funzionerebbe su Jenkins
a meno che non affittiamo questo lavoro freestyle e
non c’era problema era un esperto
progetto interrotto quindi non utilizzare il
progetto Maven ora un altro tipo di lavoro
Io quando ho passato un bel po ‘di tempo è uno
quello è stato introdotto 1/2 anni fa
e si chiama pipeline ed è a
configurazione del lavoro come codice
la descrizione dice che è davvero usata
per orchestrare processi di lunga durata
davvero una pipeline di distribuzione da
sviluppo fino alla produzione
è possibile gestire che con un oleodotto
le pipeline sono definite in un file Jenkins
che hai nel tuo repository o
in alternativa se crei un lavoro tu
può anche inserire manualmente tutti i
copia / incolla un file junkies in un groovy
editore e questo è come il mondo ciao
l’esempio sembra e io entrerò in
tutte le direttive nei prossimi passi I
voglio iniziare con fasi tappe sono
gruppi di passaggi che appartengono logicamente
insieme
un esempio di costruzione è un gruppo di detta a
insieme di passaggi appartengono a test scalari
distribuire ecc e definiamo queste fasi
perché puoi ottenere una bella grafica
panoramica su di loro si vede bene come
molto tempo è anche preso in ogni passo così
sai dove puoi ottimizzare o cosa
aspettarsi ed è davvero ok panoramica
quello che vedi cos’è
nel tuo nel tuo lavoro la grande mancia qui è
mantieni il numero delle fasi piccole e continua
anche i titoli piccoli li vedi io
accettazione e produzione abbreviate
perché anche io che non si adatterebbe sul mio
schermo perché è solo scale
orizzontalmente, quindi prendi un bel
barra di scorrimento orizzontale quindi già
ha detto durante l’installazione che dovresti fare
il tuo lavoro sugli agenti e nelle condutture
non è diverso questo è come te
Specificare che si dispone di una direttiva agente
se dici agente qualsiasi cercherà di trovare
qualsiasi agente in grado di gestire questo lavoro e
puoi anche essere più specifico qui con
etichette su agenti e molti altri modi e
in genere è buona norma correre su a
agente e non sul master a meno che tu
stiamo aspettando l’input dell’utente perché noi
avere un utente di fantasia inserire un passaggio manuale
il tuo processo di rilascio ma questo blocca
i tuoi esecutori in cui stai correndo
quindi se andiamo al caso in cui siamo solo noi
avere un maestro con ben due esecutori se
Ho fatto due schieramenti in attesa di partire
alla produzione non posso costruire nulla
più così come possiamo aggirare questo
bene il modo migliore per farlo è quello di utilizzare
agente nessuno un agente nessuno significa che siamo
correrò sul maestro tra un po ‘
Esecutore di attesa di volo nascosto che dobbiamo
definire nessuno a livello globale ma noi
non voglio davvero fare nulla se non
per aver aspettato l’input davvero nessuno
perché è il maestro Jenkins e lo è
hosting dell’interfaccia utente se vuoi fare grandi cose
build pesanti sono la tua interfaccia utente diventa
non risponde e tu non vuoi che sia così
se devi fare un lavoro vero allora
assicurati di dire agente qualsiasi o
Etichetta agente per Java o qualsiasi altra cosa, ma
poi, non appena il necessario input dal
utente allora si dovrebbe tornare al
Master Jenkins ora può fare le immagini docker
funziona anche come agente che puoi usare
che tramite il plugin swarm o direttamente
in una pipeline specificandolo in questo modo
così qui facciamo Jenkins in questo caso a
all’inizio della sua corsa gira su una finestra mobile in
questa immagine in questo caso della nota 7 e it
eseguirà tutti i passaggi definiti
dopo dentro quella finestra mobile lo raccolga
monterà anche la cartella del workspace
all’interno del contenitore docker quindi se tu
ha fatto un check-out in una fase precedente
quei file sono tutti disponibili all’interno
il tuo nodo finestra mobile container e altro
che generi nella tua finestra mobile
il contenitore è disponibile anche dopo averlo fatto
fuori dal contenitore docker di nuovo così per
ad esempio se facciamo prova NPM vogliamo
risultati dei test per fare un bel report in
Jenkins da loro va bene, funziona
ma in genere anche questo è bello
esempio di un’immagine effimera che spin up
un’immagine del nodo 7 e poi la gettiamo via
e al prossimo giro creiamo una nuova immagine
e lo buttiamo via di nuovo questo potrebbe
non essere sempre quello che vuoi notare e
in particolare , sono noti per essere famosi
scaricare metà di internet quando
stanno costruendo, ma per fortuna siamo in grado di
risolvilo con una memoria persistente
questo esempio usiamo un’immagine esperta e noi
assicurati di montare il punto m2
cartella in cui normalmente Maven memorizza la sua
repository il suo repository locale e noi
montarlo in una cartella persistente sul
lavoratore che esegue le immagini del docker
quindi in questo modo non è necessario
Scarica nuovamente tutti i plugin di Maven
ora è bene rendersi conto di come questi
i file funzionano così se diciamo un agente
immagine docker come agente Jenkins lo farà
vai in giro e cerca una macchina
questo è in grado di eseguire immagini docker
e potrebbe non essere la stessa macchina per
esempio nella nostra azienda abbiamo un grande
cluster AIDS grandi macchine fisiche e
diciamo se hai bisogno solo di un’immagine docker
usa una di quelle 8 macchine ma lo fa
significa che le successive esecuzioni di un lavoro possono
correre su diverse macchine fisiche o
anche diversi passaggi nella tua pipeline se
si utilizzano diverse immagini di finestra mobile al
stesso tempo quindi la strada da percorrere
la sincronizzazione dei file in quel caso è
non assumendo che lo farai sempre
eseguire su un esecutore specifico voi
non dovresti chiuderti a uno solo
esecutore specifico perché se questo è
pieno e gli altri sette stanno facendo
Niente quindi perché aspetteresti il
uno completo ma una pipeline può nascondere i file
è di specificare quali file si desidera
memorizzarlo invierà quelli al
Maestro Jenkins e poi nel prossimo
passi che capirai scelto
file per usarli e quelli possono se
necessario saranno recuperati dal
Jenkins è di nuovo padrone e sembra
qualcosa di simile in un bell’esempio
per questo sarebbe che abbiamo una build
processo che finisce con un barattolo per
Windows e un jar per Linux lo gestiamo
su qualsiasi agente che possa compilare Java bene
ma poi lo testeremo
sarà il prossimo palcoscenico quindi correremo
sulla mia macchina ha Linux l’agente
etichettiamo Linux e poi ne possediamo
barattoli e poi eseguiamo il nostro assegno e noi
posso rispondere ripetiamo questo ultimo passo per
diversi sistemi operativi ne abbiamo bisogno
poi a volte vogliamo anche bloccare
le risorse a volte si interromperanno se
lo martini con 20 lavori allo stesso tempo
tempo e puoi farlo abbastanza facilmente
in una pipeline devi specificare il tuo
bloccalo crealo nelle impostazioni e poi
puoi usarlo in questo modo e se un lavoro
ha un blocco che dovrebbe
uscire da quel blocco speriamo presto
abbastanza in modo che gli altri lavori possano allora
faccio a prendere la loro parte di quella risorsa
ma questo è un buon modo per essere sicuri
non si eseguono due distribuzioni simultanee
o qualcosa del genere che abbiamo in un lavoro tu
puoi usare parametri che puoi anche usare
quelli in conduttura sono accessibili come
param pensiero e poi il parametro
nome che hai dato e che definisci
in questo modo solo un blocco di parametri
piuttosto semplice ma ce n’è uno
grande cattura qui c’è un po ‘un problema
con l’ordine in cui le cose sono
eseguito tipicamente si inizia un lavoro esso
andrà a prendere il freeal Jenkins da
ottenere controllare oh ho parametri e
poi continua con il suo lavoro ma poi esso
ha già iniziato il lavoro così tu
già inserito alcuni parametri o no
così quando cambi i tuoi parametri fai
sicuro che hanno un valore ragionevole
valore perché la prima corsa hai intenzione di
eseguire non saranno impostati ancora alcun successivo
corre sì, lo sappiamo dall’ultimo
tempo che abbiamo parametri così forse noi
dovrebbe chiedere loro di nuovo, ma questo è
qualcosa che dovresti tenere dentro
mente allora vogliamo paralizzare le cose
qualche volta un esempio difficile un po ‘lento
roba end-to-end al nostro posto prendere
Prende un po ‘di tempo il test delle prestazioni
un bel po ‘di tempo corriamo quelli dentro
parallelo e qui anche il suggerimento
assicurati di farlo in modo diverso
le note non ha davvero senso avere
un processo intensivo della CPU parallelo a
un altro ma poi sullo stesso
macchina fisica in modo che siano fermi
lento questo è un modo di paralizzare
pezzi di lavoro si possono anche paralizzare
i tuoi esami di prova
e tu non devi ricordarlo ma
c’è una direttiva split test che
guarderà le esecuzioni precedenti da fare
certo – sì
split test in diversi bucket che sono
ha senso correre in parallelo e poi
devi fare qualche magia di matematica – da usare
quello e questo non è un esempio sciocco per
esempio è questo è un po ‘di lavoro per
istituito ma se hai una grande eredità
progetto Maven potrebbe valerne la pena
investigando abbiamo ottenuto il nostro CR x da 1
da un’ora a 15 minuti con test paralizzanti
solo la maggior parte degli esempi che ho mostrato
sono la cosiddetta conduttura dichiarativa
ma c’è anche una pipeline con script
qual è la differenza della sceneggiatura
pipeline è la versione che loro
iniziato con Jenkins ed è stato davvero
flessibile e piacevole e si potrebbe fare
quasi tutto ciò che abbiamo fatto tranne
convalidare la tua pipeline come vorresti
dovevo fare era cambiare la tua pipeline
commettalo eseguilo oh, avrò un errore
prova qualcos’altro commetti così faresti
finire in un tentativo riprova il ciclo di ripetizione
è stato davvero bello quindi hanno capito cosa succederebbe se
facciamo una sintassi della pipeline facile da usare
chiamano la sintassi dichiarativa e
è facile da usare è un po ‘più conciso
perché lo script è solo una specie di piastra
e ci assicuriamo di avere la convalida
prima di dirigere il gasdotto, così sai
qualcosa non va prima di te
vederlo andare storto e questo è quello che hanno fatto
questa è fondamentalmente la differenza tra
dichiarativo e sceneggiato il vantaggio
di dichiarativo è è perché è così
così rigoroso c’è un editor visivo per
mentre in sceneggiatura è semplicemente groovy
quindi qualsiasi editor di groovy potrebbe aiutarti o
non
Direi che il dichiarativo è perfetto
per gli utenti regolari se ora vuoi
prova qualcosa con una pipeline per favore
usa la chiarezza ma gli utenti esperti lo faranno
tipicamente prendi lo script che è
perché alcune cose semplicemente non sono possibili
in dichiarativo puoi usare frammenti di
pipeline con script nel tuo dichiarativo
pipeline e anche questo è un
possibilità è per questo che ho messo il
utenti esperti su entrambi i lati entrambi
iscrizioni dichiarative quindi anche io
voglio sottolineare che dovresti mantenere il tuo
condutture piccole puoi farle
script di rilascio davvero intricati
roba di distribuzione e abbiamo finito
con una pipeline di 1.000 righe di codice
ed è piuttosto difficile da mantenere di nuovo
anche la prova si riprova perché tu
non posso fare tutto dentro
dichiarativo e cosa potresti vedere anche tu
è che ti imbatti in una sandbox perché
è groovy puoi fare qualsiasi cosa sì ma
non vogliamo che tu legga tutto il
credenziali che sono in Jenkins o
qualcosa quindi c’è una sandbox sul posto
e abbastanza spesso ci siamo imbattuti nella sandbox
quindi il mio suggerimento è questo perché è
anche difficile da testare si può lavorare meglio
con forse anche piccoli script di shell
puoi semplicemente eseguire localmente sul tuo computer
testalo lì e poi se lo chiami
script di shell è solo una riga di
codice pipeline ma è facilmente verificabile
e verificabile poi ne ho un altro ancora
argomento avanzato in condotte che
le condutture sono grandi se il tuo serbatoio
il master si blocca mentre è in esecuzione una pipeline
progredire senza problemi possiamo riprendere dove
eravamo prima che si schiantasse
ma il lato negativo di questo è quello
tutto deve essere tutto
passaggi intermedi in una pipeline devono
essere serializzabile perché è così che sono
implementato non appena il passaggio è fatto
memorizza i risultati su disco e se è così
si blocca quindi possiamo ripristinare i risultati
e poi continua da dove eravamo rimasti e
lo fanno durante la continuazione
stile di programmazione e sì, ci sono voluti
mi piacciono alcune lezioni al
Principi Università e, naturalmente, di
linguaggio di programmazione è quello di avvolgere la mia testa
intorno a questo, ma è un modo di
programmazione ed è adatto a questo
per questa applicazione ma ha un rovescio della medaglia
che se vuoi fare qualcosa nel tuo
script groovy che non è serializzabile
il gasdotto si lamenterà che posso
archivia questo in modo da non essere autorizzato a farlo
che ora c’è un modo per aggirare questo te
dovrebbe creare un metodo e annotarlo
con l’ annotazione non CPS e in questo modo
istruirai il corridore della pipeline a
dì hey qualunque cosa accada in questo metodo
non è necessario memorizzare l’intermedio
risultati se si blocca mentre questo è in
progressi va bene, ricominciare da capo
il calcolo di nuovo e si sta andando bisogno
questo ad esempio se usi un groovy
motore di template perché il template
i motori non implementano serializzabili
sai se ci sono dei professionisti fantastici
la stanza qui, ma sto usando lo streaming
motore di template e non il semplice
motore di template perché il semplice
template engine in qualche modo perde a
variabile serializzabile anche se lo è
in un blocco non CPS quindi e non proprio
sapere cosa sta succedendo lì ma
motore di template di streaming funziona solo
rotolare con quella pipeline a volte
inoltre può rimanere bloccato e quindi è necessario
abortire loro abortire un lavoro in Jenkins è
piuttosto facile c’è una piccola croce rossa
dopo il lavoro basta colpirlo e con a
pipeline non succede nulla e un collega
il mio ha provato questo e mi è venuto incontro
Non riesco a interrompere il mio lavoro quello che sta succedendo in modo
abbiamo dato un’occhiata e facciamo tutti i log del
lavoro e Jenkins ha messo alcuni link lì
ehi se vuoi davvero fermarti questo
devi cliccare qui quindi se lo scopri
che il tuo lavoro non è che sei un Python
non è un imbarco controllare correttamente i registri
e assicurati di fare clic più volte
perché prima interrompi la corsa
passi e poi devi terminare il
costruisci allora sei pronto per un po ‘di fantasia
scherza perché Jenkins sembra un po ‘
come bene, lo ha fatto forse otto anni fa
ma possiamo cambiare che c’è un nuovo
GUI per Jenkins e la panoramica del lavoro ora
sembra qualcosa del genere
si chiama oceano blu e sì è un
un po ‘più moderno del vecchio Jenkins
non è necessario idealmente per gli utenti professionisti
di Jenkins perché lo fanno liscio
scorrendo e se raggiungi la fine di
la lista e andremo in modo asincrono
carica il resto e se voglio
guarda un centinaio di posti di lavoro che non è davvero
facile ma per gli utenti tipici questo è
vista perfettamente bella se si fa clic su uno di
i tuoi lavori quindi puoi ottenere anche un bel
panoramica dei precedenti passaggi eseguiti ma il
la vera parte veramente bella è quando apro
una di queste condotte corre e poi
vedrai questo e sarai come chi è
questo anche Jenkins ma è ed è così
ancora un lavoro in corso quindi alcuni
le funzionalità non sono ancora implementate ma
se hai un po ‘ aggiornato Jenkins tu
puoi cambiare le tue impostazioni per usarlo
questa visione ed è definitivamente
utile per un semplice uso semplice casi ora
ho già detto che c’è un
Anche l’editor Python fa parte di questo
UI blu oceano ed è solo per il
condutture di chiarezza
alcuni trucchi qui devono essere le tue condotte
avere le giuste credenziali perché loro
memorizzalo nel loro file Jenkins così
devi metterlo nel tuo repository e
perderete qualsiasi commento o cose del genere
hai aggiunto perché non è sorprendente
Si tratta di un robot non deve battere
quindi sì, lo butteremo via e
l’ordine è anche si, lo faremo
crea il nostro ordine ora quello che anche noi
visto quando stavamo giocando con
queste condotte sono quelle a cui le persone tendono
copia le tue cose da altre pipeline
un caso specifico era la nostra striscia a
distribuire una superficie ai kubernetes che creiamo
la distribuzione camo e poi ne causano alcuni
documenti della città cubo e tutti lo erano
basta copiarlo dall’altro
servizio e quindi sì abbiamo ottenuto lo stesso
problemi che si ottengono con il codice quando
stai copiando che stai copiando tutto
quindi il prossimo passo è usare le librerie condivise
se hai qualche codice comune dovresti
non ripeterti
si può tirare fuori in una biblioteca e
quindi assicurati che tutti usino
quella libreria e puoi anche usare i file
in queste librerie condivise, per esempio
abbiamo il nostro schieramento yamo che è giusto
una semplice demo del modello è nel
libreria condivisa in modo tale da utilizzare tutti i nostri servizi
la stessa demo di implementazione non si ripete
anche con i file in fase di sviluppo
queste librerie sono superficiali un po ‘
lo stesso di sviluppare uno script è
pipeline provalo devi impegnarti
ancora una volta provare di nuovo commit di nuovo provare
fuori di nuovo
ma alla fine potrebbe valerne la pena
ora questo era tutto ciò di cui volevo parlare
riguardo ai lavori passiamo alla terza
parte sicurezza e monitoraggio del tuo
Lavori di Jenkins che ti mostrerò a
screenshot che ho preso da un computer di a
mio collega e voglio sapere se
questo è comprensibile a voi ragazzi in Outlook
se ricevo una mail da Jenkins, metto a
la spazzatura
A quanto pare questo collega è stato così stufo
con tutte le email che hai ricevuto da Jenkins
che ha detto no, non guarderò
di nuovo loro
questo non è quello che abbiamo un Jenkins
istanza per non vogliamo questo così come
possiamo migliorare su questo perché le email
non è forse il mezzo migliore
più per il monitoraggio e la segnalazione
quello che puoi fare è che puoi creare il tuo
la propria opinione in Jenkins ha appena colpito le mie opinioni
fai clic su nuova vista e quindi puoi selezionare
il proprio elenco di lavori che si desidera
vedi e puoi anche usarlo regolarmente
espressioni qui così se si sta lavorando
un certo progetto e voglio vedere tutto
i lavori di questo progetto vanno bene a
espressione regolare e poi finirai
con qualcosa di simile se sei un
bella panoramica dei lavori che sei
interessato ma sì, questo non lo è
davvero così bello non è davvero bello
panoramica a cui non è possibile dare una rapida occhiata
vedere qual è lo stato attuale del
progetto possiamo fare meglio che possiamo
per fortuna voglio che quelle e-mail siano più costruite
monitor, quindi useremo la build
guarda il monitor funziona allo stesso modo di
l’altra vista che specifichi i lavori nel
allo stesso modo, ma sembra molto più bello
ogni squadra nella nostra azienda come una grande
monitor nella stanza e tutti questi
i monitor in genere mostrano i progetti
a cui quella squadra sta lavorando al momento
o responsabile per e con questo è possibile
piante adeguate puoi vedere oh questo è
un lavoro questo giallo il resto è verde
bene quindi questo è uno in realtà da
uno dei nostri team e sì un bel po ‘
informazioni con una rapida occhiata ora io
voglio anche dirti che c’è un
API in Jenkins quasi tutto come un
API puoi raggiungerlo andando in India
Interfaccia utente basta andare su un URL per quello che vuoi
quindi nella barra degli indirizzi del tuo browser
a slash api e poi ne avrai un po ‘
istruzioni su come usarlo è
tipicamente disponibile in jason e xml e
un esempio lo ha chiamato il nostro lo mostrerò qui
usa il mio
Vista del monitor costruita che avevo e voglio
per ottenere il Jason e da tutti i posti di lavoro
voglio vedere il colore e il colore
rappresenta lo stato del lavoro quindi se
è giallo ci sono errori di test se
è blu o verde a seconda se lo hai
ad esso è uno dei più installati
plugin e Jenkins le palle verdi
plug-in per assicurarsi che tutto il blu
le palle diventano verdi perché verdi
apparentemente è anche meglio del blu ma
otteniamo questo feedback e questo funziona
su quasi ogni punto finale in
Jenkins ora voglio combinare questo con
il mio monitor di build perché le persone non lo sono
pagato per guardare il monitor della build
schermo tutto il tempo è sullo schermo
nella stanza, ma si può solo
guardando il tuo schermo così forse tu
non vederlo se qualcosa diventa rosso
e ho capito un modo per afferrare
l’attenzione della gente quando qualcosa si trasforma
rosso e si chiama feedback estremo
quindi è un po ‘di luce di avviso
sono controllati dal relè USB che è
collegato al computer che è anche
alimentando lo schermo ed è solo sì
tirare Jenkins per vedere è tutto
verde e se non lo è , inizierà
girando è davvero economico non lo è
avere dei cuscinetti è ancora solo
la plastica che vuoi davvero mantenere
il tuo schermo di costruzione e sì questo è quello che
noi chiamiamo il feedback estremo qualcosa dentro
la vera vita sta accadendo e
controllato da un’API che parla per
esempio Jenkins sono stato
sperimentando un po ‘con altri modi di
dare un feedback
questi includono droni di cannoni nerf
controllare le auto sul protocollo OBD
e li ho scritti tutti su un post in
il nostro blog tecnologico così come un film
non sono quelli che non entreranno nei dettagli
molto più avanti qui poi un altro utile
la mancia è che i numeri di costruzione sono più di
interi se si desidera riferire il quarto
costruire il mio lavoro, allora puoi usare questo
URL o se usi la GUI allora lo farai
finire a questo URL ma nella GUI
c’è anche un piccolo menu a discesa e tu
puoi selezionare sì altre build e queste
anche direttamente mappato agli URL quindi se tu
basta fare il mio ultimo lavoro e otterrai un
sacco di bollette e questi sono alcuni dei
opzioni che sono disponibili lì e
questo è anche molto utile per usare il reddito
insieme all’API poi un altro grande
progetto che è stato lanciato l’ anno scorso è
chiamato Jenkins X e questo è davvero un
argomento che ne vale la pena degno
presentazione personale Jenkins X è un CD CI
soluzione per le moderne applicazioni cloud
sui kubernetes fondamentalmente dicono oh questo
non è un progetto di Jenkins che siamo
fornendo facile da usare
completa la soluzione ICD da
sviluppo fino alla produzione
in kubernetes ma ci accingiamo a utilizzare
Jenkins per quello
quindi è opinione che tu abbia davvero
per usare kubernetes devi usare git ops
in questo caso ma poi puoi davvero
con un comando imposta il tuo quasi il tuo
tutta l’infrastruttura e anche tu
non devo più gestire un Jenkins
questo fa parte del pacchetto e tu
posso trovare di più su questa pagina quindi anche io
ha promesso di parlare un po ‘ di sicurezza
e il trucco più facile da fare per restare
sicuro è quello di rimanere aggiornato Jenkins
ti dirò oggi che ci sono
alcuni avvisi di sicurezza e se ci espandiamo
quello degli avvertimenti di sicurezza è
che hey c’è una nuova versione di
Rilascio di Jenkins
forse dovresti aggiornare ora perché lo farebbe
nessuno di eccezionale non ho idea di cosa
l’hacker può fare se accedono a un server
che controlla un sacco di altri
server con molta potenza della CPU e
roba del genere forse possiamo solo girare
loro in minatori Bitcoin quindi a
vulnerabilità che è stata risolta in aprile
2017 molte persone non hanno applicato patch
Febbraio 2018 e improvvisamente un sacco di
I server Jenkins sono diventati salvataggi di monete
in modo da tenerli aggiornati che è prima punta
l’altro avviso che io sono disponibile
si tratta di falsificazione di richieste cross-site se
non fai nulla di vulnerabile
ad esso in Jenkins puoi configurarlo
utilizzare un cross-site request forgery voi
invia un token in modo che tu lo sappia
la richiesta di ricezione è stata anche emessa
dall’utente che ci si aspettava che emettesse
un modo per farlo è quello di eseguire
per ottenere quello che chiamano il Crump il vedere
certo che lo si ottiene nell’output e
quindi lo aggiungi alla tua richiesta in
in questo modo sai che nessuno ha
manomesso si richiede che utilizziamo
una costruzione XML piuttosto interessante in
il primo comando ma questo perché il
il campo cromato ha cambiato il suo aspetto
chiamato punto Crump e ora è il tamburo
campo richiesta in modo che il comando superiore funzioni
per tutte le versioni di Jenkins, allora anche noi
devo parlare di jnlp è il
protocollo utilizzato per connettere due
il plugin swarm di agenti usa questo e questo
è il terzo avvertimento che ho aperto qui
E sì le versioni precedenti del
il protocollo non è stabile e non sicuro
quindi usa l’ultima versione del protocollo
e per impostazione predefinita tenterà di utilizzare il
ultima versione quindi nel nostro caso siamo davvero
avevo qualche fisso su tutte le versioni poi io
voglio passare gli ultimi minuti su cloud
manzo è la società che ha adottato
Jenkins e loro cercano di fare soldi
ma loro riservano anche del credito
per tutto il lavoro sull’open source
versione di Jenkins perché parecchio
del loro tempo e lavoro vanno nel
open source Jenkins il creatore originale
di Jackson e Jenkins lavora anche a
anche cloudBees e Arby’s
fornire certificati che non so se in
i certificati dei Paesi Bassi sono simili
sì, possiamo prenderli ma loro lo dicono
incrementa le tue possibilità quando sei tu
fare interviste di lavoro ma in Olanda
non è proprio così in Germania
i certificati sono di gran moda se tu
non avere il muro dietro la scrivania
pieno di certificati quindi non lo sei
davvero uno sviluppatore come è che in Danimarca
certificati sì o no yay nay ok quindi se
vuoi davvero che tu possa, se non si
non
hanno anche alcune funzionalità aziendali
quindi se hai trovato che stai incontrando
limitazioni dell’open source Jenkins
alta disponibilità migliore monitoraggio
ridimensionamento con più master cloudBees
sembra che questo devo dire di noi
supportare 100 sviluppatori con un grande
Jenkins è master ed è solo open source
non abbiamo bisogno di cloudBees, grazie
cagate, allora voglio finire con a
elenco dei miei plugin preferiti così velocemente
andare su di loro costruire il monitor già mostrato
la cronologia di configurazione del lavoro ti dà sì a
cronologia su altri tipi di lavoro rispetto al tuo
File Jenkins file spazzatura e ottenere così
è facile avere una storia su questo
lo fornirà anche al Freestyle
e i lavori di maven dovresti usarli no
farlo allora lavoro DSL è un DSL in modo rapido
creare lavori che è quello che usiamo per alimentare
i nostri test end-to-end lo crea
crea automaticamente un centinaio di posti di lavoro
le bollette concorrenti di throttle si assicureranno
che le bollette sono programmate ben oltre
tutti i nostri esecutori disponibili
risposta timestamp Ginn mostrerà il
timestamp su ogni riga di registro in modo che sia
molto utile per vedere dove è il tuo tempo
speso durante una costruzione e l’ultimo
il plug-in numero di versione consente davvero
tu configuri la versione del tuo lavoro
ed è quello che usiamo nella nostra versione
processo e quindi con il nome della build
setter ci assicuriamo che tutte le build
sono intitolato alla versione attuale che
hanno costruito e non solo uno due tre
quattro cinque quindi questi erano i suggerimenti che avevo
in serbo per te se ne hai
domande che puoi chiedere loro nell’app
ma puoi anche prenderli per impilare
straripamento
Tag Jenkins è abbastanza attivo alto
risposte di qualità ci vorrei anche
raccomandare il nostro nostro blog di tecnologia no
solo cose divertenti su droni e
nerf guns ma anche attualmente sta facendo un grande
serie su ciò che gli sviluppatori dovrebbero sapere
sulla sicurezza e puoi raggiungermi
su Twitter se desideri e poi la finale
parole
ricordati di valutare questa sessione e tutto
le sessioni si può ottenere una bella carta
Ho visto e bene se ti piace il verde
è la faccina da fare se ne hai
miglioramenti quindi sicuramente sentiti libero se lo è
non proprio quello che ti aspetti di sentire libero
prenderlo per usare il rosso o il giallo
smile, ma voglio chiederti di farlo
compila anche un breve commento sul perché
questa sessione non era quello che tu
atteso da questo e questo vale per tutto
altoparlanti che tutti stiamo cercando di migliorare
ovviamente così se non è quello che tu
aspettato che sia o forse non ti piace un
formato di correre rapidamente attraverso il
diapositive va bene, ma per favore fatecelo sapere
So e con questo vi ringrazio
[Applausi]

Please follow and like us: