CI/CD Explained | How DevOps Use Pipelines for Automation Akamai Developers https://www.youtube.com/watch?v=M4CXOocovZ4 Transkript (automatisch erstellt) 0:00 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 0:09 operations it refers to the software development life cycle the steps are usually written out within an 0:16 infinity loop since it's a cycle that repeats forever the steps in the cycle are developers write the code 0:24 then it gets built or all compiled together then it's tested for bugs then it's deployed into production where it's 0:33 used by end users or customers then we monitor and collect feedback and finally we plan improvements around 0:42 that feedback rinse and repeat [Music] hi i'm walt each week here at lenode we 0:51 teach you fun new topics so be sure to subscribe now in the case of continuous deployment the main point here is frequency today 1:01 companies can ship new features within minutes for example ticketmaster used to build test and publish pipeline deployments 1:10 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 1:19 workflow like well continuous integration which is the ci is a development practice that requires 1:27 developers to integrate code into a shared repository several times a day the code is verified 1:34 by an automated build which allows teams or the project owner to detect any problems early on the project owner is one person 1:44 in an organization who is responsible for the project that's being built so overseeing changes to the code making 1:52 design decisions and deciding how bugs should be managed so back to the ci cd pipeline when the code 1:59 is written and pushed to a repository like github or gitlab that's where the magic begins from there the code is analyzed and 2:08 given a series of automated tests three examples are unit testing this tests the individual units of the source code 2:17 validation testing this makes sure that the software satisfies or fits the intended use and you have format testing 2:26 this checks for syntax and other formatting errors these tests are created as a workflow and then 2:33 are run every time you push to the master branch so pretty much every major development team has some sort of cicd workflow 2:42 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 2:51 all sorts of different projects it's more efficient to build an automated workflow of tests that make sure that 2:58 everyone is on the same page before the code is accepted it would take much longer for a human to do this each time 3:06 some popular cicd environments include jenkins which is an open source solution circle ci git lab github actions and then there's 3:16 team city which is a proprietary solution why use cicd well because it automates things that 3:23 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 3:33 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 3:40 we call technical debt which is the idea that since main code repos are constantly being built upon over time 3:48 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 3:58 would be so deeply intertwined and baked into all the code bases and logic so what's the ci cd workflow look like well 4:06 let's say that you have a team of developers writing the code they use source code management like github or git lab 4:14 next you have the build this is where the application gets compiled this runs the packages installations then 4:22 you have the release pipeline this deploys the app for example to a web server now the fun part 4:29 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 4:38 test in the release pipeline i'll add an integration test and maybe a ui test as well by the way 4:46 some pipelines have a dozen tests or more lenoid's website has several good articles on ci cd with topics on buildbot 4:54 immutable infrastructure worker and jenkins i'll include a link below if you want to check those out for our last topic 5:02 what are some of the benefits of cicd well three examples are shorter cycle times this is the speed at which a devops team 5:11 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 5:20 employees giving your engineers the tools to be successful makes everything better than having a 5:26 manual solution and also it gets to market faster because code that has run through a pipeline and is now in production 5:35 is making money whereas code sitting on a hard drive somewhere is not so to recap one ci cd stands for continuous integration 5:45 continuous deployment this might seem self-explanatory but it deals with how software is continuously written 5:53 integrated analyzed and then deployed to its customers two ci cd helps to test new code 6:00 to ensure that its logic makes sense is formatted correctly and fulfills the scope of the project and three 6:08 ci cd allows for faster speed in the marketplace higher quality code limiting the fears of technical debt 6:15 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 6:23 notified of more educational tutorials like this we'll see you next time [Music] 6:38 you