title
Jenkins Pipeline Tutorial | CI CD Pipeline using Jenkins | Jenkins Tutorial | Simplilearn
description
🔥 IIT Guwahati Professional Certificate Program In Cloud Computing And DevOps (India Only): https://www.simplilearn.com/professional-certificate-program-cloud-computing-devops?utm_campaign=25AugustTubebuddyExpCloud&DevopsIITG&utm_medium=DescriptionFF&utm_source=youtube
🔥DevOps Engineer Masters Program (Discount Code - YTBE15): https://www.simplilearn.com/devops-engineer-masters-program-certification-training?utm_campaign=SCE-DevopsMaster&utm_medium=DescriptionFF&utm_source=youtube
🔥Post Graduate Program In DevOps: https://www.simplilearn.com/pgp-devops-certification-training-course?utm_campaign=JenkinsPipeline--GsvomI4CCQ&utm_medium=DescriptionFF&utm_source=youtube
This Jenkins pipeline tutorial will help you understand what is Jenkins & how Jenkins performs continuous integration, why do we need pipeline & how Jenkins pipeline works. This video on CI-CD Pipeline using Jenkins will help you create build and delivery pipelines & automate tasks, understand what is a scripted and declarative pipeline with the help of Groovy scripts. Jenkins is an open-source continuous integration tool that is used to automate software development phases such as building, testing and deploying. Jenkins pipeline is a suite of plugins that supports the integration and implementation of jobs using continuous build and delivery pipelines. Now let's get started and understand how the Jenkins pipeline works.
Below topics are explained in this Jenkins pipeline video:
1) What is Jenkins? (02:24)
2) What is Continuous Integration? (3:29)
3) Why Pipeline? (6:21)
4) How does the Jenkins pipeline work? (8:59)
5) Build and delivery pipeline (12:47)
6) Scripted and declarative pipeline (30:34)
7) Demo on Jenkins pipeline
🔥 Enroll for FREE DevOps Course & Get your Completion Certificate: https://www.simplilearn.com/skillup-free-online-courses?utm_campaign=JenkinsPipeline--GsvomI4CCQ&utm_medium=Description&utm_source=youtube
To access the slides, click here: https://www.slideshare.net/Simplilearn/jenkins-pipeline-tutorial-jenkins-build-and-delivery-pipeline-jenkins-tutorial-simplilearn/Simplilearn/jenkins-pipeline-tutorial-jenkins-build-and-delivery-pipeline-jenkins-tutorial-simplilearn
Watch more videos on DevOps: https://www.youtube.com/watch?v=glwcz5DvY88&list=PLEiEAq2VkUUJS6zkGgXeWw9l32EwRoYdR
#CICDusingJenkins #JenkinsCICD #JenkinsPipeline #JenkinsPipelineTutorial #CICDPipeline #DevOps #DevOpsTutorial #Jenkins #Simplilearn
➡️About Post Graduate Program In DevOps
DevOps training course will bring out the scientist in you. You'll learn how to formalize and document development processes and create a self-documenting system. DevOps certification course will also cover advanced tools like Puppet, SaltStack, and Ansible that help self-governance and automated management at scale.
âś…Key features
- Caltech CTME Post Graduate Certificate
- Enrolment in Simplilearn’s JobAssist
- Receive up to 25 CEUs from Caltech CTME upon course completion
- Simplilearn's JobAssist helps you get noticed by top hiring companies
- Attend Masterclasses from Caltech CTME instructors
- Live virtual classes led by industry experts, hands-on projects and integrated labs
- Online Convocation by Caltech CTME Program Director
- 20+ real-life projects on integrated labs
- Capstone project in 3 domains
- Caltech CTME Circle Membership
âś…Skills Covered
- DevOps Methodology
- Continuous Integration
- Continuous Delivery
- Configuration Management
- Containerization
- DevOps on Cloud
- Source Control
- Deployment Automation
- Cloud Platforms
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training?utm_campaign=Jenkins-Pipeline-Tutorial-GsvomI4CCQ&utm_medium=Description&utm_source=youtube
🔥🔥 Interested in Attending Live Classes? Call Us: IN - 18002127688 / US - +18445327688
detail
{'title': 'Jenkins Pipeline Tutorial | CI CD Pipeline using Jenkins | Jenkins Tutorial | Simplilearn', 'heatmap': [{'end': 580.071, 'start': 554.433, 'weight': 0.754}, {'end': 880.957, 'start': 756.47, 'weight': 0.753}, {'end': 1156.785, 'start': 1132.663, 'weight': 0.777}, {'end': 1900.528, 'start': 1867.176, 'weight': 0.721}], 'summary': 'This jenkins pipeline tutorial emphasizes the significance of continuous integration in agile software development, covers jenkins and its role as an automation server, discusses jenkins in software development, explains configuring job triggers, jenkins scripted pipeline, github repository setup, setting up jenkins agents, and best practices for jenkins pipeline, with a focus on key steps, groovy scripting, and implications, offering a comprehensive understanding of ci/cd pipeline using jenkins.', 'chapters': [{'end': 63.553, 'segs': [{'end': 63.553, 'src': 'embed', 'start': 22.133, 'weight': 0, 'content': [{'end': 30.1, 'text': 'As most of you are aware, most of the softwares in recent times are developed using some or the other kind of agile practices,', 'start': 22.133, 'duration': 7.967}, {'end': 37.375, 'text': 'and continuous integration is an important or key factor in all such agile software development lifecycle.', 'start': 30.1, 'duration': 7.275}, {'end': 46.361, 'text': "Next I'll be looking at the software delivery pipeline from a perspective of if someone were to visualize all the steps that is required.", 'start': 37.615, 'duration': 8.746}, {'end': 54.125, 'text': 'from the time someone gives out a requirement, a software requirement, it gets translated into some sort of a code, gets tested,', 'start': 46.361, 'duration': 7.764}, {'end': 61.53, 'text': 'maybe moved into one of the testing platforms and then migrated across or moved across or propagated across various environments.', 'start': 54.125, 'duration': 7.405}, {'end': 63.553, 'text': 'and then finally put out in production.', 'start': 61.892, 'duration': 1.661}], 'summary': 'Continuous integration is crucial in agile software development, involving steps from requirement to production.', 'duration': 41.42, 'max_score': 22.133, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ22133.jpg'}], 'start': 3.837, 'title': 'Jenkins pipeline tutorial', 'summary': 'Covers the significance of continuous integration in agile software development and the visualization of the software delivery pipeline, emphasizing the key steps from requirement to production.', 'chapters': [{'end': 63.553, 'start': 3.837, 'title': 'Jenkins pipeline tutorial', 'summary': 'Covers the importance of continuous integration in agile software development and the visualization of the software delivery pipeline, highlighting the key steps involved from requirement to production.', 'duration': 59.716, 'highlights': ['Continuous integration is an important factor in agile software development lifecycle.', 'The software delivery pipeline involves steps such as translating requirements into code, testing, moving across testing platforms, migrating across environments, and finally deploying in production.']}], 'duration': 59.716, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ3837.jpg', 'highlights': ['Continuous integration is crucial in agile software development.', 'The software delivery pipeline includes translating requirements into code, testing, moving across testing platforms, migrating across environments, and deploying in production.']}, {'end': 353.201, 'segs': [{'end': 105.319, 'src': 'embed', 'start': 63.813, 'weight': 0, 'content': [{'end': 72.919, 'text': 'If one were to put a value stream mapping for all these steps that is involved, each of these steps could translate into a simple job within Jenkins.', 'start': 63.813, 'duration': 9.106}, {'end': 78.462, 'text': 'I will first look at what existed in Jenkins or rather pre-Jenkins 2.0.', 'start': 73.259, 'duration': 5.203}, {'end': 82.226, 'text': 'where we had a way of upstream, downstream mapping of jobs.', 'start': 78.462, 'duration': 3.764}, {'end': 89.053, 'text': 'there were some plugins that allowed us to visualize all the jobs at one shot, starting from the first job that triggered.', 'start': 82.226, 'duration': 6.827}, {'end': 96.741, 'text': 'and then I will get into the most powerful groovy scripting that are there in Jenkins 2.0 or post Jenkins 2.0.', 'start': 89.053, 'duration': 7.688}, {'end': 102.136, 'text': 'these groovy scripting gives us much more powerful ways of defining our pipelines.', 'start': 96.741, 'duration': 5.395}, {'end': 105.319, 'text': 'There are two different ways in which you can write your scripts.', 'start': 102.336, 'duration': 2.983}], 'summary': 'Value stream mapping can be translated into jenkins jobs; jenkins 2.0 offers more powerful groovy scripting for defining pipelines.', 'duration': 41.506, 'max_score': 63.813, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ63813.jpg'}, {'end': 193.25, 'src': 'embed', 'start': 145.802, 'weight': 1, 'content': [{'end': 156.03, 'text': 'Jenkins is nothing but a powerful automation server that is written in Java and it is a web application which can also be run on any web server.', 'start': 145.802, 'duration': 10.228}, {'end': 160.334, 'text': 'But what makes Jenkins an ideal choice for a continuous integration server?', 'start': 156.31, 'duration': 4.024}, {'end': 169.461, 'text': 'Jenkins has got wonderful plugins that allows it to connect to all kinds of tools software development, deployment, coding,', 'start': 160.614, 'duration': 8.847}, {'end': 171.322, 'text': 'build source code kind of tools.', 'start': 169.461, 'duration': 1.861}, {'end': 174.365, 'text': 'That is what makes Jenkins very, very powerful.', 'start': 171.603, 'duration': 2.762}, {'end': 182.826, 'text': 'From a continuous integration perspective, Jenkins can connect to various source code servers and it has also got plugins.', 'start': 174.704, 'duration': 8.122}, {'end': 187.988, 'text': 'that allows it to build, deploy, test all kinds of software artifacts.', 'start': 182.826, 'duration': 5.162}, {'end': 193.25, 'text': 'So this is what makes Jenkins an ideal choice for a continuous integration server.', 'start': 188.388, 'duration': 4.862}], 'summary': 'Jenkins is a powerful automation server with plugins for connecting to various tools, making it an ideal choice for continuous integration.', 'duration': 47.448, 'max_score': 145.802, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ145802.jpg'}, {'end': 256.512, 'src': 'embed', 'start': 231.856, 'weight': 2, 'content': [{'end': 239.882, 'text': 'If at all developers stagger their code check-ins into the repository, finding problems at a later stage would be very costly for the whole project.', 'start': 231.856, 'duration': 8.026}, {'end': 246.646, 'text': 'Early detection of any such issues would be quick to resolve and would not affect your delivery schedules.', 'start': 240.202, 'duration': 6.444}, {'end': 256.512, 'text': 'So, as a part of continuous integration, what is requested, or what is demanded, is that every developer checks in code pretty much every day,', 'start': 247.007, 'duration': 9.505}], 'summary': 'Frequent code check-ins in continuous integration reduce costly problems and ensure quick issue resolution.', 'duration': 24.656, 'max_score': 231.856, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ231856.jpg'}], 'start': 63.813, 'title': 'Jenkins and its significance', 'summary': 'Discusses the value stream mapping for steps in jenkins, the enhancements in jenkins 2.0, the power of groovy scripting, and its role as a powerful automation server for continuous integration, emphasizing its ability to connect to various tools and software development platforms, and the significance of continuous integration in detecting and resolving issues early in the software delivery life cycle.', 'chapters': [{'end': 125.445, 'start': 63.813, 'title': 'Jenkins 2.0 and groovy scripting', 'summary': 'Discusses the value stream mapping for steps in jenkins, the enhancements in jenkins 2.0, and the power of groovy scripting in defining flexible and powerful pipelines, followed by demos.', 'duration': 61.632, 'highlights': ['The chapter discusses the value stream mapping for all steps in Jenkins, which can be translated into jobs within Jenkins, providing a visualization of all jobs at one shot.', 'It explores the powerful groovy scripting in Jenkins 2.0 or post Jenkins 2.0, outlining two different ways to write scripts - scripted and declarative - offering much more flexible and powerful ways of defining pipelines for software delivery.', 'The discussion is followed up with a demo showcasing the topics covered.']}, {'end': 353.201, 'start': 125.445, 'title': 'Jenkins for continuous integration', 'summary': 'Discusses the importance of jenkins as a powerful automation server for continuous integration, emphasizing its ability to connect to various tools and software development platforms, and the significance of continuous integration in detecting and resolving issues early in the software delivery life cycle.', 'duration': 227.756, 'highlights': ['Jenkins is a powerful automation server written in Java and can be run on any web server. Jenkins is a powerful automation server written in Java, suitable for running on any web server, making it versatile and widely applicable.', 'Jenkins has plugins allowing it to connect to various tools for software development, deployment, and build source code. Jenkins has plugins that enable it to connect to various tools for software development, deployment, and build source code, enhancing its functionality and versatility.', 'Continuous Integration demands developers to check in code regularly, with automated servers pulling and building the code to facilitate early detection and resolution of issues. Continuous Integration requires regular code check-ins by developers, with automated servers pulling and building the code to enable early detection and resolution of issues, ensuring smooth delivery schedules.']}], 'duration': 289.388, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ63813.jpg', 'highlights': ['The discussion explores the powerful groovy scripting in Jenkins 2.0, offering flexible ways of defining pipelines for software delivery.', 'Jenkins has plugins that enable it to connect to various tools for software development, deployment, and build source code, enhancing its functionality and versatility.', 'Continuous Integration requires regular code check-ins by developers, with automated servers pulling and building the code to enable early detection and resolution of issues, ensuring smooth delivery schedules.', 'The chapter discusses the value stream mapping for all steps in Jenkins, providing a visualization of all jobs at one shot.', 'Jenkins is a powerful automation server written in Java, suitable for running on any web server, making it versatile and widely applicable.']}, {'end': 554.353, 'segs': [{'end': 392.858, 'src': 'embed', 'start': 353.201, 'weight': 0, 'content': [{'end': 356.143, 'text': "any detection that is early doesn't really hurt the team.", 'start': 353.201, 'duration': 2.942}, {'end': 362.965, 'text': 'So this is all continuous integration that is about, and Jenkins plays an important role in being the continuous integration server,', 'start': 356.442, 'duration': 6.523}, {'end': 367.407, 'text': "because it's got connections to anything and everything, all kinds of tools, I mean,", 'start': 362.965, 'duration': 4.442}, {'end': 373.07, 'text': 'and then it is also got various ways on which triggering the job which is a part of its automation strategy.', 'start': 367.407, 'duration': 5.663}, {'end': 378.132, 'text': 'Now that we know what is continuous integration and where does Jenkins come into picture.', 'start': 373.41, 'duration': 4.722}, {'end': 381.774, 'text': "let's look at the rest of the tasks of our software development life cycle.", 'start': 378.132, 'duration': 3.642}, {'end': 387.475, 'text': 'So, if at all, I were to visualize the kind of steps that is involved in delivering my software,', 'start': 382.093, 'duration': 5.382}, {'end': 392.858, 'text': 'possibly the continuous integration phase would be somewhere here where multiple developers are developing on that.', 'start': 387.475, 'duration': 5.383}], 'summary': 'Continuous integration with jenkins aids in early detection, improving team workflow and software development lifecycle.', 'duration': 39.657, 'max_score': 353.201, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ353201.jpg'}, {'end': 441.851, 'src': 'embed', 'start': 411.393, 'weight': 3, 'content': [{'end': 415.887, 'text': 'you just do some minimal testing And then you kind of move that to one of the environments.', 'start': 411.393, 'duration': 4.494}, {'end': 418.008, 'text': 'And from there, you kick off more and more tests.', 'start': 416.067, 'duration': 1.941}, {'end': 419.389, 'text': 'They could be integration tests.', 'start': 418.048, 'duration': 1.341}, {'end': 421.13, 'text': 'They could be acceptance tests.', 'start': 419.589, 'duration': 1.541}, {'end': 423.271, 'text': 'They could be functionality check.', 'start': 421.35, 'duration': 1.921}, {'end': 424.832, 'text': 'They could be a stress test.', 'start': 423.291, 'duration': 1.541}, {'end': 425.833, 'text': 'They could be a load test.', 'start': 424.872, 'duration': 0.961}, {'end': 427.594, 'text': 'It could be a system integration test.', 'start': 425.913, 'duration': 1.681}, {'end': 429.815, 'text': 'All kinds of tests that you can think about.', 'start': 427.954, 'duration': 1.861}, {'end': 433.669, 'text': 'and all the way, maybe propagating the build across various environments.', 'start': 430.228, 'duration': 3.441}, {'end': 441.851, 'text': "if all this can be considered as various steps, the workflow is such that as and when the build moves across various phases, if there's any failure,", 'start': 433.669, 'duration': 8.182}], 'summary': 'Iterative testing process across environments with various types of tests and build propagation.', 'duration': 30.458, 'max_score': 411.393, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ411393.jpg'}, {'end': 470.523, 'src': 'embed', 'start': 448.172, 'weight': 4, 'content': [{'end': 456.333, 'text': 'so your workflow is progressing well and at the end of the workflow eventually have a code which is pretty much good to release.', 'start': 448.172, 'duration': 8.161}, {'end': 464.599, 'text': 'now, mind you, I make an assumption here that most of your test cases are automated and you have a good percentage of coverage of your test cases.', 'start': 456.333, 'duration': 8.266}, {'end': 470.523, 'text': 'but if that is not the scenario, then possibly there are some automated tests or checks that may be required in between.', 'start': 464.599, 'duration': 5.924}], 'summary': 'Workflow progressing well, aiming for high test automation coverage', 'duration': 22.351, 'max_score': 448.172, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ448172.jpg'}, {'end': 520.072, 'src': 'embed', 'start': 493.404, 'weight': 5, 'content': [{'end': 499.747, 'text': 'where I could put up a couple of jobs and I can connect them using the upstream, downstream linking mechanism.', 'start': 493.404, 'duration': 6.343}, {'end': 506.086, 'text': 'So if this job one, if at all, it is a build-in test cases, if at all that passes successfully, job two gets triggered.', 'start': 500.063, 'duration': 6.023}, {'end': 513.749, 'text': 'If the job two is more about running some more automated tests or possibly deploying it to environment and then kicking off some more test cases,', 'start': 506.406, 'duration': 7.343}, {'end': 514.568, 'text': 'that would be job two.', 'start': 513.749, 'duration': 0.819}, {'end': 520.072, 'text': 'But if the deployment fails or if some of the other test cases fail, it would not propagate to the third job.', 'start': 514.909, 'duration': 5.163}], 'summary': 'Jobs are connected using upstream, downstream linking. job one triggers job two upon successful test cases. deployment failure or test case failure does not propagate to the third job.', 'duration': 26.668, 'max_score': 493.404, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ493404.jpg'}], 'start': 353.201, 'title': 'Jenkins in software development', 'summary': 'Discusses the role of jenkins in continuous integration, emphasizing early detection benefits, integration with various tools, workflow automation, automated test cases, and job use in software delivery lifecycle.', 'chapters': [{'end': 411.393, 'start': 353.201, 'title': 'Jenkins and continuous integration in software development', 'summary': 'Discusses the role of jenkins in continuous integration, emphasizing the benefits of early detection and its integration with various tools, in addition to outlining the steps involved in the software delivery process.', 'duration': 58.192, 'highlights': ["Jenkins plays an important role in being the continuous integration server, with connections to various tools and automation strategies. Emphasizes Jenkins' significance in continuous integration with its connectivity to diverse tools and automation capabilities.", "Early detection in continuous integration doesn't hurt the team Stresses the advantage of early detection in continuous integration for the development team.", 'The continuous integration phase involves multiple developers working on the code, leading to a stable code that can be moved across various environments. Explains the process of continuous integration involving multiple developers and the generation of stable code for migration across environments.']}, {'end': 554.353, 'start': 411.393, 'title': 'Software workflow automation in jenkins', 'summary': 'Discusses the workflow automation in jenkins, including the progression of workflow, the importance of automated test cases, and the use of jobs to connect tasks and automate the software delivery lifecycle.', 'duration': 142.96, 'highlights': ['The workflow progression involves minimal testing, followed by integration tests, acceptance tests, functionality checks, stress tests, load tests, and system integration tests, with the build propagation stopping in case of failure. The workflow involves a progression from minimal testing to various types of tests, including integration tests, acceptance tests, functionality checks, stress tests, load tests, and system integration tests, with build propagation halting in case of failure.', 'The importance of automated test cases is emphasized, with the assumption that most test cases are automated, and a good percentage of test case coverage is necessary for successful workflow progression. The chapter emphasizes the importance of automated test cases, assuming that most test cases are automated and stressing the need for a good percentage of test case coverage for successful workflow progression.', 'The use of jobs in Jenkins, where tasks can be put as jobs, and the connection of jobs using upstream and downstream linking mechanism to automate the software delivery lifecycle is explained. The chapter explains the use of jobs in Jenkins, where tasks are set as jobs and connected using the upstream and downstream linking mechanism to automate the software delivery lifecycle.']}], 'duration': 201.152, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ353201.jpg', 'highlights': ["Emphasizes Jenkins' significance in continuous integration with its connectivity to diverse tools and automation capabilities.", 'Stresses the advantage of early detection in continuous integration for the development team.', 'Explains the process of continuous integration involving multiple developers and the generation of stable code for migration across environments.', 'The workflow involves a progression from minimal testing to various types of tests, including integration tests, acceptance tests, functionality checks, stress tests, load tests, and system integration tests, with build propagation halting in case of failure.', 'The chapter emphasizes the importance of automated test cases, assuming that most test cases are automated and stressing the need for a good percentage of test case coverage for successful workflow progression.', 'The chapter explains the use of jobs in Jenkins, where tasks are set as jobs and connected using the upstream and downstream linking mechanism to automate the software delivery lifecycle.']}, {'end': 1074.682, 'segs': [{'end': 586.566, 'src': 'heatmap', 'start': 554.433, 'weight': 0.754, 'content': [{'end': 556.674, 'text': 'Let me put up a few of those jobs now.', 'start': 554.433, 'duration': 2.241}, {'end': 560.837, 'text': "Mind you, I'm going to cover the pre-Jenkins 2.0 feature here.", 'start': 556.834, 'duration': 4.003}, {'end': 563.259, 'text': 'All right, so let me put up my first job.', 'start': 561.158, 'duration': 2.101}, {'end': 565.641, 'text': "All right, I hope I don't have that job.", 'start': 563.559, 'duration': 2.082}, {'end': 567.522, 'text': "I say it's a freestyle project.", 'start': 566.101, 'duration': 1.421}, {'end': 570.384, 'text': "I don't want to change anything.", 'start': 568.963, 'duration': 1.421}, {'end': 573.086, 'text': "I'm going to put up a very, very simple job here.", 'start': 570.564, 'duration': 2.522}, {'end': 574.667, 'text': "It's in batch command.", 'start': 573.706, 'duration': 0.961}, {'end': 580.071, 'text': 'I say echo first job triggered at.', 'start': 575.228, 'duration': 4.843}, {'end': 580.843, 'text': 'All right.', 'start': 580.623, 'duration': 0.22}, {'end': 582.024, 'text': "That's my first job.", 'start': 580.943, 'duration': 1.081}, {'end': 586.566, 'text': 'Let me put up my second job.', 'start': 584.825, 'duration': 1.741}], 'summary': 'Setting up two jobs in jenkins, first job is a freestyle project triggered with a batch command.', 'duration': 32.133, 'max_score': 554.433, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ554433.jpg'}, {'end': 695.693, 'src': 'embed', 'start': 665.713, 'weight': 0, 'content': [{'end': 669.576, 'text': 'i would say after this first job is run, i want to trigger the second job.', 'start': 665.713, 'duration': 3.863}, {'end': 672.679, 'text': 'so i have something called as a post build action.', 'start': 669.576, 'duration': 3.103}, {'end': 675.721, 'text': 'so i can say that trigger some other jobs from here.', 'start': 672.679, 'duration': 3.042}, {'end': 682.226, 'text': 'so if you see this publish record, deploy, all right, trigger, trigger, trigger, trigger.', 'start': 675.721, 'duration': 6.505}, {'end': 683.447, 'text': 'let me check the other one.', 'start': 682.226, 'duration': 1.221}, {'end': 684.307, 'text': 'build other projects.', 'start': 683.447, 'duration': 0.86}, {'end': 685.648, 'text': 'this is what i would want to do.', 'start': 684.307, 'duration': 1.341}, {'end': 689.39, 'text': 'so after the first job is done, i want to trigger my second job.', 'start': 685.648, 'duration': 3.742}, {'end': 689.95, 'text': 'all right.', 'start': 689.39, 'duration': 0.56}, {'end': 695.693, 'text': 'i would say save this now, let me go back to my second job and then trigger the third job.', 'start': 689.95, 'duration': 5.743}], 'summary': 'After the first job, trigger the second and third jobs for deployment.', 'duration': 29.98, 'max_score': 665.713, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ665713.jpg'}, {'end': 731.136, 'src': 'embed', 'start': 705.818, 'weight': 1, 'content': [{'end': 713.724, 'text': 'there is various configurations as to when exactly do you want to trigger the other job, and the default one is trigger only if the build is stable.', 'start': 705.818, 'duration': 7.906}, {'end': 715.865, 'text': 'so typically this is the configuration that would need.', 'start': 713.724, 'duration': 2.141}, {'end': 720.829, 'text': "we definitely don't want the third job to be triggered in case the second job fails, all right.", 'start': 715.865, 'duration': 4.964}, {'end': 725.172, 'text': 'so this is the combination that I want, or this is the choice that I want, and I save this.', 'start': 720.829, 'duration': 4.343}, {'end': 727.253, 'text': 'now I have three of my jobs.', 'start': 725.172, 'duration': 2.081}, {'end': 731.136, 'text': 'if you see this, the second job, the upstream job, is the first job.', 'start': 727.253, 'duration': 3.883}], 'summary': 'Configurations decide when to trigger jobs, default is stable build, 2nd job triggers 1st job.', 'duration': 25.318, 'max_score': 705.818, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ705818.jpg'}, {'end': 880.957, 'src': 'heatmap', 'start': 756.47, 'weight': 0.753, 'content': [{'end': 763.293, 'text': 'as to you know, if I need to see one holistic picture where, after the first job, after the second job, after the third job, what is the flow?', 'start': 756.47, 'duration': 6.823}, {'end': 765.234, 'text': "It's not possible for me to visualize that.", 'start': 763.493, 'duration': 1.741}, {'end': 767.215, 'text': "That's wherein I install a plugin.", 'start': 765.434, 'duration': 1.781}, {'end': 770.116, 'text': 'So let me go to manage plugins right here.', 'start': 767.435, 'duration': 2.681}, {'end': 772.017, 'text': 'I think I already have it installed.', 'start': 770.356, 'duration': 1.661}, {'end': 776.959, 'text': "For those of you who don't have it installed, you can go to the available button, I mean available tab and click on that.", 'start': 772.217, 'duration': 4.742}, {'end': 779.8, 'text': 'The plugin is called delivery pipeline plugin.', 'start': 777.159, 'duration': 2.641}, {'end': 780.981, 'text': 'I already have it installed.', 'start': 780.041, 'duration': 0.94}, {'end': 783.668, 'text': "case you don't have it installed, you just go to the available.", 'start': 781.36, 'duration': 2.308}, {'end': 786.015, 'text': 'you click on this and say install without restart.', 'start': 783.668, 'duration': 2.347}, {'end': 788.431, 'text': 'this is the plugin that i want you to install, All right.', 'start': 786.015, 'duration': 2.416}, {'end': 790.132, 'text': 'So now we have that plugin installed.', 'start': 788.591, 'duration': 1.541}, {'end': 793.313, 'text': 'So what I want to do is after the plugin is installed, you see something like this.', 'start': 790.312, 'duration': 3.001}, {'end': 798.175, 'text': "So this is where I would create a new visualization for the pipeline that I've created.", 'start': 793.633, 'duration': 4.542}, {'end': 803.256, 'text': 'So I would say my first pipeline or I give a name for my visualization.', 'start': 798.515, 'duration': 4.741}, {'end': 806.557, 'text': 'I would say, yes, this upstream downstream dependencies.', 'start': 803.576, 'duration': 2.981}, {'end': 807.898, 'text': 'This is exactly what I want.', 'start': 806.577, 'duration': 1.321}, {'end': 809.939, 'text': 'And there are a bunch of settings here.', 'start': 808.298, 'duration': 1.641}, {'end': 811.619, 'text': "I'll not look at any of that now.", 'start': 810.159, 'duration': 1.46}, {'end': 816.401, 'text': 'What I want is I just want to tell this view that, you know, I can give a name for this.', 'start': 811.699, 'duration': 4.702}, {'end': 819.522, 'text': 'would give it as simply learn pipeline.', 'start': 816.92, 'duration': 2.602}, {'end': 830.872, 'text': "and what's important is that i specify what is the first job that should be picked up as a part of this pipeline and the final job is optional because it knows that if the first job is triggering this other job,", 'start': 819.522, 'duration': 11.35}, {'end': 833.414, 'text': 'it knows where to end this whole life cycle.', 'start': 830.872, 'duration': 2.542}, {'end': 838.057, 'text': 'so i define a pipeline and give a name for my component and initialize that as my.', 'start': 833.414, 'duration': 4.643}, {'end': 839.659, 'text': 'i mean i give it the first job.', 'start': 838.057, 'duration': 1.602}, {'end': 841.46, 'text': 'so i say okay, and there you go.', 'start': 839.659, 'duration': 1.801}, {'end': 843.322, 'text': 'this is much better.', 'start': 841.46, 'duration': 1.862}, {'end': 848.001, 'text': 'this gives you a beautiful visualization of As to what happened after the first job.', 'start': 843.322, 'duration': 4.679}, {'end': 849.323, 'text': 'second job was run, second job.', 'start': 848.001, 'duration': 1.322}, {'end': 852.265, 'text': 'If I click on any of these, that will in fact take me to that job.', 'start': 849.363, 'duration': 2.902}, {'end': 852.706, 'text': 'All right.', 'start': 852.425, 'duration': 0.281}, {'end': 858.971, 'text': 'There is also one other option, which is pretty good option in my opinion, which is about edit view.', 'start': 852.826, 'duration': 6.145}, {'end': 860.172, 'text': 'Yes, this is where it is.', 'start': 859.151, 'duration': 1.021}, {'end': 862.494, 'text': 'Enable start of a new pipeline build.', 'start': 860.572, 'duration': 1.922}, {'end': 865.357, 'text': 'Let me apply and let me click OK on this.', 'start': 862.854, 'duration': 2.503}, {'end': 870.301, 'text': 'What it gives me is a way in which I can trigger my whole pipeline from here.', 'start': 865.817, 'duration': 4.484}, {'end': 871.342, 'text': 'So if I click on this.', 'start': 870.681, 'duration': 0.661}, {'end': 873.435, 'text': 'there you see the first job getting triggered.', 'start': 871.854, 'duration': 1.581}, {'end': 874.915, 'text': 'the second job is still running.', 'start': 873.435, 'duration': 1.48}, {'end': 877.896, 'text': "the green means it's all run properly and nicely.", 'start': 874.915, 'duration': 2.981}, {'end': 880.957, 'text': "second one is triggered now the third one it's still running, all right.", 'start': 877.896, 'duration': 3.061}], 'summary': 'Install delivery pipeline plugin, create visualization for pipeline, trigger pipeline and monitor job statuses.', 'duration': 124.487, 'max_score': 756.47, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ756470.jpg'}, {'end': 793.313, 'src': 'embed', 'start': 763.493, 'weight': 2, 'content': [{'end': 765.234, 'text': "It's not possible for me to visualize that.", 'start': 763.493, 'duration': 1.741}, {'end': 767.215, 'text': "That's wherein I install a plugin.", 'start': 765.434, 'duration': 1.781}, {'end': 770.116, 'text': 'So let me go to manage plugins right here.', 'start': 767.435, 'duration': 2.681}, {'end': 772.017, 'text': 'I think I already have it installed.', 'start': 770.356, 'duration': 1.661}, {'end': 776.959, 'text': "For those of you who don't have it installed, you can go to the available button, I mean available tab and click on that.", 'start': 772.217, 'duration': 4.742}, {'end': 779.8, 'text': 'The plugin is called delivery pipeline plugin.', 'start': 777.159, 'duration': 2.641}, {'end': 780.981, 'text': 'I already have it installed.', 'start': 780.041, 'duration': 0.94}, {'end': 783.668, 'text': "case you don't have it installed, you just go to the available.", 'start': 781.36, 'duration': 2.308}, {'end': 786.015, 'text': 'you click on this and say install without restart.', 'start': 783.668, 'duration': 2.347}, {'end': 788.431, 'text': 'this is the plugin that i want you to install, All right.', 'start': 786.015, 'duration': 2.416}, {'end': 790.132, 'text': 'So now we have that plugin installed.', 'start': 788.591, 'duration': 1.541}, {'end': 793.313, 'text': 'So what I want to do is after the plugin is installed, you see something like this.', 'start': 790.312, 'duration': 3.001}], 'summary': 'Install the delivery pipeline plugin for visualization in the available tab.', 'duration': 29.82, 'max_score': 763.493, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ763493.jpg'}, {'end': 967.038, 'src': 'embed', 'start': 936.815, 'weight': 3, 'content': [{'end': 941.917, 'text': 'So they wanted to club all of that and the pipeline could have all the such complicated stuff.', 'start': 936.815, 'duration': 5.102}, {'end': 946.223, 'text': "That's where, in post Jenkins 2.0 or in Jenkins 2.0,,", 'start': 942.298, 'duration': 3.925}, {'end': 952.548, 'text': 'Jenkins released a version which has got the feature of pipeline which can be written in Groovy scripts.', 'start': 946.223, 'duration': 6.325}, {'end': 955.13, 'text': 'Now Groovy is wonderful scripting language.', 'start': 952.768, 'duration': 2.362}, {'end': 956.451, 'text': "It's very, very powerful.", 'start': 955.41, 'duration': 1.041}, {'end': 961.434, 'text': 'Anybody can visualize your pipeline or write your pipeline using programming language.', 'start': 956.651, 'duration': 4.783}, {'end': 967.038, 'text': 'And the point of everything as code where this whole Groovy script gets into your source code repository.', 'start': 961.614, 'duration': 5.424}], 'summary': 'Jenkins 2.0 introduced pipeline feature using groovy scripts, allowing powerful, visualizable pipeline creation and storage in source code repository.', 'duration': 30.223, 'max_score': 936.815, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ936815.jpg'}, {'end': 1022.651, 'src': 'embed', 'start': 994.905, 'weight': 4, 'content': [{'end': 999.229, 'text': 'And now I have post Jenkins 2.0 in terms of my version, Jenkins version.', 'start': 994.905, 'duration': 4.324}, {'end': 1001.023, 'text': "It's 2.107.", 'start': 999.562, 'duration': 1.461}, {'end': 1007.645, 'text': 'So this supports something called as a scripted pipeline, wherein you can write your pipeline in terms of Groovy scripts.', 'start': 1001.023, 'duration': 6.622}, {'end': 1012.307, 'text': 'No need to put up any jobs here and remember how exactly you put up these individual jobs.', 'start': 1007.845, 'duration': 4.462}, {'end': 1015.748, 'text': 'You can write a pipeline script in terms of Groovy language.', 'start': 1012.567, 'duration': 3.181}, {'end': 1020.39, 'text': 'Let me quickly show you a very, very simple and elementary pipeline that I have.', 'start': 1016.048, 'duration': 4.342}, {'end': 1022.651, 'text': 'This is what a Groovy script would look like.', 'start': 1020.67, 'duration': 1.981}], 'summary': 'Jenkins 2.107 supports scripted pipelines using groovy language.', 'duration': 27.746, 'max_score': 994.905, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ994905.jpg'}], 'start': 554.433, 'title': 'Configuring job triggers and jenkins pipeline visualization', 'summary': 'Explains configuring job triggers in jenkins, including linking jobs, setting post build actions, and ensuring job triggers based on build stability. it also covers the installation of the delivery pipeline plugin, visualization of pipeline dependencies, jenkins 2.0 introduction, and transition to scripted pipelines using groovy scripts.', 'chapters': [{'end': 763.293, 'start': 554.433, 'title': 'Configuring job triggers', 'summary': 'Explains how to configure job triggers in jenkins, including linking jobs, setting post build actions, and ensuring job triggers based on build stability, with a demonstration of linking three jobs in a pipeline.', 'duration': 208.86, 'highlights': ['The chapter demonstrates configuring job triggers in Jenkins, with a focus on linking jobs and setting post build actions to trigger other jobs, showcasing the process of linking three jobs in a pipeline.', 'The speaker showcases the process of linking jobs in Jenkins, demonstrating how to set post build actions to trigger other jobs after the completion of a preceding job.', 'The demonstration emphasizes the importance of ensuring job triggers based on build stability, with a specific focus on not triggering the third job if the second job fails.']}, {'end': 1074.682, 'start': 763.493, 'title': 'Jenkins pipeline visualization', 'summary': 'Covers the installation of the delivery pipeline plugin in jenkins, the visualization of pipeline dependencies, the introduction of jenkins 2.0, and the transition to scripted pipelines using groovy scripts.', 'duration': 311.189, 'highlights': ['Jenkins 2.0 introduced the feature of pipeline visualization using Groovy scripts, allowing for more complex and parallel job executions. After Jenkins 2.0, the pipeline feature was enhanced to support Groovy scripts for writing complex and parallel job executions, providing more flexibility and control over the pipeline structure.', 'The installation and usage of the delivery pipeline plugin for visualizing pipeline dependencies in Jenkins. The speaker demonstrates the installation of the delivery pipeline plugin in Jenkins and the process of visualizing pipeline dependencies, providing a practical example of plugin usage.', 'The transition from traditional job-based visualization to scripted pipeline visualization using Groovy scripts in Jenkins. The chapter explains the transition from traditional job-based visualization to scripted pipeline visualization using Groovy scripts in Jenkins, emphasizing the benefits of scripting for pipeline management and maintenance.']}], 'duration': 520.249, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ554433.jpg', 'highlights': ['The chapter demonstrates configuring job triggers in Jenkins, with a focus on linking jobs and setting post build actions to trigger other jobs, showcasing the process of linking three jobs in a pipeline.', 'The demonstration emphasizes the importance of ensuring job triggers based on build stability, with a specific focus on not triggering the third job if the second job fails.', 'The installation and usage of the delivery pipeline plugin for visualizing pipeline dependencies in Jenkins. The speaker demonstrates the installation of the delivery pipeline plugin in Jenkins and the process of visualizing pipeline dependencies, providing a practical example of plugin usage.', 'Jenkins 2.0 introduced the feature of pipeline visualization using Groovy scripts, allowing for more complex and parallel job executions. After Jenkins 2.0, the pipeline feature was enhanced to support Groovy scripts for writing complex and parallel job executions, providing more flexibility and control over the pipeline structure.', 'The transition from traditional job-based visualization to scripted pipeline visualization using Groovy scripts in Jenkins. The chapter explains the transition from traditional job-based visualization to scripted pipeline visualization using Groovy scripts in Jenkins, emphasizing the benefits of scripting for pipeline management and maintenance.']}, {'end': 1564.616, 'segs': [{'end': 1115.029, 'src': 'embed', 'start': 1089.012, 'weight': 4, 'content': [{'end': 1094.936, 'text': 'only few things that fail within your test run and you would want to mark the build as unstable or changed.', 'start': 1089.012, 'duration': 5.924}, {'end': 1096.458, 'text': 'this is an interesting option.', 'start': 1094.936, 'duration': 1.522}, {'end': 1101.041, 'text': "so this compares the present run with the previous run and if there's any change,", 'start': 1096.458, 'duration': 4.583}, {'end': 1107.286, 'text': 'meaning if the previous run was a failure and the present run is a success, or vice versa, this would get triggered.', 'start': 1101.041, 'duration': 6.245}, {'end': 1110.827, 'text': 'so this is what a simple pipeline script would look like.', 'start': 1107.506, 'duration': 3.321}, {'end': 1115.029, 'text': 'so let me copy this pipeline and let me put up a simple job for running this pipeline.', 'start': 1110.827, 'duration': 4.202}], 'summary': 'Option to mark build as unstable or changed based on test run comparison.', 'duration': 26.017, 'max_score': 1089.012, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1089012.jpg'}, {'end': 1165.47, 'src': 'heatmap', 'start': 1132.663, 'weight': 0.777, 'content': [{'end': 1134.666, 'text': "so general, I don't want anything here.", 'start': 1132.663, 'duration': 2.003}, {'end': 1136.569, 'text': "I don't want any build trigger right.", 'start': 1134.666, 'duration': 1.903}, {'end': 1140.014, 'text': 'so this is where I kind of I can paste in whatever I copied.', 'start': 1136.569, 'duration': 3.445}, {'end': 1144.417, 'text': "There's also something called as a pipeline syntax or a syntax generator.", 'start': 1140.134, 'duration': 4.283}, {'end': 1150.461, 'text': 'This is like a lookup where you can choose what you want to do and choose the option that is specific to those steps,', 'start': 1144.517, 'duration': 5.944}, {'end': 1153.543, 'text': 'and you will get a pipeline generated or a script generated for you.', 'start': 1150.461, 'duration': 3.082}, {'end': 1156.785, 'text': "Jenkins knows that you're not very good at understanding these pipelines.", 'start': 1153.723, 'duration': 3.062}, {'end': 1165.47, 'text': 'So this gives you the sandbox kind of an environment where you can check out whatever you want to do as a part of your pipeline and then get the equivalent groovy script from here.', 'start': 1157.145, 'duration': 8.325}], 'summary': 'Jenkins provides a syntax generator for pipeline scripting, simplifying script creation for users.', 'duration': 32.807, 'max_score': 1132.663, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1132663.jpg'}, {'end': 1241.98, 'src': 'embed', 'start': 1203.28, 'weight': 2, 'content': [{'end': 1204.801, 'text': "the failures doesn't show up.", 'start': 1203.28, 'duration': 1.521}, {'end': 1209.624, 'text': 'you will see the messages from our post or the try catch block that I was mentioning earlier.', 'start': 1204.801, 'duration': 4.823}, {'end': 1216.46, 'text': 'So this is how one would put up a pipeline, and you also get to see the visualized view of your pipeline.', 'start': 1210.134, 'duration': 6.326}, {'end': 1220.043, 'text': 'that says which stage run after which phase, how much time did it take?', 'start': 1216.46, 'duration': 3.583}, {'end': 1225.648, 'text': 'and you can click on any of these and get into looking at the logs from that particular pipeline run.', 'start': 1220.043, 'duration': 5.605}, {'end': 1227.364, 'text': "That was pretty easy, wasn't it??", 'start': 1225.902, 'duration': 1.462}, {'end': 1234.572, 'text': 'Now let me give you another scenario for a pipeline wherein the source code of my pipeline would be in a GitHub repository.', 'start': 1227.584, 'duration': 6.988}, {'end': 1241.98, 'text': 'And I will write scripts to grab this particular code and run some part of the code which is there as a part of the repository.', 'start': 1234.872, 'duration': 7.108}], 'summary': 'Setting up a pipeline with visualized view and log access, and running code from github repository.', 'duration': 38.7, 'max_score': 1203.28, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1203280.jpg'}, {'end': 1322.484, 'src': 'embed', 'start': 1275.987, 'weight': 0, 'content': [{'end': 1291.342, 'text': 'So I would need to write Jenkins job to log into my GitHub account and then check out this particular repository from my account and then run these batch files as a part of those individual steps within the scripted pipeline.', 'start': 1275.987, 'duration': 15.355}, {'end': 1294.365, 'text': 'So let me check as to how I could do that.', 'start': 1291.682, 'duration': 2.683}, {'end': 1298.529, 'text': 'let me put up a new project for this.', 'start': 1295.407, 'duration': 3.122}, {'end': 1310.436, 'text': "let me call this scripted pipeline scripted pipeline from github all right, so let this be a pipeline project that's good enough for me.", 'start': 1298.529, 'duration': 11.907}, {'end': 1312.618, 'text': 'let me see my scripts all right.', 'start': 1310.436, 'duration': 2.182}, {'end': 1322.484, 'text': 'now this is where i need to put in the scripts for pulling out the code repository from my github server and running those batch files that are there as a part of the repository.', 'start': 1312.618, 'duration': 9.866}], 'summary': 'Create jenkins job to run scripted pipeline from github repository.', 'duration': 46.497, 'max_score': 1275.987, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1275987.jpg'}, {'end': 1468.588, 'src': 'embed', 'start': 1443.98, 'weight': 5, 'content': [{'end': 1451.843, 'text': 'alright, so now, once I get my code on to my repository from my repository, rather it will Grab those code, all these batch files,', 'start': 1443.98, 'duration': 7.863}, {'end': 1453.743, 'text': 'and get it onto my Jenkins workspace.', 'start': 1451.843, 'duration': 1.9}, {'end': 1458.085, 'text': "Now I'll have to run these batch files as a part of each of my step.", 'start': 1454.043, 'duration': 4.042}, {'end': 1460.425, 'text': 'So let me look at what would be the syntax.', 'start': 1458.425, 'duration': 2}, {'end': 1464.987, 'text': 'So the first one that I want to run would be my build.bat.', 'start': 1460.685, 'duration': 4.302}, {'end': 1465.507, 'text': 'All right.', 'start': 1465.187, 'duration': 0.32}, {'end': 1467.827, 'text': 'So I want to run a batch file.', 'start': 1465.787, 'duration': 2.04}, {'end': 1468.588, 'text': 'All right.', 'start': 1467.847, 'duration': 0.741}], 'summary': 'Code will be grabbed from repository to jenkins workspace and batch files will be run as part of each step.', 'duration': 24.608, 'max_score': 1443.98, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1443980.jpg'}], 'start': 1074.682, 'title': 'Jenkins scripted pipeline and github repository', 'summary': 'Covers creating and running a jenkins scripted pipeline, defining pipeline syntax, and executing the pipeline, emphasizing visualizing pipeline stages and monitoring execution. it also explains setting up a jenkins pipeline to pull code from a github repository, running batch files, and visualizing logs, with examples and key points.', 'chapters': [{'end': 1220.043, 'start': 1074.682, 'title': 'Creating and running a jenkins scripted pipeline', 'summary': 'Covers creating and running a jenkins scripted pipeline, including defining pipeline syntax and executing the pipeline, with emphasis on visualizing the pipeline stages and monitoring the execution.', 'duration': 145.361, 'highlights': ['Visualizing pipeline stages and monitoring execution The chapter emphasizes the visualized view of the pipeline, showing which stage runs after which phase and how much time it takes.', 'Defining pipeline syntax and executing the pipeline The transcript includes details on defining the pipeline syntax and executing a scripted pipeline, showcasing the process of creating and running the pipeline.', "Understanding when the build is marked as unstable or changed It mentions the option to mark the build as unstable or changed based on comparing the present run with the previous run, triggered if there's any change such as a previous failure and a present success."]}, {'end': 1564.616, 'start': 1220.043, 'title': 'Pipeline from github repository', 'summary': 'Explains how to set up a jenkins pipeline to pull code from a github repository, run batch files, and visualize the logs, with examples and key points including the process of setting up the pipeline, running the batch files, and visualizing the logs.', 'duration': 344.573, 'highlights': ['Setting up a Jenkins pipeline to pull code from a GitHub repository and run batch files The chapter explains setting up a Jenkins pipeline to pull code from a GitHub repository and run batch files as individual steps, demonstrating the process of setting up the pipeline and running the batch files.', 'Visualizing the logs from a particular pipeline run The chapter demonstrates the ability to visualize the logs from a particular pipeline run, providing insight into the process of visualizing the logs and accessing them for analysis.', 'Demonstrating the process of pulling code from a GitHub repository to Jenkins workspace The chapter demonstrates the process of pulling code from a GitHub repository to the Jenkins workspace and then running batch files, providing a step-by-step overview of the process and the results obtained.']}], 'duration': 489.934, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1074682.jpg', 'highlights': ['Defining pipeline syntax and executing the pipeline The transcript includes details on defining the pipeline syntax and executing a scripted pipeline, showcasing the process of creating and running the pipeline.', 'Setting up a Jenkins pipeline to pull code from a GitHub repository and run batch files The chapter explains setting up a Jenkins pipeline to pull code from a GitHub repository and run batch files as individual steps, demonstrating the process of setting up the pipeline and running the batch files.', 'Visualizing pipeline stages and monitoring execution The chapter emphasizes the visualized view of the pipeline, showing which stage runs after which phase and how much time it takes.', 'Visualizing the logs from a particular pipeline run The chapter demonstrates the ability to visualize the logs from a particular pipeline run, providing insight into the process of visualizing the logs and accessing them for analysis.', "Understanding when the build is marked as unstable or changed It mentions the option to mark the build as unstable or changed based on comparing the present run with the previous run, triggered if there's any change such as a previous failure and a present success.", 'Demonstrating the process of pulling code from a GitHub repository to Jenkins workspace The chapter demonstrates the process of pulling code from a GitHub repository to the Jenkins workspace and then running batch files, providing a step-by-step overview of the process and the results obtained.']}, {'end': 1824.57, 'segs': [{'end': 1613.775, 'src': 'embed', 'start': 1587.108, 'weight': 0, 'content': [{'end': 1593.622, 'text': 'Typically, agents can be brought up on any other remote machines other than where your primary Jenkins server is running.', 'start': 1587.108, 'duration': 6.514}, {'end': 1597.484, 'text': "In case you don't know, or you don't know how to start up these agents,", 'start': 1593.922, 'duration': 3.562}, {'end': 1603.809, 'text': 'I would strongly recommend that you refer to our previous Jenkins video on the Simply Learn YouTube channel.', 'start': 1597.484, 'duration': 6.325}, {'end': 1604.409, 'text': 'All right.', 'start': 1604.109, 'duration': 0.3}, {'end': 1608.072, 'text': 'So let me just check the status of my agent for now.', 'start': 1604.629, 'duration': 3.443}, {'end': 1609.152, 'text': "Yes, he's offline.", 'start': 1608.252, 'duration': 0.9}, {'end': 1613.775, 'text': 'So let me start this agent because agent is not running.', 'start': 1609.573, 'duration': 4.202}], 'summary': "Agents can be brought up on remote machines other than the primary jenkins server. check the status of the agent and start it if it's offline.", 'duration': 26.667, 'max_score': 1587.108, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1587108.jpg'}, {'end': 1660.641, 'src': 'embed', 'start': 1635.346, 'weight': 2, 'content': [{'end': 1641.849, 'text': "So my agent is running on my same machine, but the agent's workspace is C colon agent.", 'start': 1635.346, 'duration': 6.503}, {'end': 1649.955, 'text': 'While my primary Jenkins server is running, has the workspace out here, c colon program files 86.', 'start': 1642.13, 'duration': 7.825}, {'end': 1652.076, 'text': 'And this is the workspace of my Jenkins.', 'start': 1649.955, 'duration': 2.121}, {'end': 1652.576, 'text': 'All right.', 'start': 1652.396, 'duration': 0.18}, {'end': 1654.838, 'text': 'I hope you can kind of differentiate those two.', 'start': 1652.636, 'duration': 2.202}, {'end': 1655.258, 'text': 'All right.', 'start': 1655.038, 'duration': 0.22}, {'end': 1660.641, 'text': 'So now what I want is I will look at the same job that I put in earlier or rather modify that.', 'start': 1655.418, 'duration': 5.223}], 'summary': 'Agent workspace: c:\\', 'duration': 25.295, 'max_score': 1635.346, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1635346.jpg'}, {'end': 1740.259, 'src': 'embed', 'start': 1714.088, 'weight': 3, 'content': [{'end': 1720.071, 'text': "or rather I'm going to specify the agent who will be running this job is the one who has got the label as Windows Node.", 'start': 1714.088, 'duration': 5.983}, {'end': 1731.576, 'text': 'So this agent that I brought on my system has got the name as Windows Node and it is configured to pick up any job that matches the label to which any job is kind of delegated.', 'start': 1720.291, 'duration': 11.285}, {'end': 1733.715, 'text': 'So let me come back to my jobs.', 'start': 1731.994, 'duration': 1.721}, {'end': 1740.259, 'text': "Where is my scripted agent job? I've got too many jobs running.", 'start': 1734.095, 'duration': 6.164}], 'summary': 'The windows node agent is configured to pick up jobs matching the specified label.', 'duration': 26.171, 'max_score': 1714.088, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1714088.jpg'}, {'end': 1834.193, 'src': 'embed', 'start': 1802.864, 'weight': 5, 'content': [{'end': 1805.246, 'text': 'the only thing is this whole thing ran on the agent.', 'start': 1802.864, 'duration': 2.382}, {'end': 1810.345, 'text': 'if i need to check my agent, i would see the workspace out here.', 'start': 1805.246, 'duration': 5.099}, {'end': 1811.606, 'text': 'agent scripted job.', 'start': 1810.345, 'duration': 1.261}, {'end': 1817.408, 'text': 'if you look at this, all the batch files are here and this is where the job was kind of delegated to run.', 'start': 1811.606, 'duration': 5.802}, {'end': 1824.57, 'text': 'so with a very subtle change in in the scripting, i can ensure that the jobs are kind of delegated onto the agent.', 'start': 1817.408, 'duration': 7.162}, {'end': 1827.711, 'text': 'the pipeline job specifically, as i mentioned earlier,', 'start': 1824.57, 'duration': 3.141}, {'end': 1834.193, 'text': 'jenkins provides you two different ways of writing pipelines called the scripted and the declarative.', 'start': 1827.711, 'duration': 6.482}], 'summary': 'Workspace agent delegated jobs, scripted and declarative pipelines in jenkins.', 'duration': 31.329, 'max_score': 1802.864, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1802864.jpg'}], 'start': 1564.616, 'title': 'Setting up jenkins agents and delegating jobs', 'summary': 'Discusses setting up jenkins agents, delegating jobs to specific agents, and making subtle changes in scripting, with a focus on running agents on remote machines. it also highlights the process of delegating jobs to specific agents by specifying labels, avoiding running jobs on the master server, and making changes in scripting to enable job execution by the agent. quantifiable data includes workspace locations and agent status.', 'chapters': [{'end': 1660.641, 'start': 1564.616, 'title': 'Setting up jenkins agents', 'summary': 'Discusses setting up jenkins agents, delegating jobs to agents, and starting an agent, emphasizing the ability to run agents on remote machines and the process of starting an agent with quantifiable data on workspace locations and agent status.', 'duration': 96.025, 'highlights': ["The process of starting an agent and running it on a different machine is explained, with emphasis on the agent's offline status and the steps to bring it up. (e.g., 'Yes, he's offline.', 'So let me start this agent because agent is not running.')", "The ability to run agents on remote machines is highlighted, with the recommendation to refer to a previous Jenkins video for instructions and the mention of setting up an agent in the C colon agents folder. (e.g., 'Typically, agents can be brought up on any other remote machines other than where your primary Jenkins server is running.', 'I have the agent set up in my C colon agents.')", "The differentiation between the workspace of the primary Jenkins server and the agent's workspace is explained, with the primary server's workspace located at c colon program files 86 and the agent's workspace at C colon agent. (e.g., 'While my primary Jenkins server is running, has the workspace out here, c colon program files 86. And this is the workspace of my Jenkins.')"]}, {'end': 1740.259, 'start': 1660.741, 'title': 'Delegating job to specific agent', 'summary': "Demonstrates how to delegate a job to a specific agent by specifying the agent's label, such as 'windows node', ensuring it runs on the designated agent, thereby avoiding running on the master server, with a subtle change from 'agent any' to the specified agent label.", 'duration': 79.518, 'highlights': ["The chapter explains the process of delegating a job to a specific agent by specifying the agent's label, 'Windows Node', ensuring it runs on the designated agent, thereby avoiding running on the master server.", "The speaker emphasizes the importance of making a subtle change from 'agent any' to the specified agent label, as it ensures the job runs on the agent with the designated label, in this case, 'Windows Node'.", "The chapter mentions the configuration of the agent to pick up any job that matches the specified label, 'Windows Node', ensuring the job is delegated to the correct agent for execution."]}, {'end': 1824.57, 'start': 1740.459, 'title': 'Delegating agent scripted jobs', 'summary': 'Discusses delegating jobs to an agent by making subtle changes in the scripting, enabling the agent to run the job, including the check-out process from the repository and batch file execution.', 'duration': 84.111, 'highlights': ["The job remains the same, with the only change being the delegation of the job onto the agent, resulting in the agent running the entire job, as evidenced by the new workspace and batch files present in the agent's workspace folder.", 'The chapter emphasizes the delegation of jobs to the agent, showcasing how a subtle change in the scripting can lead to the agent running the job, thereby ensuring efficient utilization of resources and streamlining the workflow.']}], 'duration': 259.954, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1564616.jpg', 'highlights': ["The process of starting an agent and running it on a different machine is explained, with emphasis on the agent's offline status and the steps to bring it up.", 'The ability to run agents on remote machines is highlighted, with the recommendation to refer to a previous Jenkins video for instructions and the mention of setting up an agent in the C colon agents folder.', "The differentiation between the workspace of the primary Jenkins server and the agent's workspace is explained, with the primary server's workspace located at c colon program files 86 and the agent's workspace at C colon agent.", "The chapter explains the process of delegating a job to a specific agent by specifying the agent's label, 'Windows Node', ensuring it runs on the designated agent, thereby avoiding running on the master server.", "The speaker emphasizes the importance of making a subtle change from 'agent any' to the specified agent label, as it ensures the job runs on the agent with the designated label, in this case, 'Windows Node'.", "The job remains the same, with the only change being the delegation of the job onto the agent, resulting in the agent running the entire job, as evidenced by the new workspace and batch files present in the agent's workspace folder."]}, {'end': 2297.271, 'segs': [{'end': 1854.102, 'src': 'embed', 'start': 1824.57, 'weight': 0, 'content': [{'end': 1827.711, 'text': 'the pipeline job specifically, as i mentioned earlier,', 'start': 1824.57, 'duration': 3.141}, {'end': 1834.193, 'text': 'jenkins provides you two different ways of writing pipelines called the scripted and the declarative.', 'start': 1827.711, 'duration': 6.482}, {'end': 1836.754, 'text': 'the first one that was launched was the scripted pipeline.', 'start': 1834.193, 'duration': 2.561}, {'end': 1839.537, 'text': 'This is heavily based on Groovy scripting.', 'start': 1837.076, 'duration': 2.461}, {'end': 1848.7, 'text': 'Since Jenkins ships along with the Groovy engine, so this was the first script or the first support for pipeline that was provided by Jenkins in 2.0.', 'start': 1839.877, 'duration': 8.823}, {'end': 1854.102, 'text': 'This needs a little bit of a learning curve since Groovy is a wonderful script.', 'start': 1848.7, 'duration': 5.402}], 'summary': 'Jenkins offers scripted and declarative pipelines, with the scripted pipeline heavily based on groovy scripting and introduced in jenkins 2.0.', 'duration': 29.532, 'max_score': 1824.57, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1824570.jpg'}, {'end': 1900.528, 'src': 'heatmap', 'start': 1867.176, 'weight': 0.721, 'content': [{'end': 1876.931, 'text': 'node represents the agent or the actual box on which your job would be running, And then a bunch of stages are put out, which each of the stage,', 'start': 1867.176, 'duration': 9.755}, {'end': 1881.554, 'text': 'along with the steps that needs to be covered as the part of those stages listed one below the other.', 'start': 1876.931, 'duration': 4.623}, {'end': 1888.379, 'text': "So all these stages, if they're run peacefully, then the whole task is kind of marked as run successfully.", 'start': 1881.734, 'duration': 6.645}, {'end': 1892.922, 'text': 'Since understanding Groovy or learning Groovy was a little tough for many of the people.', 'start': 1888.619, 'duration': 4.303}, {'end': 1900.528, 'text': 'So this is a new one from Jenkins wherein it provides you a much simple and friendly syntax for writing pipelines.', 'start': 1893.283, 'duration': 7.245}], 'summary': 'Jenkins provides a simpler syntax for writing pipelines to run tasks successfully.', 'duration': 33.352, 'max_score': 1867.176, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1867176.jpg'}, {'end': 1946.708, 'src': 'embed', 'start': 1921.858, 'weight': 1, 'content': [{'end': 1928.783, 'text': "either of the scripts there's not really any difference in writing or kind of delivering your pipeline using either of these two methods.", 'start': 1921.858, 'duration': 6.925}, {'end': 1929.343, 'text': 'All right.', 'start': 1929.123, 'duration': 0.22}, {'end': 1932.176, 'text': 'So declarable pipeline is something like this where you have an agent.', 'start': 1929.554, 'duration': 2.622}, {'end': 1938.601, 'text': 'You can specify the agent label or if you can say agent any, it will pick up whatever is an available agent and run the job.', 'start': 1932.336, 'duration': 6.265}, {'end': 1940.703, 'text': 'And then you have something called a stages.', 'start': 1938.842, 'duration': 1.861}, {'end': 1946.708, 'text': 'Stages is nothing but a collection of stage and stage could have multiple steps defined within this.', 'start': 1941.023, 'duration': 5.685}], 'summary': 'Declarative and scripted pipelines have similar methods for writing and delivering, utilizing agents and stages for job execution.', 'duration': 24.85, 'max_score': 1921.858, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1921858.jpg'}, {'end': 2063.553, 'src': 'embed', 'start': 2025.455, 'weight': 3, 'content': [{'end': 2028.876, 'text': "And parallel is the keyword that you're going to use for running tests parallelly.", 'start': 2025.455, 'duration': 3.421}, {'end': 2034.745, 'text': "So I would say parallel stage test on Windows and I'm going to run this in my Windows node.", 'start': 2029.198, 'duration': 5.547}, {'end': 2037.629, 'text': 'Well, I could run a bunch of steps that I want out here.', 'start': 2034.886, 'duration': 2.743}, {'end': 2043.878, 'text': 'And then in the other stage or other step, what I want is I will run something else on my master.', 'start': 2037.99, 'duration': 5.888}, {'end': 2050.483, 'text': 'As long as this parallel keyword is encountered, Jenkins will ensure that these two stages are run parallelly.', 'start': 2044.218, 'duration': 6.265}, {'end': 2053.666, 'text': 'For now, I have both these things running on my same machine.', 'start': 2050.723, 'duration': 2.943}, {'end': 2061.431, 'text': 'But assuming that these were running on different boxes, you could kind of visualize it, as these two steps are going to be started parallelly,', 'start': 2053.846, 'duration': 7.585}, {'end': 2063.553, 'text': 'without really any dependency on each other.', 'start': 2061.431, 'duration': 2.122}], 'summary': "Using 'parallel' keyword in jenkins to run tests concurrently on different machines.", 'duration': 38.098, 'max_score': 2025.455, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ2025455.jpg'}, {'end': 2135.509, 'src': 'embed', 'start': 2104.524, 'weight': 4, 'content': [{'end': 2111.813, 'text': 'you will possibly want to run your selenium tests on the windows box, because selenium brings up some of those ui which needs a browser.', 'start': 2104.524, 'duration': 7.289}, {'end': 2116.378, 'text': 'you could possibly need some Regression test that could run on Linux boxes or Linux agents.', 'start': 2111.813, 'duration': 4.565}, {'end': 2123.242, 'text': 'And then you can kind of break down your tasks into multiple things, that is, running on multiple systems at the same time,', 'start': 2116.738, 'duration': 6.504}, {'end': 2125.223, 'text': 'and then collate all the results.', 'start': 2123.242, 'duration': 1.981}, {'end': 2126.403, 'text': 'Okay, one final thing.', 'start': 2125.463, 'duration': 0.94}, {'end': 2135.509, 'text': 'All. right now I have all my particular job, or rather the steps required for my pipeline, put down in terms of the scripts,', 'start': 2126.624, 'duration': 8.885}], 'summary': 'Run selenium tests on windows, run regression tests on linux, and collate results.', 'duration': 30.985, 'max_score': 2104.524, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ2104524.jpg'}, {'end': 2177.213, 'src': 'embed', 'start': 2148.814, 'weight': 6, 'content': [{'end': 2153.395, 'text': 'The most preferred approach is where you create something called as a Jenkins file.', 'start': 2148.814, 'duration': 4.581}, {'end': 2155.296, 'text': 'Jenkins file.', 'start': 2153.635, 'duration': 1.661}, {'end': 2158.637, 'text': 'And you paste all the scripts that is required for your pipeline.', 'start': 2155.656, 'duration': 2.981}, {'end': 2163.419, 'text': "Now this is, in a true sense, the DevOps approach where I'm going to save this out.", 'start': 2158.937, 'duration': 4.482}, {'end': 2166.78, 'text': 'So, if at all, you have a pipeline defined for your project,', 'start': 2163.659, 'duration': 3.121}, {'end': 2174.131, 'text': 'the best place to kind of put out your configurations for the pipeline is within your repository.', 'start': 2167.447, 'duration': 6.684}, {'end': 2177.213, 'text': 'so this may be a different project that I was referring to.', 'start': 2174.131, 'duration': 3.082}], 'summary': 'Using jenkins file to define pipeline configurations within repository for the devops approach.', 'duration': 28.399, 'max_score': 2148.814, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ2148814.jpg'}, {'end': 2279.693, 'src': 'embed', 'start': 2248.079, 'weight': 7, 'content': [{'end': 2250.741, 'text': 'it automatically picks up Jenkins file, all right.', 'start': 2248.079, 'duration': 2.662}, {'end': 2252.402, 'text': 'so let me save this.', 'start': 2250.741, 'duration': 1.661}, {'end': 2265.972, 'text': "let me build this so that's the beauty of DevOps, wherein I have a pipeline that is defined and instead of putting the pipeline as a job,", 'start': 2252.402, 'duration': 13.57}, {'end': 2268.151, 'text': 'Because pipeline is nothing but a configuration.', 'start': 2266.331, 'duration': 1.82}, {'end': 2271.752, 'text': 'The configuration is also checked into the source code repository.', 'start': 2268.371, 'duration': 3.381}, {'end': 2279.693, 'text': 'And any changes to this pipeline, instead of putting that modifications in the job, these are all captured as a part of my repository.', 'start': 2271.912, 'duration': 7.781}], 'summary': 'Devops allows automatic jenkins file picking and pipeline configuration management.', 'duration': 31.614, 'max_score': 2248.079, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ2248079.jpg'}], 'start': 1824.57, 'title': 'Jenkins pipeline best practices', 'summary': 'Covers jenkins pipeline syntaxes, scripted and declarative differences, groovy scripting, stage structure, and implications. it also explains running parallel jobs, setting up parallel stages, executing tests on different nodes, and analyzing parallel execution benefits. furthermore, it delves into implementing jenkins pipeline for devops, emphasizing the importance of jenkins file for defining and tracking pipeline changes for a true devops approach.', 'chapters': [{'end': 1961.664, 'start': 1824.57, 'title': 'Jenkins pipeline syntaxes', 'summary': 'Explains the differences between scripted and declarative pipeline syntaxes in jenkins, highlighting the use of groovy scripting, the structure of stages, and the implications of successful and failed stages.', 'duration': 137.094, 'highlights': ['Jenkins provides two ways of writing pipelines: scripted and declarative, where the scripted pipeline is based on Groovy scripting, requiring a learning curve but enabling powerful scripts once mastered. Jenkins offers two pipeline writing methods: scripted and declarative, with the former heavily based on Groovy scripting, which, although initially challenging to grasp, can lead to powerful script writing once mastered.', 'Scripted pipeline involves defining stages with associated steps, and the successful execution of all stages marks the task as run successfully. In scripted pipeline, stages with associated steps are defined, and successful execution of all stages denotes the task as run successfully.', 'Declarative pipeline provides a simpler and friendlier syntax for writing pipelines, with subtle differences from the scripted pipeline but equally capable of writing powerful scripts. Declarative pipeline offers a simpler and friendlier syntax for pipeline writing, with subtle differences from scripted pipeline but equally capable of powerful script writing.', 'Both scripted and declarative pipeline syntaxes allow for writing powerful scripts, with subtle differences in syntax but not in the capability of delivering pipelines. Both scripted and declarative pipeline syntaxes enable powerful script writing, with subtle syntax differences but equivalent pipeline delivery capabilities.']}, {'end': 2125.223, 'start': 1961.844, 'title': 'Running parallel jobs in jenkins', 'summary': 'Demonstrates how to run parallel jobs using jenkins, including setting up parallel stages, running tests in parallel on different nodes, and analyzing the benefits of parallel execution.', 'duration': 163.379, 'highlights': ["Setting up parallel stages for running jobs in Jenkins The transcript showcases setting up parallel stages for running jobs in Jenkins, demonstrating the use of the 'parallel' keyword to run tests parallelly on different nodes.", 'Running tests in parallel on different nodes The chapter explains the concept of running tests in parallel on different nodes, such as running Selenium tests on Windows boxes and Regression tests on Linux boxes simultaneously.', 'Analyzing the benefits of parallel execution The speaker discusses the benefits of parallel execution, highlighting the potential advantages of running tasks on multiple systems simultaneously and collating the results.']}, {'end': 2297.271, 'start': 2125.463, 'title': 'Implementing jenkins pipeline for devops', 'summary': 'Discusses the importance of using a jenkins file for defining a pipeline, emphasizing its role in capturing and tracking changes in the pipeline configuration, ultimately leading to a true devops approach.', 'duration': 171.808, 'highlights': ['The most preferred approach for defining a pipeline is by creating a Jenkins file and putting all the required scripts in it, ensuring a true DevOps approach.', 'Instead of putting the pipeline as a job, it is recommended to define it in a Jenkins file and store it in the source code repository to capture and track changes.', 'Using a Jenkins file for defining the pipeline configuration allows for the tracking of modifications and captures changes as part of the repository, ensuring accountability and traceability.']}], 'duration': 472.701, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-GsvomI4CCQ/pics/-GsvomI4CCQ1824570.jpg', 'highlights': ['Jenkins offers two pipeline writing methods: scripted and declarative, with the former heavily based on Groovy scripting, which, although initially challenging to grasp, can lead to powerful script writing once mastered.', 'Declarative pipeline offers a simpler and friendlier syntax for pipeline writing, with subtle differences from scripted pipeline but equally capable of powerful script writing.', 'Both scripted and declarative pipeline syntaxes enable powerful script writing, with subtle syntax differences but equivalent pipeline delivery capabilities.', "Setting up parallel stages for running jobs in Jenkins, demonstrating the use of the 'parallel' keyword to run tests parallelly on different nodes.", 'The chapter explains the concept of running tests in parallel on different nodes, such as running Selenium tests on Windows boxes and Regression tests on Linux boxes simultaneously.', 'The speaker discusses the benefits of parallel execution, highlighting the potential advantages of running tasks on multiple systems simultaneously and collating the results.', 'The most preferred approach for defining a pipeline is by creating a Jenkins file and putting all the required scripts in it, ensuring a true DevOps approach.', 'Using a Jenkins file for defining the pipeline configuration allows for the tracking of modifications and captures changes as part of the repository, ensuring accountability and traceability.']}], 'highlights': ['Jenkins file for defining pipeline configuration ensures true DevOps approach.', 'Parallel execution in Jenkins offers potential advantages of running tasks on multiple systems simultaneously.', 'Continuous Integration requires regular code check-ins by developers, with automated servers pulling and building the code for early issue detection.', 'Jenkins has plugins that connect to various tools for software development, enhancing its functionality and versatility.', "Jenkins' connectivity to diverse tools and automation capabilities emphasizes its significance in continuous integration.", "Visualizing pipeline stages and monitoring execution provides insight into the pipeline's progress and performance.", 'Declarative pipeline offers a simpler and friendlier syntax for pipeline writing, equally capable of powerful script writing.', 'Configuring job triggers in Jenkins emphasizes the importance of ensuring job triggers based on build stability.', 'Jenkins scripted pipeline offers flexible ways of defining pipelines for software delivery.', 'Jenkins is a powerful automation server suitable for running on any web server, making it versatile and widely applicable.']}