Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
CI/CD Explained | How DevOps Use Pipelines for Automation
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 48 Zeilen
- ci cd stands for continuous integration and continuous deployment but what does that mean well in devops which is short for development and i t
- operations it refers to the software development life cycle the steps are usually written out within an
- infinity loop since it's a cycle that repeats forever the steps in the cycle are developers write the code
- then it gets built or all compiled together then it's tested for bugs then it's deployed into production where it's
- used by end users or customers then we monitor and collect feedback and finally we plan improvements around
- that feedback rinse and repeat [Music] hi i'm walt each week here at lenode we
- teach you fun new topics so be sure to subscribe now in the case of continuous deployment the main point here is frequency today
- companies can ship new features within minutes for example ticketmaster used to build test and publish pipeline deployments
- within two hours but now with cicd they're able to do everything within just eight minutes so how is that possible what's this
- workflow like well continuous integration which is the ci is a development practice that requires
- developers to integrate code into a shared repository several times a day the code is verified
- by an automated build which allows teams or the project owner to detect any problems early on the project owner is one person
- in an organization who is responsible for the project that's being built so overseeing changes to the code making
- design decisions and deciding how bugs should be managed so back to the ci cd pipeline when the code
- is written and pushed to a repository like github or gitlab that's where the magic begins from there the code is analyzed and
- given a series of automated tests three examples are unit testing this tests the individual units of the source code
- validation testing this makes sure that the software satisfies or fits the intended use and you have format testing
- this checks for syntax and other formatting errors these tests are created as a workflow and then
- are run every time you push to the master branch so pretty much every major development team has some sort of cicd workflow
- and remember on a development team the new code could be coming in from teams all over the world at different times of the day from developers working on
- all sorts of different projects it's more efficient to build an automated workflow of tests that make sure that
- everyone is on the same page before the code is accepted it would take much longer for a human to do this each time
- some popular cicd environments include jenkins which is an open source solution circle ci git lab github actions and then there's
- team city which is a proprietary solution why use cicd well because it automates things that
- otherwise would have to be done manually it finds small problems before it sneaks into the main codebase you can imagine that if you push bad
- code out to your million customers then you're going to have a bad week or maybe even a bad month it also helps to prevent something that
- we call technical debt which is the idea that since main code repos are constantly being built upon over time
- then a shortcut fix taken on day one is now an exponentially more expensive fix years later because now that band-aid of a fix
- would be so deeply intertwined and baked into all the code bases and logic so what's the ci cd workflow look like well
- let's say that you have a team of developers writing the code they use source code management like github or git lab
- next you have the build this is where the application gets compiled this runs the packages installations then
- you have the release pipeline this deploys the app for example to a web server now the fun part
- we need a ci cd system in place to make sure that our app doesn't have bugs or abnormalities so in the build pipeline i'll add a unit
- test in the release pipeline i'll add an integration test and maybe a ui test as well by the way
- some pipelines have a dozen tests or more lenoid's website has several good articles on ci cd with topics on buildbot
- immutable infrastructure worker and jenkins i'll include a link below if you want to check those out for our last topic
- what are some of the benefits of cicd well three examples are shorter cycle times this is the speed at which a devops team
- can deliver a functional application from the moment work begins to when it is providing value to an end user it also leads to happier
- employees giving your engineers the tools to be successful makes everything better than having a
- manual solution and also it gets to market faster because code that has run through a pipeline and is now in production
- is making money whereas code sitting on a hard drive somewhere is not so to recap one ci cd stands for continuous integration
- continuous deployment this might seem self-explanatory but it deals with how software is continuously written
- integrated analyzed and then deployed to its customers two ci cd helps to test new code
- to ensure that its logic makes sense is formatted correctly and fulfills the scope of the project and three
- ci cd allows for faster speed in the marketplace higher quality code limiting the fears of technical debt
- and creating happier employees so which video topic should we cover next let me know in the comments below and make sure that you're subscribed to be
- notified of more educational tutorials like this we'll see you next time [Music]
- you
Zum Nachlesen
Kontinuierliche IntegrationDas Ziel der kontinuierlichen Integration ist die Steigerung der Softwarequalität. Typische Aktionen sind das Übersetzen und Linken der Anwendungsteile, …
Testgetriebene EntwicklungDas Refactoring, also das Aufräumen im Code, führt zu weniger Fehlern; weil man dabei in kleinen Schritten vorgeht und stets entlang bestandener Tests …
Agile SoftwareentwicklungAgile Softwareentwicklung zeichnet sich durch selbstorganisierende Teams sowie eine iterative und inkrementelle Vorgehensweise aus. Agile Ansätze können sich …