Devops: Jenkins Pipeline As Code: All you need to know A - Z

Accelerated Skillup

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
100 Lessons (7h 18m)
    • 1. Introduction

      1:20
    • 2. Overview of pipeline syntax

      1:29
    • 3. Helloworld pipeline script

      1:31
    • 4. Declarative: Pipeline > Agent

      3:59
    • 5. Declarative: Pipeline > Stage > Steps > Script

      2:11
    • 6. Declarative: Pipeline > Stage > Steps > Retry/Timeouts

      4:53
    • 7. Declarative: Pipeline > Tools

      3:23
    • 8. Declarative: Pipeline > Stage > Options > Error/Retry

      3:20
    • 9. Declarative: Pipeline > Stage > Options > Timeout

      1:27
    • 10. Declarative: Pipeline > Stage > Options > Timestamps

      2:32
    • 11. Declarative: Pipeline > Stage >Options > Timestamps (alternative method)

      2:33
    • 12. Declarative: Pipeline > Stage > Options > SkipDefaultCheckout

      13:17
    • 13. Declarative: Pipeline > Stage > Environment Credentials

      8:38
    • 14. Declarative: Pipeline > Stage > When (Part 1)

      12:54
    • 15. Declarative: Pipeline > Stage > When (Part 2) > Branch

      3:02
    • 16. Declarative: Pipeline > Stage > When (Part 2) > BuildingTag and Tag

      12:34
    • 17. Declarative: Pipeline > Stage > When (Part 2) > Changelog

      4:25
    • 18. Declarative: Pipeline > Stage > When (Part 2) > ChangeRequest

      11:35
    • 19. Declarative: Pipeline > Stage > When (Part 2) > Changeset

      5:37
    • 20. Declarative: Pipeline > Stage > When (Part 3) > BeforeAgent

      2:49
    • 21. Declarative: Pipeline > Stage > Parallel/FailFast

      3:59
    • 22. Declarative: Pipeline > Stage > Input

      8:20
    • 23. Declarative: Pipeline > Stage > Post

      12:26
    • 24. Declarative: Pipeline > Options > BuildDiscarder

      3:07
    • 25. Declarative: Pipeline > Options > DisableConcurrentBuilds

      2:00
    • 26. Declarative: Pipeline > Options > OverrideIndexTriggers

      7:09
    • 27. Declarative: Pipeline > Options > SkipStagesAfterUnstable

      2:55
    • 28. Declarative: Pipeline > Options > CheckoutToSubdirectory

      2:17
    • 29. Declarative: Pipeline > Options > NewContainerPerStage

      3:10
    • 30. Declarative: Pipeline > Parameters

      3:11
    • 31. Declarative: Pipeline > Pipeline Triggers > Cron

      6:00
    • 32. Declarative: Pipeline > Pipeline Triggers > PollSCM

      4:32
    • 33. Declarative: Pipeline > Pipeline Triggers > Upstream

      4:57
    • 34. Declarative: Pipeline > Agent > Docker > Image

      2:27
    • 35. Declarative: Pipeline > Agent > Docker > Args

      1:36
    • 36. Declarative: Pipeline > Agent > Docker > AlwaysPull

      1:59
    • 37. Declarative: Pipeline > Agent > Docker > CustomWorkspace

      1:36
    • 38. Declarative: Pipeline > Agent > Docker > RegistryUrl/CredentialsId

      6:24
    • 39. Declarative: Pipeline > Agent > Docker > Label

      2:05
    • 40. Declarative: Pipeline > Agent > Docker > ReuseNode

      3:30
    • 41. Declarative: Pipeline > Agent > Dockerfile

      2:53
    • 42. Declarative: Pipeline > Agent > Dockerfile > Dir

      2:40
    • 43. Declarative: Pipeline > Agent > Dockerfile > Filename

      2:18
    • 44. Declarative: Pipeline > Agent > Dockerfile > AdditionalBuildArgs

      2:25
    • 45. Declarative: Pipeline > Agent > Dockerfile > CustomWorkspace

      2:48
    • 46. Declarative: Groovy Script Outside of Declarative Pipeline Script

      1:19
    • 47. Declarative: Global Libraries

      8:57
    • 48. Declarative: Importing Libraries

      1:48
    • 49. Declarative: Importing Class Libraries

      3:06
    • 50. Declarative: Importing Static Libraries

      2:47
    • 51. Declarative: Custom Steps

      2:51
    • 52. Declarative: Closures

      2:02
    • 53. Declarative: Importing Third Party Libraries

      1:44
    • 54. Declarative: Loading Resources

      1:31
    • 55. Declarative: Defining Pipeline Script In Call Method

      2:27
    • 56. Scripted: Introduction

      6:08
    • 57. Scripted: Docker > Image

      1:42
    • 58. Scripted: Docker > Args

      1:29
    • 59. Scripted: Docker > AlwaysPull

      2:13
    • 60. Scripted: Docker > CustomWorkspace

      2:03
    • 61. Scripted: Docker > RegistryUrl/CredentialsId

      1:50
    • 62. Scripted: Dockerfile

      2:13
    • 63. Scripted: Dockerfile > Dir

      2:09
    • 64. Scripted: Dockerfile > Filename

      2:21
    • 65. Scripted: Dockerfile > AdditionalBuildArgs

      2:33
    • 66. Scripted: Dockerfile > CustomWorkspace

      2:26
    • 67. Scripted: Stage > Options > Error/Retry

      2:43
    • 68. Scripted: Stage > Options > Timeout

      2:40
    • 69. Scripted: Stage > Options > Timestamps

      1:42
    • 70. Scripted: Stage > Environment Credentials

      3:58
    • 71. Scripted: Stage > When (Part 1)

      1:55
    • 72. Scripted: Stage > When (Part 2) > Branch

      2:26
    • 73. Scripted: Stage > When (Part 2) > BuildingTag and Tag

      3:00
    • 74. Scripted: Stage > When (Part 2) > Changelog

      5:02
    • 75. Scripted: Stage > When (Part 2) > ChangeRequest

      4:48
    • 76. Scripted: Stage > When (Part 2) > ChangeSet

      4:39
    • 77. Scripted: Stage > Parallel/FailFast

      2:24
    • 78. Scripted: Stage > Input

      2:45
    • 79. Scripted: Stage > Post

      5:07
    • 80. Scripted: Options > BuildDiscarder

      1:30
    • 81. Scripted: Options > DisableConcurrentBuilds

      2:06
    • 82. Scripted: Options > OverrideIndexTriggers

      5:45
    • 83. Scripted: Options > SkipStagesAfterUnstable

      1:38
    • 84. Scripted: Options > CheckoutToSubdirectory

      1:46
    • 85. Scripted: Options > NewContainerPerStage

      1:47
    • 86. Scripted: Parameters

      2:17
    • 87. Scripted: Tools

      2:26
    • 88. Scripted: Triggers > Cron

      1:30
    • 89. Scripted: Triggers > PollSCM

      3:37
    • 90. Scripted: Triggers > Upstream

      5:08
    • 91. Congratulations!

      0:39
    • 92. Bonus Lecture: How To Get Output Of Shell Script

      4:12
    • 93. Bonus Lecture: How To Create Env Variables For Shell Script

      5:27
    • 94. Bonus Lecture: Pipeline Maven Integration (Part 1)

      13:11
    • 95. Bonus Lecture: Pipeline Maven Integration (Part 2)

      12:17
    • 96. Bonus Lecture: Pipeline Maven Integration with Jacoco

      18:09
    • 97. Bonus Lecture: Pipeline Maven Integration with SonarQube

      12:37
    • 98. Bonus Lecture: Triggering and Passing Parameters Between Jobs

      15:17
    • 99. Bonus Lecture: Lockable Resources

      19:05
    • 100. Bonus Lecture: Extended Choice Parameter

      8:26

About This Class

Are you looking to use Jenkins pipeline as code FAST

"With Pipelines, organisations can define their delivery pipeline through a DSL (Pipeline-as-code). Pipelines, thus, can be versioned, checked into source and easily shared within an organisation. "


"The Pipeline DSL helps you capture complex process requirements through code - thus you can try-catch on deployment failures, loop through deployments, run tests in parallel. It brings the power of a programming language (groovy) to do so. At the same time, the DSL is simple enough to capture simple cases easily without having to touch groovy code. You can capture common patterns in functions and keep them in a global library so that new applications can build on these functions rather than re-invent.  "

Source: Cloudbees - Jenkins Pipeline - Software Delivery Made Easy


Jenkins Pipeline as Code allows you to define and automate pipelined job processes with code. Code that can be stored and versioned in a repository which allows you to track changes over time and used by jenkins to run build jobs. If you are already using Jenkins, you should have already heard of pipeline as code but if you have not, this course will help you learn what it is, and also help you to get started quickly with it to make your life as a devops practitioner much easier. This course will help you understand and use both declarative and scripted pipeline scripts and how to use shared libraries for common code across build jobs with realtime demonstrations of the pipeline scripts. Please also note that this is NOT a how to set up Jenkins course.