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

14   0   0  
  Pause sub
dus dank u voor uw komst naar mijn
presentatie die ik ga spreken over
het bouwen van een gratis software-ontwikkeling
milieu of pijpleiding een kleine
bedrijf eigenlijk is het een deel van wat we
en we gebouwd tijdens de laatste drie
jaar bij ons bedrijf
mijn naam is het kweken van planten harder Ik ben een
systems engineer bij een klein Oostenrijks
startup bedrijf en we doen het laboratorium
het testen van apparatuur voor de pulp en papier
industrie dus in principe bouwen we apparaten
dat wij verkopen aan klanten en degenen
klanten gebruiken om bepaalde aspecten te testen
van bijvoorbeeld papier, zodat een testcase
zou worden hoeveel water kan een stuk
papier absorberen de aard van de apparaten niets
bijzonder chique uit een technologie punt
gezien we gebruiken meestal c ++ dus de meeste
van de zacht derde ervan is in
c ++ dan is er een Python 3 en
Uiteraard is de glucose die je nodig hebt
Overal zou in principe passie en
de 15
wist je dat voordat wilt daadwerkelijk
praten over de pijpleiding heb ik ook op
invoering van een aantal van de eisen die
we hadden en dat zijn slechts enkele van hen
Ik denk dat het belangrijk is om je
gevoel van wat nodig is tenminste
voor onze use case, zodat een belangrijk
vereiste was om offline ondersteuning
ons hoofdkantoor is gevestigd in
Oostenrijk op het platteland en dat is
eigenlijk wel leuk als je kijkt naar het raam
en dit kun je groene gras in te zien
bergen en eigenlijk dat het geval is
maar het is niet gunstig voor het geval dat u wilt
goede internet verbinding, zodat we hebben een
trage internetverbinding en het vrij
flick u wilt, zodat we beter niet vertrouwen
te veel op het internet dat zou
het zou goed zijn voor ons
een ander ding dat we kennen uit het verleden
dat heel goed aan niet
afhankelijk van een enkele ontwikkelaar machine
ergens Ik weet zeker dat de meeste van jullie hebben
gehoord
de verhalen of hebben het gezien met uw
eigen ogen dat sommige laptop enkele machine
in sommige office van enkele ontwikkelaar
eigenlijk het belangrijkste aspect van
het bedrijf omdat zonder die
zonder deze laptop bepaalde producten kan
overal worden gebouwd
Ik weet niet of er iemand is zo alle dingen
als dat maar ik heb ze gezien en ze zijn
niet zo geweldig om zo hebben we beter
voorbereiden
een ander ding is het moet gemakkelijk te zijn
gebruiken en eenvoudig te gebruiken middelen die we moeten gebruiken
gereedschappen en we moeten ontwikkelaars
tools die ze zijn comfortabel met
dus als we gebruiken krijgen het zou geweldig zijn
als de ontwikkelaar kan interageren met een
pijpleidingen en orkestreren van de pijpleiding of
het grootste deel van de pijpleiding door gewoon met behulp van get
eerlijk genoeg
en een ander ding is het zou moeten zijn
begrijpelijke ik denk dat het vrij
belangrijk voor een stedelijk milieu
dat de gebruikers het kan begrijpen dat ze niet
nodig hebt om te krijgen alle eeuwigheid grote
de details van het, maar moet u een kijkje nemen
ernaar en ze oké zou zeggen weet ik dat ik
bouwde dit pakket en het ging van deze
machine om deze machine deze machine en
dit gebeurde, dat zou zijn dat zou doen
eerlijk genoeg
en ook het hebben van een begrijpelijke
pijplijn betekent dat het ook een gehackt één
dus het kan gemakkelijk worden gemodificeerd en
De aangepaste als nodig ik wil geven
u een zeer minimale overzicht van wat we
hebben
het is ver van compleet, maar het
bevat de belangrijkste aspecten die
zijn nodig voor deze 20 minuten spreektijd, zodat
Ik geef een korte inleiding
alle onderdelen hier en dan zal ik
u voorzien van een aantal use cases in orde
om uw gevoel van wat is te krijgen
mogelijk dus willen we beginnen bij het
linksonder hier waar we een
developer laptop kan van alles zijn, dat
Linux machine venstersdoos mac box
wat er is geen enkele verplichting
op deze machine principe ontwikkelaars
moet zich comfortabel voelen
met het krijgen van zijn werk gedaan misschien 90
misschien misschien max en sommige versie controle
systeem zou zijn zou genoeg zijn om te krijgen
gestart vanaf daar hebben we besloten om te
pick krijgen schoot als ons als een opslagplaats
beheerserver of socialisme versie
control systeem, omdat we het gebruiken
intern een hoop we leuk vinden en we
denk dat het dat het hier om dat te lezen we blijven
dus we dachten dat het zou geweldig zijn als we als
iets dat blijkbaar ondersteunt
te krijgen en maakt het ook mogelijk ontwikkelaars om te gebruiken
wapen te staan als ze dat willen, omdat
sommige ontwikkelaars niet het gevoel dat de besparing
met met met een command line en misschien
sommige taken zijn vrij gemakkelijk te doen op een dergelijke
een webinterface dus we dachten dat het zou
zijn een goede ronde zou een geweldig zou zijn
gereedschap hier en we zijn heel blij met de
keuze eigenlijk terug toen we
begon was het was een beetje ruw, maar
op dit moment voelt het voelt heel vrij
heel goed te gebruiken vanaf daar we het hoofd
naar tank hier de middelste
hier hebben we gekozen Jenkins, want ik was
aan gewend en mike / proces ongeacht
werken
ok en het is gratis software het is oké
met behulp van Jenkins soms zou je
Jenkins zou kunnen geven u enkele hoofdpijn als
als je niet gebruiken als een meester alleen
systeem, zodat u als u wilt Jenkins gebruiken
je beter zorg ervoor dat u gebruik maken van notities
en niets op Jenkins bouwen
zich laat Jenkins aan alle
orkestratie en alle andere
rapportage en bewerken en er zou
zijn er genoeg zou zijn, maar doen het
bouwt voort op andere machines en dat is
waar we hebben een aantal build neusrecht
hier het wetsvoorstel spullen die ze bouwen c ++
project python projecten die ze lopen eenheid
testen ze doen inburgeringsexamen wat
is nodig
vanaf daar moesten we naar een pleidooi en een
middel bij Debbie n versie compatibel
um repository server dus we besloten om
verzenden onze product als een set van Debian
pakketten en is het meest natuurlijke en 22
verschepen Debian pakketten in een en in een
regelmatige debian repository en dus
need some hulpmiddel om pakketten te hanteren en
sommigen van hen zijn beschikbaar en we houden
met een pleidooi omdat we denken of in onze
ervaar het past in onze use case beste tot nu
Het is denk ik het geschreven en gaan
mature Ik denk van wel en het is heel handig
te gebruiken dat hij heeft heel veel mogelijkheden en ik
denk dat je het grootste deel van het boek daadwerkelijk krijgen
uitgevoerd aan de rechterzijde van het verdampen
rechterzijde van hier u hebben wij een
Kortom, de gestippelde lijn dat betekent dat sommige
netwerk segregatie dus we hebben het grootste deel van
van deze poplin in ons intern netwerk
of eigenlijk elk van het grootste deel en
de rechterzijde van het externe
netwerk hebben we een aantal buitenspiegels
en dat is eigenlijk de motor X zo motor
bijl is ten dienste van de opslagplaats voor onze
klanten en we hebben meerdere exemplaren
van van dat hier dus ja ik liet een aantal
van de funny stuff daadwerkelijk en een aantal van
de bruikbare spullen bijvoorbeeld wij ook
vertaling server, zodat vertalers
daadwerkelijk kan vertalen onze hele
software met behulp van één enkele webpagina
interface van een website gebruiken wij voor dat, maar
het is het is eigenlijk leuk het biedt uw
twitter bootstrap webinterface is het
vrij eenvoudig te gebruiken, maar het is niet zo
belangrijk voor de voor dit gesprek, maar gewoon om te
een idee te geven dat dit echt de
belangrijkste onderdelen van de
poplin dus ik wil aan de slag met een
use case en dit use case is om te bouwen
en laat
een stabiele stukje software, zodat we aannemen
dat de ontwikkelaar hier op zijn laptop
heeft een enkele repository en het bevat
een stabiele vrijgave van de software en ook
heeft alle debian pakket informatie van de
in het dus deze repository is in principe
klaar om te bouwen ok dus wat een ontwikkelaar
hoeft te doen is in principe begaan zijn om
commit de huidige stand van de
repository om een ​​release te filiaal in deze
geval roep ik het los nu natuurlijk
er veel meer maar dit zijn
Bijvoorbeeld releases goed genoeg en uit
er allemaal de ontwikkelaar moet doen is
duw deze repository om liefde te krijgen en
up is niet alleen de ingang van dit
pijplijn nodig heeft, maar ook aan of is het een
machine die daadwerkelijk voor
archiveren van alle source code, dus als je
hebben pleegt op een vrijval tak en en
op een tak kan het potentieel
verscheept naar een klant
zou het zeer aan te raden als je te maken
er zeker van dat deze commit nooit gaat
weer weg
dus ga dat biedt u een functie
dat heet beschermende takken en
u kunt configureren op projectbasis
op projectbasis en het laat je
beschermen van bepaalde takken van het zijn
geschrapt en van gedwongen push om zo
die ontwikkelaars kunnen kan onkruid kan
onkruid uit takken en vanaf daar hadden we
meer dan 22 Jenkins in principe krijg lap
Jenkins waarschuwt over wijzigingen in
bepaalde repositories met behulp van dat
boek dus dit is een steen die de
standaard get lab API functie is
in principe kennis Jenkins hey Jenkins I
hebben een aantal veranderingen hier misschien wilt u
doe er iets mee
dus Jenkins aan zijn kant heeft een enorme lijst
van projecten die het bouwt bouwt voor
Bijvoorbeeld C ++ project voor vrijgave takken
bouwt python project als nightly
versies wat-wat Jenkins in principe
weet hoe om dingen te bouwen, zodat het neemt de
informatie uit goede ronde en mededelingen ok
Dit is een C ++ project het eigenlijk
afkomstig van een releasetak dus ik moet
bouwen van een vrijval in principe dus Jenkins een
paar stappen en ze zijn in principe
het selecteren van één van de opbouw niet verstrekken
een ingebouwde een schone build omgeving waarin we doen
geen gebouwde omgeving over delen
rekeningen dus we ervoor zorgen dat elke software
elk pakket is ingebouwd in een schone
en minimale milieu als je
geïnteresseerd zijn we met behulp van debian Jenkins
aanwijzing voor dat het een mooie set van
eigenlijk shell script dat abstract
veel weg van de Nitty Gritty en
Details van debian verpakkingen gebruiken wanneer
u gebruik maken van Jenkins Jenkins factureert de
verpakking of bouwde de bron rekeningen
Bouw mee aan de binaire pakketten loopt proeven op
de pakketten en na build node
gedaan verzamelt het allemaal de resultaten die het
verzamelt de bouwer artefact en het
biedt de gebruiker met iets als
grafieken en rapporten dat is wat iedereen
wil dus dit is de werkelijke
plaats waar de ontwikkelaar kunt kijken naar de
huidige stand van dit project, zodat u kunt
neem een kijkje op en zeggen oke dit is
de twintigste opbouwen van een pakket zijn
bouwers schoon, we hebben 20 unit tests en
en hij kan kan hij snel een kijkje nemen op
en dat de toestand ervan en is
Ook het punt waar u kunt aanpassen
heel veel dus als je bijvoorbeeld gebouwd
zuurstof documentatie zijn er enkele wat
waarschuwingen en zuurstof of zuurstof
Bill
lock die je wilt dat je zou willen
om een blik op en deze rapportage te nemen en
en grafische kenmerk van Jenkins zou zijn
de juiste plaats om te visualiseren dergelijke
veranderingen zoals gegevens dus laten we aannemen
dat het gebouw succesvol en een van
de bouw artefacten is eigenlijk een binair
Debian pakketten of debian pakket uit
er
Jenkins neemt een pakket en gooit het naar
een pleidooi en een pleidooi werpt een blik op de
inkomende pakket en het gebouw
informatie die wordt geleverd ermee
en mededeling mededelingen
ok is dit een dit ziet eruit als een vrijval
pakket, omdat het komt uit een
releasetak van de oorspronkelijke get
vastbesloten om releasetak dus het
zegt oke ik weet hoe om te gaan met
releases Ik ga om het te nemen en zet het
in mijn onstabiele distributie of
bewaarplaats voor dat wat dat betreft zo
Dit betekent dat één of alle pakketten
die gebouwd zijn in principe gevuld
in één ups repository een pleidooi
distributie hebben we een aantal van die
en ik wil gewoon heel snel voorbij
of over de verschillende distributies die
we hebben we hebben bijvoorbeeld instabiele we
hebben een test en we hebben een stabiele en
die dienen verschillende use cases, zodat de
onstabiel is de distributie die
pakketten worden in de hele tijd geworpen zo
als de ontwikkelaar maakt een nieuwe release van
elk collo wordt gevuld in onstabiele
nu op een bepaald punt in de tijd u in principe
wilt software om klanten te verzenden
anders zou je binnenkort uit
business dus op een gegeven moment in de tijd I
ontwikkelaar moet beslissen oke dit is
goed genoeg om in principe te krijgen in
testen en testen betekent dat onze
testafdeling van QA afdeling
beginnen met een blik op de lopende rekening
stand van de
auditieve zodat het team kan bijvoorbeeld
testen of installeert van deze
repository werk als upgrades werken als de
pakketten zijn compleet als de functies
werken als alle vakjes die
vereist zijn eigenlijk in en ja
vanaf daar we eisen dat de Q18 aan
in principe start de Jenkins baan en Mark
het testen zoals stabiele en
stabiel betekent dat gespiegeld naar de
externe repositories naar de externe
spiegels dus zodra een QA-lid zegt oke
dit deze versie van het testen
repository is goed genoeg kan het zijn
verscheept naar klanten die hij kan de markt een
stabiel en alles is buiten dansen
buiten de repository dus dit is een
volledig overzicht van de op het gehele
pijpleiding en ik wil gewoon snel
op met een of twee andere gebruikssituaties zoals
goed om u een indruk van te geven van
wat is wat er mogelijk is
dus voordat ik wil snel vatten we
hebben een stabiele arm source-pakket met
debian verpakking informatie in het wij
zond dit pakket te krijgen te krijgen lap
krijgen merkte Jenkins Jenkins build
software hebben we een een binair debian
pakket dat is in de huidige een pleidooi en
zodra het druipt door de pijpleiding
door middel van instabiele testen en stabiel is
vroeg of laat zullen we de klant hit
op een gegeven moment en meestal als dat
gebeurt zal de klant doos melden
hopelijk doet hij in ons geval ze dat doen
Laten we verder gaan met een ander voorbeeld en
laten we aannemen dat ok zo'n klant meldt een
bok en laten we aannemen dat ok
een man pagina's ontbreken een debian
verpakken die bucks meestal niet krijgen
gemeld, maar laten we aannemen dat voor deze
voorbeeld dat is dus de ontwikkelaar
belast met ok u op de moeder pagina
dit pakket en nu doet hij dat hij creëert
een dove tak in principe doof en pick
elke naam kan dove verpakkingen voor zijn
Zo en dan begint hij te werken
het pakket en hij kon nu duidelijk
bouwen alles zelf wat hij kon
bouwen van een lokaal hier verpakt op
alle unit test lokaal Picard check
de code coverage lokaal om alle
dingen, maar er is geen behoefte aan, omdat hij
kan ook duwen deze medewerkers deze dood
verpakkingsbranche hier alleen maar om op te staan
opnieuw en laat de liefde het werk voor hem
of niet de laatste pijpleiding het werk doen, zodat
opstaan nogmaals opmerken Jenkins Jenkins
weet hoe om pakketten te bouwen komt
uit een andere tak, maar niet echt
materie dus het bouwt pakketten en opnieuw
Jenkins ambachten en rapportage, zodat de gebruiker
kan heel vrij gemakkelijk ter plaatse bijvoorbeeld
incheon waarschuwingen en lynching is een hulpmiddel
dat je zou willen gebruiken in geval
je gebruikt Debian-pakketten is het een is
een Linter voor David pakketten en het kan
u op de hoogte van de dingen zoals okay is er een
binary in dit pakket en het ontbreekt
een man pagina dus laten we aannemen dat deze morgen
is niet verdwenen en het wetsvoorstel is om te bouwen
its ok dus naast de grafieken en
rapporteren we ook hebben tot de
Debian-pakket en op dit punt is het
weer gegooid tegen een pleidooi en lelijk
zegt oke het is een het is een Debian-pakket
het is eigenlijk leuk, maar het komt uit
enkele tak die ik niet weet het lijkt
zoals het vandaan komt def verpakking
Ik ben niet het nemen van het, zodat het in principe gooien
het weg zo zou men kunnen zeggen oke dit is
Dit is een nogal zinloos voorbeeld
ja, maar het is het fundament van het gebouw
andere dingen op de top die de turn
naar heel nuttig als je eenmaal zijn
ze bijvoorbeeld met behulp van dit
pijpleiding en het gebruik van de enkel punt een
pleidooi om te beslissen of pakketten
moet raakte de repository kunt u
doe dingen zoals okay we kunnen 's avonds doen
ombouw van alle Debian pakketten op elk gewenst
tijd heeft nooit enige repository raken
maar we kunnen dingen zoals het veranderen van een plek
pis of verdwenen verpakkingen of breuk van
verpakt met dergelijke dergelijke gevallen
een andere interessante factoren en ik wil
gewoon heel snel springen op dat
want ik ben al meer dan tijd, maar gewoon
Om u een indruk te geven
Het maakt het ook mogelijk om gebruik te maken te bieden
gevallen, zoals waarom niet een speciale maken
distributie op de applet server die
heet def verpakking en als we hit
zo'n andere positief als wanneer een
pakket raakt zo'n repository het kon
naar dood verpakking Dit
in dit voorbeeld dus is het niet te gaan
instabiel maakt het naar de verpakking hebben
en vanaf daar een regelmatige cabine en
repository zodat het intern gebruikt kan worden
door QA afdeling door door gebruikt kan worden
ontwikkelaars zelf en dit zorgt voor
bijvoorbeeld om grote refactorings doen zonder
breaking instabiele twee maanden
drie maanden, omdat de ontwikkelaar kan
kiezen uit een willekeurige bron pakket dat hij wil of
elke repository die hij wil hack op
en duw te committeren niet niet vrij te geven
branch maar om een bekende ontwikkeling tak
en alle pakketten die uit te vallen
Deze bekende ontwikkeling tak raakte deze
zeer repository en nooit
ooit naar klanten, maar dat zou
ons in staat stellen een aantal grote interne
testen en zodra het herschikken geschiedt
het werk kan gewoon worden samengevoegd tot
laat de praktijk en je hebt de eerste
use case weer zo duidelijk mijn tijd is
meer dan op dit moment wil ik gewoon heel
snel gaan over te gaan over een aantal
lessen die we geleerd hebben
misschien zijn ze nuttig voor u zou ik
geweldig zijn als ik ze had geweten vóór de
eerste is je beter zorg ervoor dat u
hebben een heel eenvoudig te gebruiken en pipeline
makkelijk te gebruiken voor het punt van de ontwikkelaar
bekijken als u gebruik in uw bedrijf
Zorg ervoor dat de pijpleiding
controleerbaar en bruikbaar zijn alleen maar zo
als u als u nodig heeft uw
ontwikkelaars in staat om setup Jenkins voor hun
eigen software gebouw dat zou kunnen zijn een
probleem, omdat sommige ontwikkelaars zelfs als
is het beleid van de onderneming dat Jenkins moet
worden gebruikt voor het bouwen sommige ontwikkelaars
zal yep zeg ik negeren
fijne anderen zullen zeggen ja ik ga
neem Jenkins voor de bouw, maar ik heb nog nooit
gehoord van unit tests en kan me niet schelen
over grafieken over unit testen ok prima
anderen zullen zeggen oke ik weet hoe
hoe che unit test resultaten te analyseren
met Jenkins dat is goed en hij is gelukkig
maar hij vergat dat er bijvoorbeeld
code coverage ook, dus het zou zijn
geweldig om ervoor te zorgen dat dat u kunt
abstracte weg van de ontwikkelaar en je
hebben een ontwikkelaar niet nodig om te configureren
Jenkins hij kan een kijkje nemen op het
geen probleem, maar in principe is het beter om
zorgen voor hem of haar dat ik denk dat het
belangrijk om diensten up and running
echt snel dus niet niet alles op te bouwen
de functies die je denkt dat ze
belangrijk of nuttig, maar beginnen met de
belangrijkste en bepalen dat
vereisten om de tijd veranderen mmm
ze wisselen vaak vaker en
je beter voor te bereiden je voor dat en
Ik denk dat de beste voorbereiding op
veranderende eisen te automatiseren
zoveel mogelijk en automatisering betekent ok
Ik ben gebruik Ansible gebruik marionetten chef
wat moet je je server te doen
configuratie, maar nog niet alles
omdat bijvoorbeeld luid voorziet in een
API waren alle projecten con kan worden
programmatisch geconfigureerd dus er is
geen noodzaak om te gaan door de instellingen van
enkele honderden projecten en vereisen en
en bewerken van lidmaatschap van een groep of bewerken haken
of iets dergelijks die kunnen worden
geautomatiseerde weg en het zou moeten zijn
geautomatiseerde wijze
Een ander ding is als je gebruik maakt Jenkins
er projecten als Jenkins schot
bouwer Ik weet niet of het is als mensen
weet dat, maar ik denk dat het zeer nuttig
want we hebben een paar ik ben niet over
duizend controleren winkels en veranderende
enkele delen van het werk vereist dat we een
minute doen dat met de hand en je kon
veel plezier voor de komende twee weken, dus als
je gebruikt set met behulp van Jenkins ervoor te zorgen
je nooit aanraken het configure-interface
van het behalve voor het testen van natuurlijk en
het laatste punt is dat je beter kiezen voor uw
gereedschappen wijselijk
zijn we begonnen met een andere repository
server en zonder matchup nog veel
evaluatie omdat we dachten dat okay we hebben
bekend uit het verleden en het is ok het is
doet zijn werk, maar we hebben geraakt beperkingen
vrij snel en eigenlijk als je
bouwen van een dergelijke pijpleiding integraties komen
in de tijd en je denkt dat goed is
alleen de een gewond raakt bij hen de ene
debian repository server het kan niet
die moeilijk te rippen die op, maar eigenlijk als
zijn er vijf andere diensten die
afhankelijk zijn en een of andere manier te integreren met
it's krijgen het wordt lastig
ok dus dat is het van mijn talk dank u
heel erg voor het luisteren
Als u vragen hebt
U kunt hen vragen hun informant vier
minuten of u kunt het contact te zoeken
details over mijn webpage
OK bedankt
Ja graag
kijk hieronder ik wilde vragen
Afgezien van deze developer tools zijn
er een andere stukken van de gratis software
gebruiken van onze andere aspecten van
uw bedrijf als boekhouding kern
relations misschien of project klant
beheer uitstekende vraag
we zijn op dit moment migreren uit de buurt van een
proprietary enterprise resource planning
systeem om een gratis software één is
genaamd Triton Ik weet niet of u als u
weet dat zou recht op tenminste het zijn
instrument van keuze voor ons op dit moment denk ik
ik ben niet zeker dat ik denk dat het nieuwe heet
gezondheid, dat is gebouwd op geprobeerd zo
wilt u misschien op zoek naar een nieuwe gezondheid
demo's en hebben een blik op wat was
mogelijk
ja, ik moet voor de presentatie en
Geef je mening over een aantal unified naar vertakking model
opvoeden iets dergelijks voor soort
dat we een we hebben wel een vertakking
modelleren ja en het is gebaseerd op vrijkoming
namen intern dus het is degene die ik
hier wordt gepresenteerd is eigenlijk heel
minute fide is die we hebben onbeperkt harde
uitleggen
Dus eigenlijk hebben we hebben we releases
om de paar jaar of het kan niet los is
om de paar jaar dat erop dat namen
en onder deze naam hebben we losgelaten
takken en we hebben de ontwikkeling
takken en we hebben verpakking takken
en alle soort dingen dus ja we doen
en als je geïnteresseerd bent bij mij komen
achteraf en ik zal in detail uitleggen
aan jou
yep welkom
ja, ja hoe ga je om met
zoals hebben zelfs een echt oude leraar geweest
net als drie weken oud
probeer te integreren met de band
vrijgegeven zoals wekelijks of gewoon graag proberen te
samenvoegen van deze oude kantoren van de nieuwe release
die meer functies toegevoegd door unieke
de wijze waarop en andere kunnen veroorzaken
soort doos
ok dus de vraag is wanneer we wanneer we
die zo'n lange ontwikkeling takken die
we gebruiken en dan zullen we worden verpakt
afzonderlijk of we fuseren ze terug
en eigenlijk ja, we doen we in principe
Voeringsmateriaal dus wat raakt de ontwikkeling
branch doet er niet toe voor ons, dus we r
er zijn vele commissies die zijn
gewoon aan het werk vooruitgang dat soort dingen
en zodra ze weer terug naar meester of
releasetak ze meestal geplet
in logische commits met de juiste commit
berichten en vervolgens de gehele pijpleiding
herbouwd of de software is zo herbouwd
Wat we niet doen is dat we niet nemen
ontwikkeling Debian pakketten die een hit
ontwikkeling repository en verplaats het in
de onstabiele of stabiele repository, zodat we
Zorg ervoor dat alle bouwt daadwerkelijk te gebruiken
het pad met releases in er dus we
neem nooit binaire Debian pakketten voor
doof voor wat we alles wat we altijd
de wederopbouw van de soort dingen
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