FROM A YOLO^WDEVOPS - Home | NETWAYS GmbH · PROBLEMS WITH OUR (OLD) TOOLS no chronological revisions multiple different versions (forks) in production multiple different local versions

Post on 05-Nov-2018

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

SOFTWAREDEVELOPMENTSEENFROMAYOLO^WDEVOPSJanWagner

waja@cyconet.orghttp://log.c5t.org/about

TOOLSWEUSEDTOMANAGEOURSOFTWARE

vinanokatejoeeclipsenetbeanscprsyncftp

PROBLEMSWITHOUR(OLD)TOOLS

nochronologicalrevisionsmultipledifferentversions(forks)inproductionmultipledifferentlocalversions

f00b4r.phpf00b4r_20040410.phpf00b4r_production.php

distributedviascp/rsync/ftp

WAYOUT?VersionControlSystem

trackschangesoffilesandfolderwhen=dateofthecommitwho=nameofauthorwhy=commitmessage

CLIENT-SERVERVERSIONCONTROLSOFTWARE

Onelinearsoftwarerepository

withallversions

Serverdown,nodevelopment

ANDNOW?Howtofixsomeofthoseissues?

DISTRIBUTEDVERSIONCONTROL

Localdevelopmentpossible

committing,branching,tagging...workingoffline

Exchangeofcodewithallparticipantspossible-directly

M-P

MONITORINGPLUGINSTeamCommunication

MailingLists

ForlegacyreasonsMailseemsnotmuchlovedthesedays

Issues/PullRequests

Fitsdevelopersworkflow

IRC

MostusualRealtimecommunicationforpeercoding,releaseworkanddiscussions

MONITORINGPLUGINSUsualbranches

Development-masterbranchHotfixes-maint-X.Ybranch

usualcherry-pickfrommaster

Feature-nostrictnamingconvention

PullRequestsfromexternalcontributorsBrancheswheredevelopersareworkingonspecificproblems

MONITORINGPLUGINSMilestones

Forprioritizingworkandproblems,weareusingMilestonesIssuesandPullRequestsaretargetedforMilestones

MONITORINGPLUGINSCodecontributions

viaPullRequestsWorkbydevelopers

doneinFeaturebrancheseventhosearereviewedbyothermembersusuallythroughPullRequests

MONITORINGPLUGINSQualityAssurance

WeshiptestcasesforpluginsandClibraryfunctionsmaketestrunsthoseCanwetakefurther?

Yeswedid!

MONITORINGPLUGINSQualityAssurance

AutomationwithTravis-CI

Compilingandrunningmaketestoneverypush(togithub)

MONITORINGPLUGINSQualityAssurance

AutomationwithTravis-CI

ThishappensalsoforPullRequestsCanbeobserveddirectlyinthePR

MONITORINGPLUGINSQualityAssurance

Reliabilityof(Travis-)CI

OnlyasgoodascoverageofmaketestWhendependingonexternalinfrastructure,thismayvaryDependsonreliabilityofCI-infrastructure/buildservers

MONITORINGPLUGINSQualityAssurance

CodeQuality

StaticcodeanalysisperformedbyCoverityScanMergedmasterviacronjobonceaweekintocoverity/master,TravistriggerstheCoverityScan

MONITORINGPLUGINSInfrastruture

OnthesurfacewemassivelyrelyonexternalresourcesInfactwerunownprojectinfrastructure

WebsiteGitMirrorMailingLists

GITHOSTINGSOLUTIONSGitlabGogs(GoGitService)

GITLABMostcomprehensivealternativetogithubCommunity(CE)andEnterprise(EE)Edition(readOpenCore)Largeandgreatcommunity

GOGSMinimalrequirements(RaspberryPimayfit)writteningoLDAPsupport

CONTINUOUSWHAT?INTEGRATION!Developmentpracticewhere:

Developerspushcoderegularly(Buildand)verifiedautomaticallyDevelopers(andPM)arenotifiedofthecode(andbuild)status

Usuallywhenstatechanges

CI-WHY?BeawareofregressionsandproblemsatanearlystageIncreaseproductivityandprojectpaceIncreasereliabilityofyourdeployments

CI-CAVEATAutomatedtestsdependson

QualityofyourtestsCoverageofyourtests

Developersmayonlyfocusonsucceedingtests

Poortestsresultsintobadcodequality

CI-RUNNINGTESTFRAMEWORKS

LookintostaticcodeanalysistoolsforyouusedlanguageConsiderPMDtofindinefficientcode

Examples

GetanideaseeTravis-CI-BuildingaPHPprojectUsingOCLintwithTravisCIorJenkinsCIfortestingC,C++,Objective-C

CODEQUALITYHostedServices(FreeasBeerforOSS.)

ScrutinizerCICodeClimateSensioLabsInsight

SERVERLESSKANBANFORGITHUBISSUESUSINGGH-PAGES

SOMEMOREFANCYSTUFF?

SLACKLOOKSPROMISING!WhatifSlackserversarebreached?WhatifSlackissold?Isthereaworkingexportfunction?Subscription

WHYDIDMATTERMOSTHAPPEN?In2014,SlackbecamepopularinSiliconValley,andourcompanyadopteditformessaging.Butwehadaproblem–ourarchiveswereinouroldmessagingapp.Afteroursubscriptionexpired,theoldappwantedustopaythemtoaccessourowndata(andexportstilldidn’twork!).Wehatedbeinglockedin.Wefumed.Ourdiscussions,ourresearch,ouranalyses,andgigabytesofourcarefullytaggedin-gameartworkwasallheldforransombytheservicewehadtrusted.Slackwasgood,butitwasanotherproprietarySaaSapp,andwe’djustbeenburned.

DOYOULOVEFANCYSTUFF?

#CHATOPS

DEVISIONOF#YOLOOPSChatOpsbrings thecontextofworkyouarealreadydoing intotheconversationsyouarealreadyhaving.@jfryman

RememberEggdropandIRC?Nowcombinationof:

Hubot,Lita,ErrMattermost,Rocket.chat,Zulip

CHATOPS

CHATOPS

CHATOPS

SLIDESwaja.github.io/software_development_from_devops_view/sw_dev_from_devops_osmc2016

DeckTape-PDFexporterforHTMLpresentationframeworksLizenz:CC-SA-3.0-DEMail:JanWagnerwaja@cyconet.org

top related