title
Jenkins Pipeline Tutorial | CI/CD Pipeline Jenkins | Jenkins Tutorial | DevOps Training | Edureka

description
馃敟 Edureka DevOps Training (Use Code "饾悩饾悗饾悢饾悡饾悢饾悂饾悇饾煇饾煄"): https://www.edureka.co/devops-certification-training This Edureka Video on "Jenkins pipeline Tutorial" will help you understand the basic concepts of a Jenkins pipeline along with a practical demo. Below are the topics covered in the video: 1. The need for Continuous Delivery 2. What is Continuous Delivery? 3. Features before the Jenkins Pipeline 4. What is a Jenkins Pipeline? 5. What is a Jenkinsfile? 6. Pipeline Concepts 7. Hands-On Check our complete DevOps playlist here (includes all the videos mentioned in the video): https://bit.ly/3iJoJIP 饾悇饾悵饾惍饾惈饾悶饾悿饾悮 饾悆饾悶饾惎饾悗饾惄饾惉 饾悡饾惈饾悮饾悽饾惂饾悽饾惂饾悹饾惉 馃數DevOps Online Training: https://bit.ly/3GOAlD5 馃數Kubernetes Online Training: https://bit.ly/3q0zrg1 馃數Docker Online Training: https://bit.ly/3DYPCj9 馃數AWS Certified DevOps Engineer Online Training: https://bit.ly/3pXnB6y 馃數Azure DevOps (Az-400) Online Training: https://bit.ly/3m8WmVr 饾悇饾悵饾惍饾惈饾悶饾悿饾悮 饾悆饾悶饾惎饾惃饾惄饾惉 饾悓饾悮饾惉饾惌饾悶饾惈饾惉 饾悘饾惈饾惃饾悹饾惈饾悮饾惁 馃數DevOps Engineer Masters Program: https://bit.ly/3pXp1Ou 饾悇饾悵饾惍饾惈饾悶饾悿饾悮 饾悢饾惂饾悽饾惎饾悶饾惈饾惉饾悽饾惌饾惒 饾悘饾惈饾惃饾悹饾惈饾悮饾惁 馃寱 Post Graduate Program in DevOps with Purdue University: https://bit.ly/3yqRlMS Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka How it Works? 1. This is a 5 Week Instructor led Online Course. 2. Course consists of 30 hours of online classes, 25 hours of assignment, 20 hours of project 3. We have a 24x7 One-on-One LIVE Technical Support to help you with any problems you might face or any clarifications you may require during the course. 4. You will get Lifetime Access to the recordings in the LMS. 5. At the end of the training you will have to complete the project based on which we will provide you a Verifiable Certificate! - - - - - - - - - - - - - - About the Course Edureka鈥檚 DevOps online training is designed keeping in mind the latest market trend. This course will provide you with the in-depth knowledge of various DevOps tools including Git, Jenkins, Selenium, Puppet, Ansible, Docker, Kubernetes and Nagios. This training is completely hands-on oriented and designed in a way that will help you in becoming a certified practitioner by providing you with an intensified training for the best practices about Continuous Development, Continuous Integration, Continuous Testing, Configuration Management, Continuous Deployment and finally Continuous Monitoring of the software throughout its development life cycle. DevOps Certification Training is designed by industry experts to make you a Certified DevOps practitioner. The DevOps course offers: 1. In-depth knowledge on Continuous Development, Continuous Integration, and Continuous Testing by performing hands-on on GIT, Jenkins and Selenium 2. Comprehensive knowledge on Configuration Management, and Continuous Deployment using Puppet, Ansible 3. Working on Continuous Deployment stage by performing hands-on on popular tools like Docker and Kubernetes 4. The exposure to the stage of continuous monitoring using Nagios 5. Projects which are diverse in nature and will cover proper involvement of all the tools covered within this course 6. Rigorous involvement of a DevOps expert throughout the DevOps Training to learn industry standards and best practices - - - - - - - - - - - - - - Who should go for this course? DevOps Certification Training is designed by industry experts to make you a Certified DevOps practitioner. DevOps training is a must to do for IT professionals, who are: 路 Software Tester 路 System Admin 路 Solution Architect 路 Security Engineer 路 Application Developers 路 Integration Specialist DevOps practitioners are among the highest paid IT professionals today with salary ranging till $110K (source: indeed job portal), and the market demand for them is growing rapidly. You can check a blog related to DevOps Engineer Career Path. Also, once your DevOps training is over, you can check the top interview questions related edureka blog. DevOps in the Cloud is the market buzz. Having Cloud Computing skills is a highly preferred learning path after the DevOps training. Check out the upgraded AWS course details. - - - - - - - - - - - - - - Project Work 1. Host a dummy webpage using Apache Web Server. 2. Write shell script which reports: a) Various system configurations related to the user and the OS. b) Data related to load on the server. c) Top 5 processes with the maximum number of threads. d) Sort the services by memory 3. Install Nagios on a VM node for monitoring the various parameter of the VM. For more information, please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll-free).

detail
{'title': 'Jenkins Pipeline Tutorial | CI/CD Pipeline Jenkins | Jenkins Tutorial | DevOps Training | Edureka', 'heatmap': [{'end': 1020.059, 'start': 994.688, 'weight': 1}], 'summary': "This jenkins pipeline tutorial covers the importance of continuous delivery, features, and concepts of jenkins pipeline, docker-based testing, and automation of stages, while discussing practical scenarios and benefits, including laserjet's transformation resulting in cost reduction and increased productivity.", 'chapters': [{'end': 68.299, 'segs': [{'end': 68.299, 'src': 'embed', 'start': 7.341, 'weight': 0, 'content': [{'end': 9.564, 'text': 'Hi everyone, this is Zulekha from Edureka.', 'start': 7.341, 'duration': 2.223}, {'end': 16.494, 'text': "I'm sure you all have come across Jenkins at some point, and in today's session we're gonna discuss about the Jenkins pipeline,", 'start': 10.005, 'duration': 6.489}, {'end': 19.559, 'text': 'which is one of the major reasons behind the popularity of Jenkins.', 'start': 16.494, 'duration': 3.065}, {'end': 22.283, 'text': "All right, so let's get started with today's session.", 'start': 20.24, 'duration': 2.043}, {'end': 25.444, 'text': "So today I'm going to cover the following topics.", 'start': 23.263, 'duration': 2.181}, {'end': 32.488, 'text': "First, we're going to see why continuous delivery is so important and why so many companies are investing in continuous delivery.", 'start': 25.964, 'duration': 6.524}, {'end': 35.99, 'text': 'Next, we look at what exactly continuous delivery is.', 'start': 33.068, 'duration': 2.922}, {'end': 44.414, 'text': "After that, we'll discuss a few features that existed before the Jenkins pipeline and then we'll move on to what exactly a Jenkins pipeline is.", 'start': 36.67, 'duration': 7.744}, {'end': 48.136, 'text': "Once we're done with that, we'll discuss a few pipeline concepts.", 'start': 45.174, 'duration': 2.962}, {'end': 55.092, 'text': "So guys, after you've understood these five modules, I'm going to introduce three interesting demos in today's session.", 'start': 48.908, 'duration': 6.184}, {'end': 58.894, 'text': 'Now the first demo will show you how to create a Jenkins pipeline.', 'start': 55.592, 'duration': 3.302}, {'end': 65.938, 'text': "In the second demo, you'll see how to create a declarative pipeline and in the third demo, you'll see how to run a scripted pipeline.", 'start': 59.494, 'duration': 6.444}, {'end': 68.299, 'text': 'Guys, I hope the agenda is clear.', 'start': 66.678, 'duration': 1.621}], 'summary': 'Zulekha from edureka discusses jenkins pipeline, its importance, features, concepts, and demos.', 'duration': 60.958, 'max_score': 7.341, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL87341.jpg'}], 'start': 7.341, 'title': 'Introduction to jenkins pipeline', 'summary': 'Covers the importance of continuous delivery, the concept of continuous delivery, the features and concepts of jenkins pipeline, and introduces three demos for creating jenkins pipelines, including declarative and scripted pipelines.', 'chapters': [{'end': 68.299, 'start': 7.341, 'title': 'Introduction to jenkins pipeline', 'summary': 'Covers the importance of continuous delivery, the concept of continuous delivery, the features and concepts of jenkins pipeline, and introduces three demos for creating jenkins pipelines, including declarative and scripted pipelines.', 'duration': 60.958, 'highlights': ['The Jenkins pipeline is discussed, which is one of the major reasons behind the popularity of Jenkins.', 'The chapter covers the importance of continuous delivery and why so many companies are investing in it.', "Three interesting demos in today's session are introduced for creating Jenkins pipelines, including declarative and scripted pipelines."]}], 'duration': 60.958, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL87341.jpg', 'highlights': ['The chapter covers the importance of continuous delivery and why so many companies are investing in it.', 'The Jenkins pipeline is discussed, which is one of the major reasons behind the popularity of Jenkins.', "Three interesting demos in today's session are introduced for creating Jenkins pipelines, including declarative and scripted pipelines."]}, {'end': 486.627, 'segs': [{'end': 445.461, 'src': 'embed', 'start': 399.947, 'weight': 0, 'content': [{'end': 408.711, 'text': "continuous delivery make sure that it uses automation tools at each and every step of the software development cycle, whether it's building,", 'start': 399.947, 'duration': 8.764}, {'end': 410.291, 'text': 'testing or deploying.', 'start': 408.711, 'duration': 1.58}, {'end': 412.872, 'text': 'all of these steps have to be automated now.', 'start': 410.291, 'duration': 2.581}, {'end': 419.075, 'text': 'because of doing this, the software is released at a faster rate and it is less prone to any human errors.', 'start': 412.872, 'duration': 6.203}, {'end': 423.617, 'text': 'Now the next advantage is that it increases the developer productivity.', 'start': 419.675, 'duration': 3.942}, {'end': 432.877, 'text': 'Now, because continuous delivery is fully automated, the developers can finally focus their attention on building new features and, lastly,', 'start': 424.255, 'duration': 8.622}, {'end': 434.818, 'text': 'it locates and addresses bugs quicker.', 'start': 432.877, 'duration': 1.941}, {'end': 442.6, 'text': 'Now finding bugs becomes easier because you can track down the commit which caused the bug and then you can fix the bug using automation tools.', 'start': 435.318, 'duration': 7.282}, {'end': 445.461, 'text': 'I hope all of you are clear with the advantages.', 'start': 443.28, 'duration': 2.181}], 'summary': 'Continuous delivery automates software development for faster releases, fewer errors, and increased developer productivity.', 'duration': 45.514, 'max_score': 399.947, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL8399947.jpg'}], 'start': 69.4, 'title': 'Continuous delivery in software development', 'summary': 'Emphasizes the necessity of continuous delivery by highlighting a scenario of application failure due to environmental disparities, and discusses how continuous delivery pipeline resolves issues related to server crashes, along with benefits like automation of software releases, increased developer productivity, and quicker bug identification and resolution.', 'chapters': [{'end': 128.068, 'start': 69.4, 'title': 'Importance of continuous delivery', 'summary': 'Discusses the necessity of continuous delivery by illustrating a scenario where manual testing and deployment led to application failure due to environmental disparities, emphasizing the importance of consistent deployment environments and compatibility.', 'duration': 58.668, 'highlights': ['The application failed due to disparities between the testing and production environments, resulting in compatibility issues with different libraries and packages.', 'Manual testing and direct deployment to production led to the failure, highlighting the need for automated testing and continuous delivery practices.', 'The scenario depicts the consequences of not ensuring consistent environments for testing and production, emphasizing the importance of compatibility and deployment processes.']}, {'end': 486.627, 'start': 128.568, 'title': 'Continuous delivery pipeline', 'summary': 'Discusses issues related to server crashes due to end user load, and explains how continuous delivery pipeline solves these issues, along with benefits like automation of software releases, increased developer productivity, and quicker bug identification and resolution.', 'duration': 358.059, 'highlights': ["Continuous delivery pipeline solves issues related to server crashes due to end user load by ensuring that the software is always in a production ready state, and by performing load testing to check the application's capability of processing user load. server crashes, load testing", 'Continuous delivery pipeline automates software releases, leading to faster release rates and reduced human errors. automation, faster release rates, reduced human errors', 'Continuous delivery increases developer productivity by fully automating the process, allowing developers to focus on building new features. increased developer productivity, automation', 'Continuous delivery pipeline facilitates quicker identification and resolution of bugs by tracking down the code commit that caused the bug and using automation tools for bug fixing. quicker bug identification and resolution, automation']}], 'duration': 417.227, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL869400.jpg', 'highlights': ['Continuous delivery pipeline automates software releases, leading to faster release rates and reduced human errors.', 'Continuous delivery increases developer productivity by fully automating the process, allowing developers to focus on building new features.', 'Continuous delivery pipeline facilitates quicker identification and resolution of bugs by tracking down the code commit that caused the bug and using automation tools for bug fixing.', "Continuous delivery pipeline solves issues related to server crashes due to end user load by ensuring that the software is always in a production ready state, and by performing load testing to check the application's capability of processing user load."]}, {'end': 1007.613, 'segs': [{'end': 607.795, 'src': 'embed', 'start': 560.057, 'weight': 0, 'content': [{'end': 567.482, 'text': 'So they made sure that every time a commit was made to the version control system, that commit was continuously pulled, built,', 'start': 560.057, 'duration': 7.425}, {'end': 570.364, 'text': 'tested and then pushed to a non-production environment.', 'start': 567.482, 'duration': 2.882}, {'end': 575.607, 'text': 'And all of these steps were automated to make sure that the delivery is more faster.', 'start': 570.944, 'duration': 4.663}, {'end': 578.93, 'text': "Now let's look at the end results of these practices.", 'start': 576.488, 'duration': 2.442}, {'end': 585.114, 'text': 'So firstly, the overall development costs reduced by approximately 40%.', 'start': 579.65, 'duration': 5.464}, {'end': 590.456, 'text': 'The programs under development increased by approximately 140%.', 'start': 585.114, 'duration': 5.342}, {'end': 595.904, 'text': 'and the development cost per program went down by approximately 78% now guys.', 'start': 590.456, 'duration': 5.448}, {'end': 598.267, 'text': 'This is a huge difference in the delivery cycle.', 'start': 595.944, 'duration': 2.323}, {'end': 600.428, 'text': 'So how did they make sure this happened?', 'start': 598.846, 'duration': 1.582}, {'end': 607.795, 'text': 'They implemented continuous delivery and the practice, continuous integration, and they made sure they use automation at every step.', 'start': 600.768, 'duration': 7.027}], 'summary': 'Continuous integration and automation led to 40% cost reduction, 140% increase in programs, and 78% decrease in development cost per program.', 'duration': 47.738, 'max_score': 560.057, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL8560057.jpg'}, {'end': 846.345, 'src': 'embed', 'start': 785.062, 'weight': 3, 'content': [{'end': 796.432, 'text': 'Now. this is advantages because the developers can easily access and edit the code at any point of time and not to forget that the version control system will always keep a track of all the changes that you make to your code.', 'start': 785.062, 'duration': 11.37}, {'end': 803.338, 'text': 'Another feature is that it incorporates user input now because of this the users can easily interact with a pipeline.', 'start': 797.212, 'duration': 6.126}, {'end': 806.459, 'text': 'and it also lets you restart from save checkpoints.', 'start': 803.937, 'duration': 2.522}, {'end': 812.463, 'text': 'So instead of redoing your entire job, you can save it and then come back to that checkpoint and start your job again.', 'start': 806.779, 'duration': 5.684}, {'end': 817.127, 'text': 'Another important feature is that it runs the jobs in parallel.', 'start': 813.244, 'duration': 3.883}, {'end': 819.028, 'text': "So let's say you have 10 jobs.", 'start': 817.587, 'duration': 1.441}, {'end': 825.172, 'text': 'So instead of running these 10 jobs individually, you can divide them into two groups and then run them parallelly.', 'start': 819.348, 'duration': 5.824}, {'end': 828.535, 'text': 'Now this will save up a lot of time and a lot of resources as well.', 'start': 825.553, 'duration': 2.982}, {'end': 834.342, 'text': 'The next feature is that it integrates with other plugins such as git docker and Etc.', 'start': 829.361, 'duration': 4.981}, {'end': 841.323, 'text': 'And also it supports complex pipelines by allowing you to use conditional loops such as the for loop and the when loop.', 'start': 835.022, 'duration': 6.301}, {'end': 844.484, 'text': 'All right guys, so guys, please ask questions.', 'start': 841.924, 'duration': 2.56}, {'end': 846.345, 'text': 'If you have any doubts, please comment them.', 'start': 844.544, 'duration': 1.801}], 'summary': 'Advantages: easy code access, user input, checkpoints, parallel job running, plugin integration, complex pipeline support.', 'duration': 61.283, 'max_score': 785.062, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL8785062.jpg'}, {'end': 918.299, 'src': 'embed', 'start': 893.182, 'weight': 6, 'content': [{'end': 899.265, 'text': 'Now, remember that this Jenkins file can be stored in a source control management or it can be stored in a version control system.', 'start': 893.182, 'duration': 6.083}, {'end': 906.589, 'text': 'All right, and the advantages of doing this is that it will let the developers access edit and check the code at any point of time.', 'start': 899.706, 'duration': 6.883}, {'end': 915.198, 'text': 'Another key feature of the Jenkins file is that it is written using the Groovy domain specific language and this can be done in two ways.', 'start': 907.216, 'duration': 7.982}, {'end': 918.299, 'text': "So let's look at the two ways of writing the Jenkins file.", 'start': 915.599, 'duration': 2.7}], 'summary': 'Jenkins file can be stored in source control, allows developers to access, edit, and check code at any time, written in groovy domain specific language, can be done in two ways.', 'duration': 25.117, 'max_score': 893.182, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL8893182.jpg'}, {'end': 956.404, 'src': 'embed', 'start': 925.301, 'weight': 7, 'content': [{'end': 930.363, 'text': 'and the scripted pipeline uses a stricter Groovy syntax when compared to the declarative pipeline.', 'start': 925.301, 'duration': 5.062}, {'end': 939.728, 'text': 'Now, one key difference between the two is that the code for a declarative pipeline is written locally in a file which can later be checked into a source control management.', 'start': 931.016, 'duration': 8.712}, {'end': 945.076, 'text': 'Whereas for a scripted pipeline the code is directly written on the Jenkins user interface.', 'start': 940.409, 'duration': 4.667}, {'end': 949.921, 'text': 'Okay guys, so here we need to understand that there are two ways of writing the Jenkins file.', 'start': 945.919, 'duration': 4.002}, {'end': 956.404, 'text': 'The first way is to write the code in a file and then store this file in your source control management system,', 'start': 950.381, 'duration': 6.023}], 'summary': 'Scripted pipeline: code written on jenkins ui. declarative pipeline: code stored in source control.', 'duration': 31.103, 'max_score': 925.301, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL8925301.jpg'}], 'start': 486.627, 'title': "Laserjet's transformation, jenkins pipeline features, and jenkins file writing", 'summary': "Discusses laserjet's implementation of continuous integration resulting in a 40% reduction in development costs, a 140% increase in programs under development, and a 78% decrease in development cost per program. it also covers the evolution and advantages of jenkins pipeline, and the concept of jenkins file writing including the differences between declarative and scripted pipelines.", 'chapters': [{'end': 607.795, 'start': 486.627, 'title': "Laserjet's transformation", 'summary': 'Discusses how laserjet addressed slow product delivery by implementing continuous integration and automation, resulting in a 40% reduction in development costs, a 140% increase in programs under development, and a 78% decrease in development cost per program.', 'duration': 121.168, 'highlights': ['The overall development costs reduced by approximately 40%. Implementing continuous integration and automation led to a significant reduction in overall development costs, demonstrating the effectiveness of the new approach.', 'The programs under development increased by approximately 140%. The implementation of continuous delivery and automation resulted in a substantial increase in the number of programs under development, indicating the scalability and efficiency of the new system.', 'The development cost per program went down by approximately 78%. By implementing continuous integration and automation, the development cost per program decreased significantly, showcasing the cost-effectiveness and improved productivity of the new approach.']}, {'end': 869.724, 'start': 608.256, 'title': 'Jenkins pipeline features', 'summary': 'Discusses the evolution from jenkins build flow and build pipeline plugin to jenkins pipeline, highlighting its advantages including running the entire pipeline as code, version control system integration, user input incorporation, parallel job execution, and support for complex pipelines.', 'duration': 261.468, 'highlights': ['Jenkins pipeline project was introduced to simplify the complex task of managing hundreds of jobs by running the entire pipeline as code. The Jenkins pipeline project was introduced to simplify the complex task of managing hundreds of jobs by running the entire pipeline as code.', 'The Jenkins pipeline allows users to code their jobs and store them in a Jenkins file, which can be easily checked into version control systems for accessibility and editing by developers. The Jenkins pipeline allows users to code their jobs and store them in a Jenkins file, which can be easily checked into version control systems for accessibility and editing by developers.', 'The pipeline incorporates user input, allowing interaction and the ability to restart jobs from saved checkpoints, hence avoiding redoing the entire job. The pipeline incorporates user input, allowing interaction and the ability to restart jobs from saved checkpoints, hence avoiding redoing the entire job.', 'It runs jobs in parallel, saving time and resources by dividing them into groups and running them concurrently. It runs jobs in parallel, saving time and resources by dividing them into groups and running them concurrently.', 'The Jenkins pipeline integrates with other plugins such as git, docker, and supports complex pipelines by allowing conditional loops like for and when loops. The Jenkins pipeline integrates with other plugins such as git, docker, and supports complex pipelines by allowing conditional loops like for and when loops.']}, {'end': 1007.613, 'start': 870.044, 'title': 'Understanding jenkins file writing', 'summary': 'Introduces the concept of jenkins file, highlighting the two ways of writing it - through a file stored in a source control management system and directly on the jenkins user interface, and the key differences between declarative and scripted pipelines.', 'duration': 137.569, 'highlights': ['The Jenkins file can be stored in a source control management or a version control system, allowing developers to access, edit, and check the code at any time. Storing the Jenkins file in a source control management or version control system enables developers to access, edit, and check the code at any time, enhancing collaboration and version control.', 'Two ways of writing the Jenkins file: through a file stored in a source control management system or directly typing it out on the Jenkins user interface. The chapter emphasizes the two ways of writing a Jenkins file: storing the code in a file in a source control management system or directly typing it on the Jenkins user interface, providing flexibility in the writing process.', 'Key differences between declarative and scripted pipelines: Declarative pipeline code is written locally in a file and can be checked into a source control management, while scripted pipeline code is directly written on the Jenkins user interface. Highlighting the key differences between declarative and scripted pipelines, the chapter explains that declarative pipeline code is written locally in a file for later check-in, whereas scripted pipeline code is directly written on the Jenkins user interface, showcasing the contrasting approaches.']}], 'duration': 520.986, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL8486627.jpg', 'highlights': ['The programs under development increased by approximately 140%. The implementation of continuous delivery and automation resulted in a substantial increase in the number of programs under development, indicating the scalability and efficiency of the new system.', 'The overall development costs reduced by approximately 40%. Implementing continuous integration and automation led to a significant reduction in overall development costs, demonstrating the effectiveness of the new approach.', 'The development cost per program went down by approximately 78%. By implementing continuous integration and automation, the development cost per program decreased significantly, showcasing the cost-effectiveness and improved productivity of the new approach.', 'The Jenkins pipeline integrates with other plugins such as git, docker, and supports complex pipelines by allowing conditional loops like for and when loops.', 'The pipeline incorporates user input, allowing interaction and the ability to restart jobs from saved checkpoints, hence avoiding redoing the entire job.', 'It runs jobs in parallel, saving time and resources by dividing them into groups and running them concurrently.', 'The Jenkins file can be stored in a source control management or a version control system, allowing developers to access, edit, and check the code at any time.', 'Key differences between declarative and scripted pipelines: Declarative pipeline code is written locally in a file and can be checked into a source control management, while scripted pipeline code is directly written on the Jenkins user interface.']}, {'end': 1508.952, 'segs': [{'end': 1054.341, 'src': 'embed', 'start': 1028.031, 'weight': 4, 'content': [{'end': 1034.454, 'text': 'So whenever you run agent with any parameter, it means that the code will run on any available agent.', 'start': 1028.031, 'duration': 6.423}, {'end': 1043.497, 'text': "So Jenkins is basically going to look for an executor that is available and it's going to assign this executor to run the entire pipeline or a stage.", 'start': 1035.094, 'duration': 8.403}, {'end': 1046.397, 'text': 'Now the next parameter is a none parameter.', 'start': 1044.176, 'duration': 2.221}, {'end': 1051.119, 'text': 'Now guys remember that every time you define agent with none parameter.', 'start': 1047.057, 'duration': 4.062}, {'end': 1054.341, 'text': 'It has to be mentioned at the root of the pipeline.', 'start': 1051.6, 'duration': 2.741}], 'summary': "Jenkins assigns available executor to run pipeline or stage when agent is specified with any parameter, and 'none' parameter must be defined at the root of the pipeline.", 'duration': 26.31, 'max_score': 1028.031, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL81028031.jpg'}, {'end': 1237.561, 'src': 'embed', 'start': 1212.38, 'weight': 1, 'content': [{'end': 1217.523, 'text': "So we're going to see how to create a scripted pipeline and how to create a declarative pipeline.", 'start': 1212.38, 'duration': 5.143}, {'end': 1222.326, 'text': "now take a note that we're just going to learn how to create a scripted pipeline and a declarative pipeline.", 'start': 1217.523, 'duration': 4.803}, {'end': 1227.449, 'text': "We're not going to actually run any code in this demo that will be done in the next two demos.", 'start': 1222.646, 'duration': 4.803}, {'end': 1229.49, 'text': "So let's get started with our first demo.", 'start': 1227.809, 'duration': 1.681}, {'end': 1237.561, 'text': 'Alright guys now after logging into Jenkins go to the left hand side and within the dashboard choose new item.', 'start': 1231.016, 'duration': 6.545}], 'summary': 'Learning to create scripted and declarative pipelines in jenkins.', 'duration': 25.181, 'max_score': 1212.38, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL81212380.jpg'}, {'end': 1415.871, 'src': 'embed', 'start': 1376.459, 'weight': 0, 'content': [{'end': 1379.261, 'text': 'I hope all of you understood how to create a Jenkins pipeline.', 'start': 1376.459, 'duration': 2.802}, {'end': 1384.383, 'text': "So now let's move on to the declarative pipeline now before jumping into the demo.", 'start': 1380.041, 'duration': 4.342}, {'end': 1387.905, 'text': 'Let me explain the code that we are going to execute now.', 'start': 1384.743, 'duration': 3.162}, {'end': 1390.346, 'text': 'This is a simple declarative pipeline example.', 'start': 1387.945, 'duration': 2.401}, {'end': 1395.032, 'text': "Now within the pipeline block, you can see that I've defined four stages.", 'start': 1390.928, 'duration': 4.104}, {'end': 1399.756, 'text': "Now at the root of the pipeline, I've defined agent with any parameter.", 'start': 1395.873, 'duration': 3.883}, {'end': 1408.805, 'text': 'Now this means that all of the stages are going to run on any available agent unless any of the stages have defined a stage specific agent.', 'start': 1400.357, 'duration': 8.448}, {'end': 1415.871, 'text': 'Now, in this case you can see that stage number one, two and three have not defined any stage specific agent,', 'start': 1409.568, 'duration': 6.303}], 'summary': "Explanation on creating a jenkins declarative pipeline with 4 stages and 'any' agent parameter.", 'duration': 39.412, 'max_score': 1376.459, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL81376459.jpg'}], 'start': 1008.434, 'title': 'Jenkins pipeline creation', 'summary': 'Explains how to create a jenkins pipeline, covering the creation of a scripted and declarative pipeline with a detailed walkthrough of the configuration process, and specific code examples for each pipeline type.', 'chapters': [{'end': 1143.847, 'start': 1008.434, 'title': 'Agent directives in jenkins', 'summary': 'Explains the agent directive in jenkins, including the any, none, label, and docker parameters, and the use of steps and stages within a pipeline.', 'duration': 135.413, 'highlights': ['The agent directive in Jenkins includes parameters such as any, none, label, and Docker, which determine where the code will run. The chapter discusses the parameters of the agent directive in Jenkins, including any, none, label, and Docker, which determine where the code will run.', 'The none parameter must be mentioned at the root of the pipeline, and it requires each stage within the pipeline to define its own stage-specific agent. The none parameter of the agent directive must be mentioned at the root of the pipeline, requiring each stage within the pipeline to define its own stage-specific agent.', 'Steps are defined within a stage and are carried out in a sequence to execute a stage. Steps are defined within a stage and are carried out in a sequence to execute a stage.']}, {'end': 1508.952, 'start': 1143.847, 'title': 'Jenkins pipeline creation', 'summary': 'Explains how to create a jenkins pipeline, covering the creation of a scripted and declarative pipeline, with a walkthrough of the configuration process and detailed explanations of agent usage and specific code examples for each pipeline type.', 'duration': 365.105, 'highlights': ['The chapter explains how to create a Jenkins pipeline, covering the creation of a scripted and declarative pipeline The detailed explanation of creating a scripted and declarative pipeline with a focus on configuration and usage.', 'A demonstration of creating scripted and declarative pipelines is provided Walkthrough of the process of creating scripted and declarative pipelines with step-by-step instructions.', "Explanation of using agents in pipeline stages is given, detailing the usage of 'agent any' and specifying stage-specific agents Detailed explanation of how agents are used in pipeline stages, including the use of 'agent any' and specifying agents for specific stages.", 'Specific code examples for scripted and declarative pipelines are provided, including configuration details In-depth examples of code for scripted and declarative pipelines, along with detailed configuration instructions.']}], 'duration': 500.518, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL81008434.jpg', 'highlights': ['The chapter explains how to create a Jenkins pipeline, covering the creation of a scripted and declarative pipeline with a focus on configuration and usage.', 'Specific code examples for scripted and declarative pipelines are provided, including configuration details.', "Explanation of using agents in pipeline stages is given, detailing the usage of 'agent any' and specifying stage-specific agents.", 'A demonstration of creating scripted and declarative pipelines is provided with a walkthrough of the process and step-by-step instructions.', 'The agent directive in Jenkins includes parameters such as any, none, label, and Docker, which determine where the code will run.']}, {'end': 1789.275, 'segs': [{'end': 1550.706, 'src': 'embed', 'start': 1509.352, 'weight': 0, 'content': [{'end': 1511.793, 'text': "Now, guys, let's move on to stage number four.", 'start': 1509.352, 'duration': 2.441}, {'end': 1518.534, 'text': 'now, stage number four defines a parallel directive which runs unit test stage and integration test stage in parallel.', 'start': 1511.793, 'duration': 6.741}, {'end': 1521.535, 'text': 'So both of these stages are going to run parallelly.', 'start': 1519.234, 'duration': 2.301}, {'end': 1530.373, 'text': 'Now within the integration test stage is a docker agent, which is a stage specific agent, and it runs two commands, that is, reuse,', 'start': 1522.304, 'duration': 8.069}, {'end': 1532.175, 'text': 'node and a simple docker command.', 'start': 1530.373, 'duration': 1.802}, {'end': 1537.201, 'text': 'Now the reuse node is basically a Boolean which is set to false by default.', 'start': 1533.036, 'duration': 4.165}, {'end': 1539.424, 'text': 'Now, if reuse node was set to true,', 'start': 1537.662, 'duration': 1.762}, {'end': 1548.325, 'text': 'It means that the docker container is going to run on the agent specified at the root of the pipeline and in this case at the root of the pipeline.', 'start': 1540.083, 'duration': 8.242}, {'end': 1550.706, 'text': 'We have defined agent with any parameter.', 'start': 1548.365, 'duration': 2.341}], 'summary': 'Stage four runs unit test and integration test stages in parallel with a stage-specific docker agent and two commands, and the reuse node is set to false by default.', 'duration': 41.354, 'max_score': 1509.352, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL81509352.jpg'}, {'end': 1773.77, 'src': 'embed', 'start': 1733.158, 'weight': 2, 'content': [{'end': 1735.639, 'text': "Now let's look at the integration test now.", 'start': 1733.158, 'duration': 2.481}, {'end': 1740.7, 'text': 'within the integration test, a general checkout is done from my source control management.', 'start': 1735.639, 'duration': 5.061}, {'end': 1744.521, 'text': 'after that, the docker agent will pull an Ubuntu image from the docker hub.', 'start': 1740.7, 'duration': 3.821}, {'end': 1749.022, 'text': 'and then a simple message gets printed which says running the integration test.', 'start': 1745.22, 'duration': 3.802}, {'end': 1753.805, 'text': 'All right, so guys with this we complete the execution of the declarative pipeline.', 'start': 1749.603, 'duration': 4.202}, {'end': 1757.007, 'text': 'Now, let me just give you a brief overview of what we did here.', 'start': 1754.225, 'duration': 2.782}, {'end': 1764.051, 'text': 'So after we started building the pipeline, it was paused on stage number two where it asked for the user input.', 'start': 1757.667, 'duration': 6.384}, {'end': 1769.814, 'text': 'So after clicking on proceed the execution continues and all the stages get executed.', 'start': 1764.931, 'duration': 4.883}, {'end': 1773.77, 'text': "All right guys now, let's move on to the scripted pipeline demo.", 'start': 1770.569, 'duration': 3.201}], 'summary': 'Integration test pulls ubuntu image and completes declarative pipeline execution.', 'duration': 40.612, 'max_score': 1733.158, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL81733158.jpg'}], 'start': 1509.352, 'title': 'Docker-based testing and declarative pipeline execution', 'summary': 'Covers running unit and integration tests in parallel using docker, including executing specific commands in a docker agent. it also details the execution of a declarative pipeline, pulling an ubuntu image, pausing for user input, and provides an overview of the executed pipeline.', 'chapters': [{'end': 1617.378, 'start': 1509.352, 'title': 'Parallel unit and integration testing in docker', 'summary': "Explains stage four, where unit test and integration test stages run in parallel, with the integration test stage running in a docker agent and executing specific commands. it also provides an overview of each stage's functionality within the pipeline.", 'duration': 108.026, 'highlights': ['Stage four defines parallel execution of unit test and integration test stages, with the integration test stage running on a docker agent and executing specific commands. Describes the key feature of running unit and integration tests in parallel with specific docker agent and commands.', "Explanation of the 'reuse node' Boolean parameter and its impact on the location of docker container execution. Clarifies the impact of the 'reuse node' parameter on the location of docker container execution.", 'Overview of the functionality of each stage within the pipeline, including their respective commands and directives. Provides a comprehensive overview of the functionality of each stage within the pipeline.']}, {'end': 1789.275, 'start': 1617.938, 'title': 'Declarative pipeline execution', 'summary': 'Describes the execution of a declarative pipeline, including pulling an ubuntu image from docker hub, running unit tests and integration tests in parallel, and pausing for user input at stage 2, where the execution continues after user input. it also provides a brief overview of the executed pipeline.', 'duration': 171.337, 'highlights': ['Execution of declarative pipeline Describes the execution of a declarative pipeline, including pulling an Ubuntu image from Docker Hub, running unit tests and integration tests in parallel, and pausing for user input at stage 2, where the execution continues after user input.', 'User input at stage 2 Explains the pausing for user input at stage 2, where the execution continues after user input, affecting the flow of the pipeline.', 'Overview of executed pipeline Provides a brief overview of the executed pipeline, highlighting the pausing at stage 2 and the continuation of execution after user input.']}], 'duration': 279.923, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL81509352.jpg', 'highlights': ['Describes the key feature of running unit and integration tests in parallel with specific docker agent and commands.', "Clarifies the impact of the 'reuse node' parameter on the location of docker container execution.", 'Provides a comprehensive overview of the functionality of each stage within the pipeline.', 'Describes the execution of a declarative pipeline, including pulling an Ubuntu image from Docker Hub, running unit tests and integration tests in parallel, and pausing for user input at stage 2, where the execution continues after user input.', 'Explains the pausing for user input at stage 2, where the execution continues after user input, affecting the flow of the pipeline.', 'Provides a brief overview of the executed pipeline, highlighting the pausing at stage 2 and the continuation of execution after user input.']}, {'end': 2073.213, 'segs': [{'end': 1876.829, 'src': 'embed', 'start': 1789.375, 'weight': 0, 'content': [{'end': 1797.618, 'text': "I've defined a for loop which creates two stages stage number zero and stage number one and both of these stages will print a hello world message.", 'start': 1789.375, 'duration': 8.243}, {'end': 1802.854, 'text': "After that there's an if loop which is executed whenever I is equal to zero.", 'start': 1798.69, 'duration': 4.164}, {'end': 1808.939, 'text': 'This means that only stage number one will run the following two commands, which is git command and echo command.', 'start': 1803.354, 'duration': 5.585}, {'end': 1813.963, 'text': 'Now the git command will basically clone the repository that I mentioned within the URL.', 'start': 1809.479, 'duration': 4.484}, {'end': 1819.607, 'text': 'All right now after the git command is executed the echo command gets executed.', 'start': 1814.583, 'duration': 5.024}, {'end': 1822.69, 'text': 'Now the echo command will simply display the message.', 'start': 1820.308, 'duration': 2.382}, {'end': 1824.795, 'text': 'After that is the else block.', 'start': 1823.414, 'duration': 1.381}, {'end': 1832.96, 'text': 'Now this block runs whenever I is not equal to zero, which means that stage number one is going to execute the following two commands.', 'start': 1825.175, 'duration': 7.785}, {'end': 1837.063, 'text': 'Now the first command is the build command now within the quotations.', 'start': 1833.48, 'duration': 3.583}, {'end': 1838.944, 'text': "I've defined declarative pipeline.", 'start': 1837.083, 'duration': 1.861}, {'end': 1842.226, 'text': 'Now, this is the pipeline that we created in our second demo.', 'start': 1839.064, 'duration': 3.162}, {'end': 1849.971, 'text': "So what do you mean by build declarative pipeline? It means that it's going to run this declarative pipeline within the scripted pipeline.", 'start': 1842.686, 'duration': 7.285}, {'end': 1853.35, 'text': 'All right, so build is just used to trigger another job.', 'start': 1850.507, 'duration': 2.843}, {'end': 1856.914, 'text': 'Okay, next is the echo command which will display a message.', 'start': 1853.831, 'duration': 3.083}, {'end': 1861.959, 'text': "Okay guys, I hope all of you understood the code now, let's move on to the demo.", 'start': 1857.554, 'duration': 4.405}, {'end': 1865.963, 'text': "All right guys, so I've created a scripted pipeline.", 'start': 1863.24, 'duration': 2.723}, {'end': 1868.486, 'text': 'Let me show you the configuration of this pipeline.', 'start': 1866.324, 'duration': 2.162}, {'end': 1873.167, 'text': "Now within the pipeline definition, you can see that I've chosen pipeline script.", 'start': 1869.224, 'duration': 3.943}, {'end': 1876.829, 'text': "Now this is because we're developing a scripted pipeline.", 'start': 1873.587, 'duration': 3.242}], 'summary': 'Scripted pipeline with 2 stages, git clone, and echo commands, and conditional execution based on stage number', 'duration': 87.454, 'max_score': 1789.375, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL81789375.jpg'}, {'end': 2049.716, 'src': 'embed', 'start': 2021.635, 'weight': 5, 'content': [{'end': 2024.616, 'text': 'and then we moved on to what exactly a Jenkins pipeline is.', 'start': 2021.635, 'duration': 2.981}, {'end': 2029.657, 'text': 'We studied a few features of Jenkins pipeline and then we spoke about the Jenkins file,', 'start': 2024.936, 'duration': 4.721}, {'end': 2032.698, 'text': 'where we compared the declarative pipeline and the scripted pipeline.', 'start': 2029.657, 'duration': 3.041}, {'end': 2037.583, 'text': 'After that, we discuss a few pipeline concepts and then we introduce three demos.', 'start': 2033.318, 'duration': 4.265}, {'end': 2042.308, 'text': 'Now in the first demo, we saw how to create a declarative pipeline and a scripted pipeline.', 'start': 2037.963, 'duration': 4.345}, {'end': 2048.454, 'text': 'In the second demo, we saw how to run a declarative pipeline and in the third demo, we saw how to run a scripted pipeline.', 'start': 2042.688, 'duration': 5.766}, {'end': 2049.716, 'text': 'So thank you guys.', 'start': 2048.975, 'duration': 0.741}], 'summary': 'Explored jenkins pipeline features, compared declarative and scripted pipelines, and demonstrated pipeline creation and execution in three demos.', 'duration': 28.081, 'max_score': 2021.635, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL82021635.jpg'}], 'start': 1789.375, 'title': 'Automating stages and jenkins pipeline', 'summary': 'Details the automation of two stages using git commands, a for loop, and if-else blocks. it also covers a jenkins scripted pipeline demo, including the build command, echo command for displaying messages, and an overview of continuous delivery pipeline and jenkins features with three demos.', 'chapters': [{'end': 1832.96, 'start': 1789.375, 'title': 'Automating two stages with git commands', 'summary': 'Details the automation of two stages using a for loop and if-else blocks, where stage number zero and stage number one execute different commands based on the condition i equals zero or not.', 'duration': 43.585, 'highlights': ['The for loop creates two stages, stage number zero and stage number one, with different commands for each stage.', 'The if loop runs the commands only when I is equal to zero, resulting in stage number one executing the git command and echo command.', 'The git command clones the repository from the specified URL.', 'The else block runs the commands when I is not equal to zero, causing stage number one to execute its set of commands.']}, {'end': 2073.213, 'start': 1833.48, 'title': 'Jenkins scripted pipeline demo', 'summary': 'Covers the demonstration of a jenkins scripted pipeline, including the build command to trigger another job, displaying messages using the echo command, and an overview of the continuous delivery pipeline and jenkins pipeline features with three demos.', 'duration': 239.733, 'highlights': ["The build command triggers another job in the declarative pipeline within the scripted pipeline. The 'build' command is used to trigger another job in the declarative pipeline within the scripted pipeline.", 'Overview of continuous delivery pipeline and Jenkins pipeline features with three demos. The chapter provides an overview of the continuous delivery pipeline and Jenkins pipeline features, including three demos on creating, running, and comparing declarative and scripted pipelines.', "Displaying messages using the echo command for communication during the scripted pipeline demonstration. The 'echo' command is used to display messages for communication during the scripted pipeline demonstration."]}], 'duration': 283.838, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/_fmX31VFbL8/pics/_fmX31VFbL81789375.jpg', 'highlights': ['The for loop creates two stages, stage number zero and stage number one, with different commands for each stage.', 'The if loop runs the commands only when I is equal to zero, resulting in stage number one executing the git command and echo command.', 'The git command clones the repository from the specified URL.', 'The else block runs the commands when I is not equal to zero, causing stage number one to execute its set of commands.', 'The build command triggers another job in the declarative pipeline within the scripted pipeline.', 'Overview of continuous delivery pipeline and Jenkins pipeline features with three demos.', 'Displaying messages using the echo command for communication during the scripted pipeline demonstration.']}], 'highlights': ['The implementation of continuous delivery and automation resulted in a substantial increase in the number of programs under development, indicating the scalability and efficiency of the new system.', 'The overall development costs reduced by approximately 40%. Implementing continuous integration and automation led to a significant reduction in overall development costs, demonstrating the effectiveness of the new approach.', 'The development cost per program went down by approximately 78%. By implementing continuous integration and automation, the development cost per program decreased significantly, showcasing the cost-effectiveness and improved productivity of the new approach.', 'Continuous delivery pipeline automates software releases, leading to faster release rates and reduced human errors.', 'Continuous delivery increases developer productivity by fully automating the process, allowing developers to focus on building new features.', 'Continuous delivery pipeline facilitates quicker identification and resolution of bugs by tracking down the code commit that caused the bug and using automation tools for bug fixing.', "Continuous delivery pipeline solves issues related to server crashes due to end user load by ensuring that the software is always in a production ready state, and by performing load testing to check the application's capability of processing user load.", 'The Jenkins pipeline integrates with other plugins such as git, docker, and supports complex pipelines by allowing conditional loops like for and when loops.', 'The pipeline incorporates user input, allowing interaction and the ability to restart jobs from saved checkpoints, hence avoiding redoing the entire job.', 'It runs jobs in parallel, saving time and resources by dividing them into groups and running them concurrently.', 'The Jenkins file can be stored in a source control management or a version control system, allowing developers to access, edit, and check the code at any time.', 'Key differences between declarative and scripted pipelines: Declarative pipeline code is written locally in a file and can be checked into a source control management, while scripted pipeline code is directly written on the Jenkins user interface.', 'The chapter explains how to create a Jenkins pipeline, covering the creation of a scripted and declarative pipeline with a focus on configuration and usage.', 'Specific code examples for scripted and declarative pipelines are provided, including configuration details.', "Explanation of using agents in pipeline stages is given, detailing the usage of 'agent any' and specifying stage-specific agents.", 'A demonstration of creating scripted and declarative pipelines is provided with a walkthrough of the process and step-by-step instructions.', 'The agent directive in Jenkins includes parameters such as any, none, label, and Docker, which determine where the code will run.', 'Describes the key feature of running unit and integration tests in parallel with specific docker agent and commands.', "Clarifies the impact of the 'reuse node' parameter on the location of docker container execution.", 'Provides a comprehensive overview of the functionality of each stage within the pipeline.', 'Describes the execution of a declarative pipeline, including pulling an Ubuntu image from Docker Hub, running unit tests and integration tests in parallel, and pausing for user input at stage 2, where the execution continues after user input.', 'Explains the pausing for user input at stage 2, where the execution continues after user input, affecting the flow of the pipeline.', 'Provides a brief overview of the executed pipeline, highlighting the pausing at stage 2 and the continuation of execution after user input.', 'The for loop creates two stages, stage number zero and stage number one, with different commands for each stage.', 'The if loop runs the commands only when I is equal to zero, resulting in stage number one executing the git command and echo command.', 'The git command clones the repository from the specified URL.', 'The else block runs the commands when I is not equal to zero, causing stage number one to execute its set of commands.', 'The build command triggers another job in the declarative pipeline within the scripted pipeline.', 'Overview of continuous delivery pipeline and Jenkins pipeline features with three demos.', 'Displaying messages using the echo command for communication during the scripted pipeline demonstration.']}