Subtitles for LinuxDays 2016 - Building a free software based development environment - F. Preinstorfer

14   0   0  
  Pause sub
quindi grazie per essere venuti al mio
presentazione ho intenzione di parlare di
la costruzione di uno sviluppo di software libero
ambiente o tubazioni per una piccola
società fondamentalmente è un po 'di quello che abbiamo
abbiamo e abbiamo costruito nel corso degli ultimi tre
anni presso la nostra azienda
il mio nome è la coltivazione di piante più dura Sono un
sistemi di ingegnere in una piccola austriaca
società di avvio e lo facciamo in laboratorio
apparecchiature di prova per la cellulosa e carta
l'industria in modo sostanzialmente costruiamo dispositivi
che vi ai clienti e quelli
i clienti utilizzano per testare alcuni aspetti
ad esempio di carta in modo caso una prova
sarebbe quanta acqua può un pezzo di
carta assorbire il tipo di dispositivi nulla
fantasia particolare da un punto di tecnologia
di vista stiamo usando per lo più C ++ in modo più
della morbidezza al terzo è scritto in
C ++ poi c'è un Python 3 e
ovviamente il glucosio di cui avete bisogno
ovunque sarebbe fondamentalmente passione e
tutte le 15
lo sapevate che prima vuole realmente
parlare del gasdotto vorrei
introdurre alcuni dei requisiti che
abbiamo avuto e questi sono solo alcuni di essi
Penso che sia importante per ottenere il vostro
sensazione di di quanto richiesto almeno
per il nostro caso d'uso così un importante
requisito era quello di avere il supporto offline
la nostra sede centrale si trova nel
Austria alla campagna e che è
davvero bello se si guarda alla finestra
e questo si può vedere l'erba verde in
montagne e in fondo questo è il caso
ma non è utile nel caso si desideri
connessione ad internet adeguata così abbiamo un
connessione internet lenta e piuttosto
flick si vuole quindi non meglio affidiamo
troppo su internet che sarebbe
sarebbe bene per noi
Un'altra cosa che sappiamo dal passato
esso che è molto vantaggioso per non
dipendere da qualsiasi macchina singolo sviluppatore
da qualche parte Sono sicuro che molti di voi hanno
sentito
le storie o hanno visto con il tuo
occhi che alcuni laptop una macchina
in qualche ufficio da qualche sviluppatore è
in realtà l'aspetto più importante
l'azienda perché senza quelli
senza questo portatile alcuni prodotti possono
essere costruito ovunque
Non so se qualcuno è così tutte le cose
così, ma io li ho visti e loro sono
Non che bello avere così abbiamo meglio
prepararsi
Un'altra cosa è che dovrebbe essere facile
usare e facile da usare mezzi dovremmo usare
strumenti e dovremmo fornire agli sviluppatori
strumenti che stanno bene con
quindi se stiamo usando farlo sarebbe grande
se lo sviluppatore può interagire con un
conduttura e orchestrare la pipeline o
la maggior parte del gasdotto da solo utilizzando get
giusto
e un'altra cosa è che dovrebbe essere
comprensibile penso che sia abbastanza
importante per un ambiente costruito che
che gli utenti possano capire che non lo fanno
bisogno di ottenere ottenere tutte le Eternità grande
dettagli di esso, ma si dovrebbe dare un'occhiata
a esso e che dovrebbe dire a posto So
costruito questo pacchetto ed è andato da questo
Macchina a questa macchina questa macchina e
questo è accaduto che sarebbe che sarebbe
essere abbastanza giusto
e avendo anche un comprensibile
conduttura significa che è anche uno hackable
in modo che possa essere facilmente modificata e
la regolato secondo necessità voglio dare
una panoramica molto minimale di quello che abbiamo
avere
è lontano dall'essere completo, ma
contiene gli aspetti più importanti che
sono necessari per questo 20 minuti a parlare così
Darò una breve introduzione
tutte le parti qui e poi lo farò
offrire alcuni casi d'uso in ordine
per ottenere il vostro senso di ciò che è
possibile quindi vogliamo iniziare al
in basso a sinistra qui dove abbiamo una
portatile sviluppatore potrebbe essere qualsiasi cosa che
linux finestre macchina scatola mac
tutto ciò non c'è determinato requisito
su tale macchina fondamentalmente gli sviluppatori
dovrebbe stare tranquillo
con ottenere il suo lavoro fatto in modo forse 90
forse forse max e un po 'di controllo di versione
sistema sarebbe sarebbe sufficiente per ottenere
iniziato da lì abbiamo deciso di a
selezionamento ottenere il grembo come il nostro come un repository
la gestione dei server o la versione del socialismo
sistema di controllo perché lo usiamo
internamente un sacco di ci piace e ci
penso che sia è qui per rimanere così si legge
così abbiamo pensato che sarebbe stato bello se se
avere qualcosa che supporta ovviamente
ottenere e consente inoltre agli sviluppatori di utilizzare un
arma per affrontare, se vogliono, perché
alcuni sviluppatori non si sentono che il risparmio
con con con una riga di comando e forse
alcuni compiti sono abbastanza facili da fare su tale
una interfaccia web così abbiamo pensato che sarebbe
essere un buon giro sarebbe sarebbe una grande
strumento qui e siamo molto soddisfatti del
scelta in realtà allora quando abbiamo
ha iniziato era che era un po 'ruvido, ma
in questo momento ci si sente si sente abbastanza abbastanza
abbastanza buono da utilizzare da lì abbiamo ci dirigiamo
sopra al serbatoio è qui, in quello centrale
Qui abbiamo selezionato Jenkins perché ero
l'abitudine e microfono / processo qualunque
lavori
ok ed è software libero va bene così
utilizzando Jenkins a volte potrebbe voi
Jenkins potrebbe dare qualche mal di testa se
se non si utilizza come un maestro unico
sistema in modo se si desidera utilizzare Jenkins
è meglio assicurarsi di utilizzare costruire le note
e non costruire nulla sul Jenkins
si cerchiamo Jenkins a tutte le
orchestrazione e tutti gli altri
reporting e lavorazione e non ci sarebbe
essere lì sarebbe sufficiente, ma fare il
si basa su altre macchine e questo è
dove abbiamo diversi costruire il naso a destra
qui la roba disegno di legge costruiscono C ++
Progetti Progetto pitone corrono unità
test che fanno test di integrazione qualunque
è necessario
Da lì abbiamo avuto più di un motivo e un
motivo è al n versione Debbie compatibile
um server di repository così abbiamo deciso di
spedire il nostro prodotto come un insieme di Debian
pacchetti ed è più naturale e 22
spedire pacchetti Debian in una e in un
repository Debian regolare e così si
bisogno di qualche strumento per gestire i pacchetti e
alcuni di essi sono disponibili e ci atteniamo
con un appello perché pensiamo o nel nostro
l'esperienza si inserisce il caso di utilizzo migliore così
è penso che sia scritto e andare
maturo Credo di sì ed è abbastanza a portata di mano
di utilizzare lui ha un sacco di funzioni e I
che si ottiene la maggior parte del libro in realtà
fatto sul lato destro evaporare il
lato destro di esso qui abbiamo un
breve la linea tratteggiata che significa che alcuni
segregazione rete in modo abbiamo la maggior parte di
di questo popeline nella nostra rete interna
o effettivamente tutto questo maggior parte di esso e
il lato destro sull'esterno
rete abbiamo alcuni specchi esterni
e che è fondamentalmente motore X così motore
ax serve del repository per la nostra
clienti e abbiamo più istanze
di che qui quindi sì ho lasciato fuori un po '
della roba divertente in realtà e alcune delle
la roba utile per esempio anche noi
avere un server di traduzione in modo da traduttori
può effettivamente tradurre il nostro intero
software utilizzando un unico singolo web
Interfaccia usiamo un sito web per questo, ma
è in realtà è bello offre la vostra
twitter interfaccia web bootstrap è
abbastanza facile da usare, ma non è così
importante per per questo discorso, ma solo per
vi darà un'idea che questo è davvero il
componenti più importanti del
popeline quindi voglio iniziare con un
caso d'uso e questo caso d'uso è quello di costruire
e rilasciare
un pezzo stabile del software in modo supponiamo
che lo sviluppatore qui sul suo computer portatile
ha un unico repository e contiene
una versione stabile di software ed è anche
ha tutte le informazioni dei pacchetti Debian
in modo tale repository è fondamentalmente
pronti a costruire ok così che cosa uno sviluppatore
ha bisogno di fare è fondamentalmente impegnarsi suo a
commit lo stato attuale del
repository ad un ramo di release in questo
caso mi chiamo rilasciare ora, ovviamente,
ci possono essere molti di più, ma per questo
esempio rilascia abbastanza e da buona
lì tutto lo sviluppatore deve fare è
spingere questo repository per ottenere amore e ottenere
up non è solo l'ingresso a questa
conduttura deve ma anche o è quello
macchina che è in realtà responsabile
archiviazione tutto il codice sorgente, quindi se
hanno impegna su un ramo di release e e
su un ramo potrebbe potenzialmente essere
spedito a un cliente
sarebbe molto consigliabile se si fanno
in modo che questo commettere mai va
via di nuovo
in modo da ottenere che vi dà una caratteristica
che si chiama rami di protezione e
è possibile configurarlo sulla base di progetti
sulla base di progetti e ti permette di
proteggere alcune filiali da essere
cancellati e di essere costretti a spingere in modo
che gli sviluppatori possono possono estirpare possono
eliminare i rami e da lì abbiamo avuto
oltre 22 Jenkins fondamentalmente ottenere lap
notifica Jenkins su modifiche
alcuni repository utilizzando utilizzando tale
libro quindi questa è una pietra che la
get standard di funzionalità di laboratorio API esso
fondamentalmente notifica l'Jenkins hey Jenkins I
avere alcuni cambiamenti qui forse si vuole
fare qualcosa con esso
così Jenkins dalla sua parte ha un elenco enorme
di progetti che si costruisce costruisce per
Esempio C ++ progetto di rami di rilascio
costruisce progetto di pitone come come ogni notte
le versioni che cosa, qualsiasi cosa Jenkins fondamentalmente
sa come costruire roba così prende il
informazioni da buon giro e le comunicazioni ok
questo è un c ++ progetto ed è effettivamente
proveniente da un ramo di release quindi dovrei
costruire un rilascio fondamentalmente così Jenkins un
pochi passi e sono fondamentalmente
selezionando una delle build non fornisce
una costruito un ambiente di generazione pulita facciamo
Non condividere qualsiasi ambiente costruito attraverso
bollette così ci assicuriamo che ogni software
ogni pacchetto è built-in sono in un ambiente pulito
e ambiente minimale se sei
interessati stiamo usando debian Jenkins
indizio per che si tratta di un bel set di
fondamentalmente shell script che astratto
via un sacco di nitty e grintoso
dettagli della pacchettizzazione Debian utilizzando quando
si utilizza Jenkins Jenkins bollette del
pacchetto o costruito le bollette di origine a
compilare i pacchetti binari esegue test su
il nodo di compilazione dei pacchetti e dopo è
fatto raccoglie tutti i risultati it
raccoglie il manufatto costruttore e
fornisce all'utente con qualcosa di simile
grafici e report che è quello che tutti
vuole avere quindi questo è il vero e proprio
luogo in cui lo sviluppatore può guardare la
stato attuale di questo progetto in modo da poter
dare un'occhiata e dire va bene questo è
ventesimo costruire un pacchetto sua
costruttori pulito abbiamo 20 unit test e
e si può si può prendere rapidamente uno sguardo
che e allo stato di esso e questo è
anche il punto in cui è possibile personalizzare
un bel po ', quindi se per esempio costruito
documentazione di ossigeno ci sono alcuni un po '
avvertenze e ossigeno o di ossigeno
conto
blocco che si desidera che si potrebbe desiderare
a dare un'occhiata a questo e di segnalazione e
e graficamente caratteristica di Jenkins sarebbe
il posto giusto per visualizzare tale
modifiche tali dettagli in modo supponiamo
che l'edificio successo e uno dei
i manufatti Build è in realtà un binario
pacchetti Debian o Debian da

Jenkins prende un pacchetto e lo getta a
un motivo e un appello prende uno sguardo alla
pacchetto in entrata e l'edificio
informazioni che viene fornito con esso
e le comunicazioni di preavviso
ok questo è un Questo appare come un rilascio
pacchetto perché è venuta da un
ramo di release dal get originale
impegnata a ottenere ramo di release in modo da
dice bene So come affrontare
stampa ho intenzione di prenderlo e metterlo
nel mio unstable o
repository per che per quella materia così
ciò significa che un singolo o tutti i pacchetti
che vengono costruiti sono fondamentalmente farcito
in un unico repository up un appello
la distribuzione abbiamo diversi di quelli
e voglio ottenere solo molto rapidamente sopra
o sopra le diverse distribuzioni
Abbiamo Abbiamo per esempio abbiamo instabile
avere un test e abbiamo una stabile e
quelli servono diversi casi d'uso in modo che il
uno instabile è la distribuzione che
pacchetti sono gettati in tutto il tempo in modo
se lo sviluppatore fa una nuova versione di
qualsiasi pacchetto viene insaccato nel instabile
ora a un certo punto nel tempo che, fondamentalmente,
vogliono distribuire software ai clienti
altrimenti si sarebbe presto fuori
affari così ad un certo punto nel tempo I
sviluppatore deve decidere bene questo è
abbastanza buono per ottenere fondamentalmente in
test e test significa che i nostri
test Dipartimento di reparto di QA può
iniziare a dare un'occhiata alla corrente
stato
uditivo così la squadra può ad esempio
verificare se si installa da questo
lavoro repository se gli aggiornamenti funzionano se il
pacchetti sono completi se le caratteristiche
stanno lavorando se tutte le caselle che sono
richieste sono in realtà in e sì
da lì si richiede la Q18 a
fondamentalmente avviare il lavoro di Jenkins e Mark
la distribuzione testing come stabile e
mezzi stabili che si rispecchia al
repository esterni all'esterno
specchi così una volta un membro di QA dice va bene
questo questa versione del test
repository è abbastanza buono può essere
spediti ai clienti di poter commercializzare un
stabile e tutto è in ballo fuori
al di fuori del repository quindi questo è un
lista completa sul sull'intero
pipeline e voglio ottenere appena rapidamente
sopra con uno o due altri casi d'uso come
bene a dare l'impressione di di
ciò che è ciò che è possibile
quindi prima voglio riassumere rapidamente noi
avere un pacchetto sorgente braccio stabile con
Informazioni pacchetti Debian in esso noi
inviato questo pacchetto per ottenere ottenere ottenere lap
farsi notare costruire Jenkins Jenkins
software abbiamo un una debian binario
pacchetto che è in presenza di un motivo e
una volta che gocciola attraverso la conduttura
attraverso test instabile e stabile
prima o poi ci ha colpito il cliente
ad un certo punto e di solito quando tale
accade il cliente di dialogo Report
speriamo lo fa nel nostro caso lo fanno
andiamo avanti con un altro esempio e
supponiamo ok tale cliente segnala un
Buck e supponiamo che ok
Un uomo pagine mancanti da una debian
confezionare quei dollari di solito non si ottiene
riferito ma supponiamo per questo
esempio che è così lo sviluppatore è
con il compito di OK si prega la pagina mamma di
questo pacchetto e ora lo fa crea
un ramo sordi praticamente sordo e raccogliere
qualsiasi nome potrebbe essere imballaggio sordi per
esempio e poi si inizia a lavorare su
il pacchetto e che ora potrebbe, ovviamente,
costruire tutto da solo che poteva
costruire un impacchettato localmente qui
tutti i test di unità locale di controllo Picard
il codice di copertura localmente tutte le
cose, ma non c'è bisogno di perché lui
può anche spingere questo personale questa morte
imballaggio ramo qui solo per alzarsi
di nuovo e lasciare che l'amore fare il lavoro per lui
o fare quest'ultima gasdotto fare il lavoro in modo
alzarsi ancora una volta notare Jenkins Jenkins
sa come costruire i pacchetti si tratta
da un altro ramo, ma in realtà non
materia così si costruisce pacchetti e di nuovo
L'artigianato Jenkins e rendicontazione modo che l'utente
può abbastanza facilmente individuare ad esempio
avvertenze Incheon e linciaggio è uno strumento
che si potrebbe desiderare di utilizzare nel caso in cui
si sta utilizzando pacchetti Debian è una è
un linter per David pacchetti e può
una notifica di cose come bene c'è un
binario in questo pacchetto ed è mancante
una pagina di uomo così supponiamo questa mattina
è non è andato e il disegno di legge è quello di costruire
il suo ok così oltre i grafici e
segnalazione dobbiamo anche avere il
pacchetto Debian ed a questo punto è
ancora una volta gettato contro un motivo e brutto
dice bene si tratta di un si tratta di un pacchetto Debian
in realtà è bello, ma è venuta da
qualche ramo che io non so che sembra
come è venuta da imballaggio DEF
Non sto prendendo così fondamentalmente buttare
via così si potrebbe dire va bene questo è
questo è un esempio piuttosto inutile
Sì, ma è il fondamento della costruzione
l'altro sulla parte superiore che sono la svolta
rivela essere molto utile una volta che hai
li ad esempio utilizzando questo questo
conduttura e con il singolo punto un
richiesta di decidere o meno di pacchetti
dovrebbe colpire il repository consente di
fare le cose come bene che possiamo fare di notte
la ricostruzione di tutti i pacchetti Debian in qualsiasi
il tempo ha mai colpirà qualsiasi repository
ma siamo in grado di individuare le cose come cambiare una
pacchetti pis o passati o rotture di
confezionati con tali casi
altri fattori interessanti e che voglio
a solo saltare molto rapidamente su quella
perché sono già nel corso del tempo, ma solo
per darvi un'idea
esso permette anche di fornire l'uso
casi come perché non creare uno speciale
distribuzione sul server applet
si chiama confezionamento DEF e se ci ha colpito
tale diversa positivo se se un
pacchetto colpisce un tale repository che poteva
vai al confezionamento di morte è questo
in questo esempio in modo da non andare troppo
instabile lo fa andare per avere imballaggi
e da lì abbiamo un taxi regolare e
repository modo che possa essere utilizzato internamente
da QA reparto può essere utilizzato da da
sviluppatori stessa e questo permette
esempio per fare grandi refactoring senza
rompendo instabile per due mesi o
tre mesi perché lo sviluppatore può
scegliere qualsiasi pacchetto sorgente che vuole o
qualsiasi repository che vuole incidere su di esso
e spingere a commettere non di non rilasciare
ramo ma a un ramo di sviluppo conosciuta
e tutti i pacchetti che cadono fuori
questo ramo di sviluppo noto ha colpito questo
molto repository e mai
mai andare a clienti, ma che avrebbe
concedici un certo qualche grande interna
test e una volta che il refactoring è fatto
il lavoro può semplicemente essere unito a
rilasciare la pratica e si ha la prima
usare caso di nuovo quindi ovviamente il mio tempo è
sopra questo momento voglio solo molto
rapidamente andare oltre per andare su più
lezioni che abbiamo imparato
forse sono utili a voi sarei
grande se li avessi conosciuto prima il
prima è meglio assicurarsi di
hanno un veramente facile da usare pipeline e
facile da usare mezzi per il punto di sviluppatore
vedere se si utilizza get nella vostra azienda
accertarsi che la tubazione è
controllabile e utilizzabile da ottenere solo così
se si ha se si richiede la vostra
Gli sviluppatori per configurare Jenkins per la loro
proprio edificio un software che potrebbe essere un
problema perché alcuni sviluppatori, anche se
è politica aziendale che Jenkins dovrebbe
essere utilizzato per la costruzione di alcuni sviluppatori
diranno sì lo ignoro
altri fini diranno sì ho intenzione di
prendere Jenkins per la costruzione, ma non ho mai
sentito parlare di test di unità e non mi interessa
su grafici su unità di test ok bene
altri quelli diranno bene io so come
come analizzare Che i risultati dei test unità
con Jenkins che è buono e lui è felice
ma ha dimenticato che non vi è, per esempio
copertura di codice così quindi sarebbe
grande per assicurarsi che che si può
astrarre da parte dello sviluppatore e si
non richiedono uno sviluppatore per configurare
Jenkins si può dare un'occhiata a questo
nessun problema, ma in fondo è meglio
fornire per lui o lei io penso che sia
importante per ottenere servizi e in esecuzione
vero rapidamente in modo da non non costruire tutto
le caratteristiche che si pensa siano
importante o utile tuttavia avviare la
più importante e prevedere che
requisiti di cambiare nel corso del tempo mmm
cambiano molto spesso più spesso e
è meglio prepararsi per questo e
Credo che la migliore preparazione per
mutevoli esigenze è quello di automatizzare il
più possibile e l'automazione significa ok
Sono usare ansible uso marionette cuoco
tutto ciò che dovete fare il vostro server
configurazione, ma non si fermano qui
perché per esempio ottenere forti fornisce un
API erano tutti i progetti con possono essere
configurata a livello di codice quindi non c'è
nessuna necessità di passare attraverso le impostazioni di
diverse centinaia di progetti e richiedere e
e ganci Membri Modifica gruppo o modificare
o qualcosa di simile che può essere
automatizzato di distanza e dovrebbe essere
modo automatizzato
un'altra cosa è se si sta utilizzando Jenkins
c'è progetti come Jenkins colpo
builder non so se è se la gente
sapere che, ma penso che sia molto utile
perché abbiamo alcuni che non sono su
mille controllando i negozi e la modifica
singole parti del lavoro noi un richiede
minuto farlo a mano e si poteva
divertirsi per le prossime due settimane, quindi se
si sta utilizzando insieme con Jenkins assicurarsi
non toccare mai l'interfaccia di configurazione
di tranne per testare ovviamente e
l'ultimo punto è meglio scegliere il vostro
strumenti con saggezza
abbiamo iniziato con un altro repository
server e senza matchup molto altro
valutazione perché abbiamo pensato bene che abbiamo
conosciuto dal passato e va bene che esso
fa il suo lavoro, ma abbiamo colpito limitazioni
abbastanza rapidamente e in realtà quando si
costruire una pipeline di integrazioni vengono
nel tempo e si pensa bene questo è
solo la si faccia male a loro quello
server di repository Debian non può essere
così difficile da strappare che fino, ma in realtà se
ci sono altri cinque servizi che
dipendere da esso e in qualche modo integrarsi con
esso E 'get diventa difficile
ok così il gioco è fatto dal mio discorso grazie
molto per l'ascolto
se avete domande
si potrebbe chiedere loro la loro informatore quattro
minuti o si può trovare il contatto
dettagli sulla mia pagina web
ok grazie
sì grazie
Date un'occhiata qui sotto ho voluto chiedere
Oltre a questi strumenti di sviluppo sono
ci degli altri elementi del software libero
da utilizzare per gli altri aspetti della
la vostra attività come nucleo di contabilità
relazioni con i clienti forse o progetto
gestione eccellente domanda
stiamo migrando da un
pianificazione delle risorse aziendali proprietarie
sistema a un software libero uno è
chiamato Triton Non so se voi se
sapere che proprio sul sarebbe almeno il
strumento di scelta per noi in questo momento penso
Io non sono sicuro di che si chiama nuova
la salute che si basa su provato su così
si potrebbe voler cercare un nuovo salute
per ottenere demo e dare un'occhiata a quello che era
possibile
sì per favore ho bisogno per la presentazione e
rivedere alcuni unificata per il modello di ramificazione
educare qualcosa di simile per tipo di
che abbiamo un noi abbiamo una ramificazione
modellare sì e si basa sul rilascio
I nomi internamente in modo che è quello che ho
qui presentata è in realtà un bel
minuto uno fide abbiamo duramente illimitato
spiegare
Quindi, in pratica abbiamo abbiamo rilasci
ogni pochi anni o non può rilasciare è
ogni pochi anni che fuori che hanno nomi
e sotto questo nome che abbiamo rilasciato
rami e abbiamo lo sviluppo
rami e abbiamo filiali di imballaggio
e tutto il genere di cose quindi sì lo facciamo
e se siete interessati vieni da me
in seguito, e vi spiegherò in dettaglio
a te
Yep benvenuto
Si prega di sì come si fa a trattare con
come anche avere un insegnante veramente vecchio stato
come tre settimane di vita
cercate di integrarlo con la band
pubblicato come settimanale o proprio come cercare di
unire questi vecchi rami della nuova release
che hanno più caratteristiche aggiunte dalla unico
nel modo e che può causare altri
specie di scatola
ok così la questione è quando ci quando abbiamo
avere tali rami di sviluppo a lungo che
usiamo e poi ci sarà confezionato
separatamente se li fondiamo indietro
e in realtà sì, lo facciamo abbiamo praticamente
rebase così qualunque colpisce lo sviluppo
ramo non ha importanza per noi così abbiamo r
ci sono molti molti comitati che sono
solo lavorando roba il progresso del genere
e una volta che si torna a master o di
ramo di release sono di solito schiacciati
in commit logiche con una corretta commettere
messaggi e poi l'intera pipeline è
ricostruito o il software è ricostruito in modo
quello che non facciamo è che non prendiamo
pacchetti di sviluppo di Debian che ha colpito un
repository di sviluppo e spostarla nella
il repository instabile o stabile in modo che
assicurarsi che tutti costruisce effettivamente utilizzare
il percorso con le versioni in là così noi
mai prendere pacchetti binari Debian per
sordi per qualunque cosa noi tutti abbiamo sempre
ricostruire il genere di cose
ok

Share this subtitle


Description

This talk will cover how to power the development infrastructure of a small (non-cloud) company using free software. I present the goals and our requirements for the infrastructure and dig into some interesting parts, including: * Using a free software pipeline to get from code to the final product. * Discuss the use of free software alternatives to proprietary solutions. * Why the work on infrastructure is never finished. * Lessons learned