Jenkins Pipeline Tutorial: Declarative Pipeline vs Scripted Pipeline

Поділитися
Вставка
  • Опубліковано 11 вер 2024

КОМЕНТАРІ • 206

  • @ASHWINNS5013
    @ASHWINNS5013 4 роки тому +14

    I started watching "Cory shaffer's python" tutorials when it had 406 views. Now, after 2 years, i became a python developer and Cory became a gem of UA-cam python community. I can see another upcoming teacher in you. Really good video quality, grate explanation.
    Suggestion : If you are appearing on screen try to be bit more pleasant. :)

    • @szymonstepniak
      @szymonstepniak  4 роки тому +8

      Thank you so much, Ashwin, for an insightful comment! 👍 I do my best to apply small improvements to every new video, and I'm more than happy to get feedback from people I create those videos for - the audience. Let me know if you have any advice on what to improve or what kind of content you would appreciate most. I published this video 4 months ago, and since then, I created several more videos - please let me know if you see any improvements in the latest productions. 😉 Thanks in advance! I'm looking forward to hearing from you.

  • @gajapathikrishni954
    @gajapathikrishni954 4 роки тому +15

    Really well explained about the differences, my long lasting confusion got cleared now. It helps me a lot.Thanks to Szymon :)

    • @szymonstepniak
      @szymonstepniak  4 роки тому +2

      I'm so glad to hear that. Thanks for letting me know! Good luck and have fun!

  • @leandafer
    @leandafer 10 місяців тому +1

    Simple and accertive! I'm starting with Jenkins and haven't found an explanation that helped me like this! Thanks a lot!

    • @szymonstepniak
      @szymonstepniak  10 місяців тому

      Thank you! Take care, and have a good day!

  • @bluebobx
    @bluebobx 2 роки тому +5

    Well done Syzmon, clear and concise - and it's a subject where you absolutely, positively need to see worked examples. Really wish the Jenkins project would link to this video from their declarative/scripted pipeline part in the online docs. And yeah, you sold me on declarative! ;)

    • @bluebobx
      @bluebobx 2 роки тому +1

      Sorry, don't know why autocorrect mangled your name Szymon!

    • @szymonstepniak
      @szymonstepniak  2 роки тому +1

      Thank you so much for your kind words, Robert 🙏 I hope I will manage to do some new content around Jenkins in the near future to help the community build rock-solid CI/CD workflows. Wish me good luck :) Take care, and have a good day!

  • @TaianNB
    @TaianNB 4 роки тому +3

    High quality video and content. Clear as water!
    Congrats

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thanks, Taian! I'm glad to hear you liked it :) Have a good day!

  • @SumitKarmakar
    @SumitKarmakar 3 роки тому +1

    Like the way you started. It's casual but elegant.

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks, Sumit! Take care, and have a good day!

  • @krishna444
    @krishna444 4 роки тому +4

    If you know Groovy language, then declarative pipeline makes it powerful to implement complex tasks.

  • @ChristopherCastaneiraMadrigal
    @ChristopherCastaneiraMadrigal Рік тому +1

    Well, tbh I was hoping nothing after some time looking how to introduce myself into this Jenkinsfile world, but I found everything I didn't know I was looking for, this is one of my favorite sources to learn from… thank you very much @Szymon.

    • @szymonstepniak
      @szymonstepniak  Рік тому

      Thank you so much for your kind words, Christopher! I'm happy to hear you have found this content useful. Take care, and have a good day!

  • @shantalks007
    @shantalks007 4 роки тому +1

    Mate! u r videos are the most interesting and useful tutorials which I've ever watched from very start to very end without skipping even a second. with that background music, it's like biking explaining Jenkins to his clan :) awesome !!! very useful!!! Keep it up mate, u r explaining methods are superb

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Wow, thank you so much for the kind words, Shan! 😊 I do my best, and more Jenkins related videos coming very soon! Have a good day!

  • @samcolin26
    @samcolin26 3 роки тому +2

    Nicely done, A start with .. "Hello Stranger ... " caught my attention and background music added to user experience. Concept was nicely explained, with good, short & concise examples. All these made me subscribe to your channel. Good Job (Y)

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thank you for your kind words! You are not a stranger anymore - welcome aboard! :D Have a good day!

  • @edipocdf
    @edipocdf 2 роки тому +1

    Best explanation so far, I already know a little thing about declarative and why was better but your video have much better points.

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      Thank you for your kind words! Take care, and have a good day!

  • @lakshmipasala9091
    @lakshmipasala9091 Рік тому +1

    The way you explained is simply superb

    • @szymonstepniak
      @szymonstepniak  Рік тому

      Thank you so much for your kind words! 🙂 Take care, and have a good day!

  • @spaceman3518
    @spaceman3518 3 роки тому +2

    That was life changing! Thank you! Ps. świetnie mówisz po angielsku :)

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Dzięki wielkie za tak ciepłe słowa :) Mam nadzieję, że znajdziesz więcej wartościowych treści w pozostałych materiałach video. Udanego tygodnia!

  • @MultiShotgun1
    @MultiShotgun1 2 роки тому +1

    Love the intro string instruments music!

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      Thank you! Take care, and have a good day!

  • @vijaykumary5427
    @vijaykumary5427 3 роки тому +1

    Nice explanation... I was searching for this.

  • @szymonstepniak
    @szymonstepniak  4 роки тому +5

    ➡️ Watch next: Jenkins Pipeline: Scripted OR Declarative? 🤔 - ua-cam.com/video/Dfx_VZuJ0Ps/v-deo.html

  • @sureshchandrarhca
    @sureshchandrarhca 4 роки тому +1

    Very well explained and demonstrated

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thanks, Suresh! I'm happy to hear you liked it 👍

  • @AlexFromDnepr
    @AlexFromDnepr 2 роки тому +1

    Thank you sir. Very descriptive and useful!

    • @szymonstepniak
      @szymonstepniak  2 роки тому +1

      Thanks for your kind words! Take care, and have a good day!

  • @erickmanuelbazansalinas2406
    @erickmanuelbazansalinas2406 Рік тому +1

    Just the video I was looking for, really well explained!! Thanks a lot!!

  • @akashdhorajiya
    @akashdhorajiya 3 роки тому +1

    I am new to Jenkin but after watching your videos it looks very easy. Thanks Szymon. Channel subscribed. :)

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Welcome aboard, Akash! Take care and have a good day!

  • @venkatramesh1464
    @venkatramesh1464 4 роки тому +1

    your way of explanation is awsome bro

  • @testexample2729
    @testexample2729 4 роки тому +1

    Very informative your videos. Thanks a lot. Keep it up.

  • @shivpatil1315
    @shivpatil1315 2 роки тому +1

    Very well explained, Couldn't be any better!! I really appreciate you efforts

    • @szymonstepniak
      @szymonstepniak  2 роки тому +1

      Thank you for your kind words, Shiv! Take care, and have a good day!

  • @equbqlalam6230
    @equbqlalam6230 2 роки тому +1

    well done syzmon! Great absolutely informative and more learning experience .keep it up bro @Great help

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      Thank you for your kind words! Take care, and have a good day!

  • @maheshd9646
    @maheshd9646 3 роки тому +1

    nicely explained, it cleared all my doubt. thanks

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thank you so much for your kind words, Mahesh! Take care, and have a good day!

  • @IgnatikVodichka
    @IgnatikVodichka 2 роки тому +1

    This is a really great explanation.

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      Thanks for your kind words, Ignat! Take care, and have a good day!

  • @SagarAjmire1
    @SagarAjmire1 3 роки тому +2

    Hi @Szymon,
    Great video, because you shown the differences by doing actual hands-on. You practice what you preach, well at least in coding :-). Sorry if it's not funny. "Any idea when Jenkins introduced the Declarative pipeline?"

    • @szymonstepniak
      @szymonstepniak  3 роки тому +1

      Thanks for your kind words, Sagar! Regarding your question, here is the release page (with all dates you might be interested in) of the "Pipeline: Declarative" plugin that adds the pipeline feature to Jenkins 2.x - plugins.jenkins.io/pipeline-model-definition/#releases Take care, and have a good day!

  • @mohanakrishna3796
    @mohanakrishna3796 3 роки тому +1

    Clear and Crispy - This is really cool! Thanks for such a great content.

    • @szymonstepniak
      @szymonstepniak  3 роки тому +1

      Thanks for your kind words! I'm happy to hear you enjoyed it. Have a good day!

  • @lnwcracker
    @lnwcracker Рік тому +1

    Thank you for your teaching, Good job !!!

    • @szymonstepniak
      @szymonstepniak  Рік тому

      Thank you for your kind words! Take care, and have a good day!

  • @willnave9877
    @willnave9877 3 роки тому +1

    Great succinct explanation and demonstration.

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thank you so much your kind words, Will! Take care, and have a good day!

  • @chintalapativenkataramarahul
    @chintalapativenkataramarahul 3 роки тому +1

    Mindblowing stuff!! Thank you

  • @nwash0080110
    @nwash0080110 2 роки тому +1

    This was so helpful, thank you so much!

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      Glad it was helpful! Take care, and have a good day!

  • @DevOpsHawk
    @DevOpsHawk 3 роки тому +2

    That's explained precisely, thanks a lot for sharing Szymon. I got stuck in a use case while creating Jenkins pipeline for build upgrade on multiple remote machines over ssh, I'm hoping that you'd help me on this to solve, please let me know the convenient way to reach out to you. Thank you in advance.

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks for the kind words, Mohammad. Elaborate in the comment about your specific issue. I will see if there is anything I can help you with. Have a good day!

  • @anirbansen9463
    @anirbansen9463 4 роки тому +1

    Thanks for the video...It definitely help me to get rid from misconceptions that bothering me for last few months which type to use & when ...🙏🏻

    • @szymonstepniak
      @szymonstepniak  4 роки тому +1

      Hi Anirban, I love to hear that, thanks! Btw, is there anything else in the Jenkins Pipeline world that still bothers you and you would like to learn more about? I will be grateful if you could share your thoughts on that. Thanks in advance, have a good day!

    • @anirbansen9463
      @anirbansen9463 4 роки тому +1

      @@szymonstepniak 1. Related to plugins when,why & how to use or how much necessary.
      2. Dependable pipeline with example using tools like packer & terraform or related to similar operation.
      Thanks for the reply... maybe I asked too much ; I found video on this topics in this platform but presentation not that much good...so I'm requesting you

    • @szymonstepniak
      @szymonstepniak  4 роки тому +1

      @Anirban Sen Thanks a lot for the suggestions, Anirban! 👍 Regarding Jenkins plugins, I was thinking about recording a video with the most useful (in my opinion) plugins worth considering. It's clear that depending on the use case, people will search for different plugins, but there is a subset of generic plugins that everyone can benefit from. Regarding terraform - what specifically have you in mind? There are so many different things terraform can be used for, so I thought I will ask a follow-up question to check if we are on the same page. Thanks in advance, have a good day!

    • @anirbansen9463
      @anirbansen9463 4 роки тому

      @@szymonstepniak Thanks a lot for considering my suggestion...Incase of Terraform I'm thinking about dynamic cloud infrastructure development perspective...or something like that using some other tools not focused on infra also well enough.

  • @mohammedshahbaazshareef5549
    @mohammedshahbaazshareef5549 4 роки тому +1

    Awesome explanation

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Hi Mohammed! I'm glad to hear you liked it :) Have a good day!

  • @prasannanayak9026
    @prasannanayak9026 4 роки тому +1

    Nicely explained bro. I have searched for this for a long time. Thanks for your effort. Please make pipeline with real time scenarios with python scripting.

    • @szymonstepniak
      @szymonstepniak  3 роки тому +1

      Thank you for your kind words! I added your suggestion to my backlog. Have a good day!

  • @rainerhaseneder2480
    @rainerhaseneder2480 4 роки тому +2

    Thank you for this excellent video. I hope you will publish more.
    May I ask some questions, please ?
    1) I had always thought one has to follow Scripted Pipeline syntax in the Jenkins GUI and use Declarative Pipeline syntax in the Jenkins file. Having watched this video I understand one can use either one at probably both places. Right ?
    2) Is it so that Blue Ocean can actually only properly parse Declarative Pipeline syntax in order to propose re-launching a pipeline run at an intermediate step. Is this a correct understanding ?
    3) You say that Declarative Pipeline syntax is opinionated. In which way ? I do not understand this. Can you explain, please ?
    4) Do you see any reason why one should opt for Scripted Pipeline at all when beginning setting up a pipeline ?
    5) "Scripted Pipeline" is actually only an evolution of Pipeline description from UI to code. I just wonder why the next step is called "Declarative Pipeline". What make this new concept "declarative" ?

    • @szymonstepniak
      @szymonstepniak  4 роки тому +1

      Rainer, thank you so much for the very interesting comment! I haven't noticed that UA-cam marked it as potential spam, so I had to accept it in the UA-cam Studio panel. Lesson learned. I thought that you have removed it, but I still had it in my e-mail notification message. Anyway, I have recorded a video that answers questions you have asked. You can check it out here - ua-cam.com/video/Dfx_VZuJ0Ps/v-deo.html Thanks once again, and sorry for keeping your comment in moderation so long. I need to pay more attention to what UA-cam marks as a potential spam.

    • @rainerhaseneder2480
      @rainerhaseneder2480 4 роки тому

      @@szymonstepniak Hi Szymon, I am sorry for the late reply, I was off in the mountains. I will check asap.

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      @@rainerhaseneder2480 No need to rush :) Please let me know if the video answered your questions accurately. Take care!

  • @narekhambardzumyan9665
    @narekhambardzumyan9665 2 роки тому +1

    Szymon, I have been looking for you for more than a year)) you just made my life soo easy..!! Thanks a lot. What you advice to read to start gaining the knowledge that you have? or this is experience based?

    • @szymonstepniak
      @szymonstepniak  2 роки тому +1

      Thanks for your kind words, Narek! 👍 Most (if not all) of my Jenkins related knowledge was gained through the real-life experience when I was working at Upwork. I knew the basics of Jenkins, I knew Groovy very well, and I know the CI/CD principles. The rest was just trial-and-error while building the DevOps tools and processes for the engineers. So my advice would to do as many real-life problem solutions as possible, and while doing it, read and learn more about the technology that is related to what you are doing. There is no shortcut imho, and the more troubles you face, and the more of them you will be able to solve, the better expert in the field you become. Good luck, the journey begins!

    • @narekhambardzumyan9665
      @narekhambardzumyan9665 2 роки тому +1

      @@szymonstepniak Thanks a lot!

  • @irynadiudiuk4535
    @irynadiudiuk4535 4 роки тому +1

    Really cool video! Very informative, thank you! I will share it.

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thank you, Iryna! I'm very happy to hear you found it useful! 👍

  • @mariantudor5691
    @mariantudor5691 2 роки тому +4

    Hello! Thank you for the well explained video! Please let me know what GUI did you used in the presentation during jobs running (the webGUI with the green color were you can visualize the executions of the stages...). Thank you!

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      Thanks for your kind words, Marian! The GUI you can see in the video is provided by the Blue Ocean UI plugin. You can install it from the Jenkins Plugin Manager. Good luck, and have a good day!

    • @mariantudor5691
      @mariantudor5691 2 роки тому +1

      @@szymonstepniak Thank you again for all the precious info that you share...

  • @katotoy6755
    @katotoy6755 3 роки тому +1

    Excellent explanation..

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thank you very much for your kind words! Have a good day!

  • @grofoli
    @grofoli 3 роки тому +1

    Really nice content in this video and in the channel! Thank you very much!

  • @pradeekmohandas4234
    @pradeekmohandas4234 4 роки тому +1

    simple. direct to point. Thanks ✌🏼

  • @tanzeemahmed9774
    @tanzeemahmed9774 3 роки тому +1

    What a great explanation 👏

  • @way2science767
    @way2science767 3 роки тому +1

    Clear and nice, thanks for sharing!

  • @ZeeshanAli-vp8lh
    @ZeeshanAli-vp8lh 3 роки тому +1

    Best tutorial.. thanks man

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks for your kind words! Have a good day!

  • @vamsikrishnads1159
    @vamsikrishnads1159 2 роки тому +1

    To the point.... kudos for your effort...

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      Thanks for your kind words! Take care, and have a good day!

  • @MagnumCarta
    @MagnumCarta 4 роки тому +1

    This was a great video, Szymon! I've been looking at Jenkins as a way to further build out our bare metal deployment system at my job (which is lacking a lot of features and requires a lot of monotonous work). When I learned about declarative vs. scripted pipelines my first immediate thought was "ah ha! Let's use scripted so we can change the environment for each customer and each server/rack build". However your showcasing of problems with it and how feature-rich the declarative system have made me re-evaluate that decision if we deploy Jenkins into our ecosystem. I'll be checking out many more of your videos.
    I haven't checked your channel yet so this question might already be answered but could you do a video on incorporating Jenkins with Ansible for configuration management? Currently we use Ansible so I think it would go over well for my job if we can tether these two technologies together. I'd love to see some example cases of Ansible with Jenkins as resources on the internet seem to be a little lacking.
    Thanks!

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thank you so much for all the kind words, John! I haven't published a video about building and configuring Jenkins infrastructure on my channel yet, but it is in my backlog already. I don't know if you have heard about Jenkins Configuration as a Code - github.com/jenkinsci/configuration-as-code-plugin This is not Ansible, but it allows you to manage your Jenkins instance configuration through the code you can version in git repository. I will be doing a showcase of this approach in the near future, so stick around :-) Have a good day!

  • @gopikalapaneni
    @gopikalapaneni 3 роки тому +1

    Awesome explanation..thanks alot

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks for your kind words, Gopi! Have a good day!

  • @karthikks7445
    @karthikks7445 2 роки тому +1

    your videos are really awesome...the way you present the content is too good... I am looking for tutorial on "Jenkins Scripted Pipeline with Groovy Script" for beginners but I could not find anything on youtube. It would be great, if you publish a series on Jenkins Scripted Pipeline (using Groovy) for beginners. Thanks in advance !

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      Thanks for your kind words! I can't promise anything - I haven't used Jenkins for more than a year, and I don't know if I will have enough time to re-invest into producing Jenkins-related content. We will see what the future brings :) Take care, and have a good day!

  • @Sri-mx7zj
    @Sri-mx7zj 4 роки тому +1

    awesome..thank you so much for this video..can u pls make video on Jenkins shared libraries

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Hi there! Thanks for the comment 👍 Yes, you can expect Jenkins Shared Libraries related content in the upcoming weeks. Is there anything specific you would like to see in such a video? Thanks in advance!

    • @Sri-mx7zj
      @Sri-mx7zj 4 роки тому +1

      @@szymonstepniak I am looking for usage of share lib in multiple job.If required to override/add any additional step for specific job how can we achieve

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thanks for the detailed answer! It will be covered in the upcoming video. I have 2-3 other in the backlog to create, but then I'm working on the pipeline's video(s). Thanks again and have a good day! 👍

  • @techcode_man
    @techcode_man 2 роки тому +1

    Excellent. Thank you.

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      Thanks for your kind words, Shanmuga! Take care, and have a good day!

  • @lebba007
    @lebba007 4 роки тому +1

    Excellent explanation. Thankyou!

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thank you for the comment! I'm happy to hear you find it useful.

  • @zacsam1615
    @zacsam1615 4 роки тому +1

    Very good examples.. Thanks :)

  • @sonnix31
    @sonnix31 4 роки тому +1

    Well done!

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thanks, Sonnix! I'm glad to hear you liked it ☺️

  • @stith_pragya
    @stith_pragya 2 роки тому +2

    Excellent explaination sir......plz let me know what plugin u hv ysed for this type of ui of jenkins

    • @szymonstepniak
      @szymonstepniak  2 роки тому +1

      Thanks for your kind words! This is Blue Ocean UI plugin. Take care, and have a good day!

  • @RishavG19
    @RishavG19 4 роки тому +3

    Video is really well made... In my case, we use freestyle jobs which calls PowerShell file present in the server and internally other PowerShell is run. I want to convert that into Pipeline as code so should I use declarative or Scripted pipeline ?

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      It depends, but whatever pipeline type you chose at the beginning, you can always easily convert one pipeline syntax to another. There is a powershell pipeline step (jenkins.io/doc/pipeline/steps/workflow-durable-task-step/#powershell-powershell-script) which can be used in both, scripted and declarative pipeline.

  • @ramaraokondeti7157
    @ramaraokondeti7157 4 роки тому +2

    One of the best clear explanation I ever watched.
    I have one scenario:
    in declarative pipeline I want to print each stage output in last stage
    can you please help me here
    Thanks in advance

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Hi Ramarao! Thanks for the kind words. Regarding your question, I would start by asking the following question: why would you do that? If I understand you correctly, you would like to capture the output of every stage and print it in the last stage. Correct? If so, I don't know how it could be possible. Whenever you call e.g. "echo" step in a stage, it prints instantly to the output console. I don't know any way to prevent any step from printing to the console, capturing the output differently, and then printing it out in the last stage. If you don't mind - please explain why would you need it. Maybe I will be able to help you and suggest some doable alternative.

    • @ramaraokondeti7157
      @ramaraokondeti7157 4 роки тому +1

      @@szymonstepniak Thanks for your quick reply
      Coming to scenario my pipeline is based on nodejs application,so when we start npm installation it will create output folder and inside that it will generate the content.so here I want to confirm on each stage whether it is created or not, for that I am putting condition on every stage.
      So my requirement is I want to confirm whether the stage execution happened successfully or not and also print all stages output in last stage.
      I hope you are clear with my explanation, Please let me know if you need any other details.

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      @@ramaraokondeti7157 Send me an email please with a real example (remove any sensitive data of course.) I don't understand exactly what is the problem you are trying to solve. If you could show me an example I could tell you if I can help. You can get my email from the information tab on my channel.

  • @GoutamSikder
    @GoutamSikder 4 роки тому +1

    Thank you for this excellent video tutorial.

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thanks for the kind words, Goutam! I'm happy to hear you find it useful :)

  • @smashit002
    @smashit002 Рік тому +1

    Hello sir, I'm planning to learn Jenkins pipeline and I bumped into your videos. They're very interesting clear and helpful. However do you recommend any tutorials videos of yours that will be longer than the minimum tips and tricks?

    • @szymonstepniak
      @szymonstepniak  Рік тому +2

      Hi there! I recommend checking @techworldwithnana UA-cam channel where you can find a lot of very valuable content around DevOps topics, including tutorials on Jenkins Pipelines. Good luck, and happy learning!

    • @smashit002
      @smashit002 Рік тому

      @@szymonstepniak thank you so much !

  • @nobody_nowhere_
    @nobody_nowhere_ 4 роки тому +2

    Nothing about working with errors. In scripted we can use try-catch-finally, in declarative - post section. BUT i found nothing about 'global post'. I can write
    stage("Test") { some work}
    stage("Report") { post {always { ... } }
    But if i get error in Test stage - i has no methods for catch it in Report stage. Even if i need to send emails and slack notifys, i must duplicate post section to each stage block.

    • @szymonstepniak
      @szymonstepniak  4 роки тому +1

      You have "post" block available at both "pipeline" and "stage" level, so you can control the scope of the post action. These 4 differences are not the only differences that exist between declarative and scripted, and I'm not trying to say anywhere that this video explains all existing differences. I hope you didn't get a different impression. Thanks for the comment! 🖒

  • @jackwang1234
    @jackwang1234 4 роки тому +1

    Excellent video, helps a lot

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thanks, Jack! I'm glad to hear you've found it useful. Is there anything else in this topic you would like to learn about? Have a good day!

  • @Alberto_Cavalcante
    @Alberto_Cavalcante 4 роки тому +1

    Nice content! Thanks a lot sharing it.

    • @szymonstepniak
      @szymonstepniak  4 роки тому +1

      Thank you so much for the kind words, Alberto. I hope you find my other videos useful as well. Have a good day!

  • @way2science767
    @way2science767 3 роки тому +1

    BTW, the background music is great, seems like BGMs The Witcher 3? :)

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Yeah, it has Witcher vibe, but it's just one of the royalty free music from the HookSounds library - www.hooksounds.com/royalty-free-music/medieval-mandola/1159526/ :-)

  • @Harshithanaik2712
    @Harshithanaik2712 3 роки тому +1

    Is there any video explaining how to write unit test cases for Jenkins pipeline script and build code?

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Hi Harshitha! I've never watched any video on unit testing Jenkins pipelines, so I can't recommend any specific one. However, I mentioned unit testing pipelines in the "5 Common Jenkins Pipeline Mistakes" video (ua-cam.com/video/aFRjn_4nb-Q/v-deo.html) - you can find some information about PipelineUnitTest, JenkinsfileRunner, and Jenkins-Test-Harness (links are in the description of that video.) I will create a dedicated video on unit testing pipeline code in the near future, stay tuned! 👍 Thanks for the comment, and have a good day!

  • @MrRaja7020
    @MrRaja7020 2 роки тому +1

    Thank you Szymon, Nice explanation with examples. Could you please make a session on passing out put from groovy function to Jenkins declarative pipeline as a global environment variable. I am trying to pass ArrayList type of variable from groovy function to the Jenkins declarative pipeline, it is then converting to the String class object and getting error. Could you please suggest me, how to convert String class object to the ArrayList in global environement block of the Jenkins pipeline.

    • @szymonstepniak
      @szymonstepniak  2 роки тому +1

      I would suggest rethinking your problem and maybe trying to apply a different solution. Env variables always convert set value to its String representation, so storing more complex objects this way is not a good choice. Good luck, and have a good day!

    • @MrRaja7020
      @MrRaja7020 2 роки тому

      @@szymonstepniak Thank you. Let me know any alternate solution

  • @rossphillipgerard
    @rossphillipgerard 3 роки тому +1

    Music is really great but just a tad bit too loud in my opinion. Thanks for sharing.

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks for sharing your thoughts, Ross! Have a good day!

  • @mateenshamsi
    @mateenshamsi 3 роки тому +1

    Thanks ! its very informative

  • @too_bad
    @too_bad 3 роки тому

    Thanks for the great video. Could you explain more about navigating in directories inside workspace using pipeline, launching npm scripts etc.

  • @dham3007
    @dham3007 Рік тому +1

    Great video thanks

    • @szymonstepniak
      @szymonstepniak  Рік тому

      Glad you enjoyed it! Take care, and have a good day!

  • @mkc0321
    @mkc0321 3 роки тому +1

    great video

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks for another comment with the warm words! Take care, and have a good day!

  • @jayshah5695
    @jayshah5695 Рік тому +1

    Hi, can you do a comparitive explanation between jenkins, github actions and another popular CI tool like Travis/Circle CI/AWS Codepipeline. What are the comon concepts among all of these?

    • @szymonstepniak
      @szymonstepniak  Рік тому +1

      Hi Jay, I can't promise anything. I don't use Jenkins anymore, and if I had to create a comparison video, I would have to check what is the current state of Jenkins pipelines, which is not very likely to happen soon. Take care, and have a good day!

  • @cacheman2k
    @cacheman2k 3 роки тому +1

    Thanks!

  • @JugaadTech
    @JugaadTech Рік тому +1

    First thing I did was look for music you used

    • @szymonstepniak
      @szymonstepniak  Рік тому

      There's a link to the music I used in the bottom of the description :) Take care, and have a good day!

  • @premierde
    @premierde Рік тому +1

    Great. In my case jenkins editor is not showing up. Which config should I change to make it appear. Plugin are already installed.

    • @szymonstepniak
      @szymonstepniak  Рік тому

      I think the pipeline-workflow plugin should be enough. Don't know tough, I don't use Jenkins these days. Take care, and have a good day!

  • @jg1000c
    @jg1000c 2 роки тому +1

    your jenkins looks so different

    • @szymonstepniak
      @szymonstepniak  2 роки тому

      I use Blue Ocean UI plugin for Jenkins v2. It can be installed from the official plugin manager. You can give it a try :) Good luck!

  • @chikosan99
    @chikosan99 3 роки тому +1

    Thanks a lot! amazing !

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks for your kind words, Shai! Have a good day!

  • @rajeshsrkk
    @rajeshsrkk 4 роки тому +1

    Good one

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thanks, Rajesh! What kind of content would you enjoy to see in the future? Is there anything I could help you with? Thanks in advance!

  • @omkarkulkarni5918
    @omkarkulkarni5918 4 роки тому +1

    Thank you for this informative video.Hope to see a course complete course on Jenkins.
    I have doubt.I am trying to setup Jenkins on kubernetes. I am using declarative pipeline method for building the jobs.I am able to launch a Slave Pod to which the job is assigned.But i have doubt when a job is running on slave the work-space is created in salve pod.My doubt is if the slave is gone down.then the build data for that job is lost.I am trying to understand what is right way.Should the jobs build data should be saved at a central place or it should be saved on master.

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Your question is not related to the video. When it comes to pipeline workspaces, it's easier to accept they are not durable. Depending on what artifacts you build, you should think about publishing them to some central repository (Artifactory, NPM, Docker hub, whatever other technology you use to build.) Using master node to run builds and store workspace is never a good practice. At least this is what I can tell you based on my experience.

  • @cornercloud7527
    @cornercloud7527 3 роки тому +1

    May be a silly question but that helps me to understand more vibrantly, what is that second screen where we can get an option to Restart Test! Also I wonder where can I get that 2nd graphical screen to select each and every stage that I'm missing in Jenkins Page! Appreciated for your wonderful explanations.

    • @szymonstepniak
      @szymonstepniak  3 роки тому +2

      This UI is called Blue Ocean UI. It can be installed as a plugin on existing Jenkins instance - www.jenkins.io/doc/book/blueocean/getting-started/ Have a good day!

  • @trido3815
    @trido3815 3 роки тому +1

    Thanks.

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks for your kind words! I'm happy to hear you enjoyed it. Have a good day!

  • @chalapathyj9970
    @chalapathyj9970 4 роки тому +1

    Hi! Szymon all your videos are detailed and very helpful!! Thanks for sharing with us. Is it possible to post a video/link which shows how to setup IDE with shared library where autocompletion and clicking on the methods takes to the corresponding method etc works. Pipeline gdsl is working fine for me.. I tried few links on the internet I was not able to establish the link with shared library but it is not working. I have seen in one of your declarative pipeline as you type the syntax was getting highlighted.

    • @szymonstepniak
      @szymonstepniak  4 роки тому +1

      Hi Chalapathy! Thanks for the kind words. I don't have a working solution for getting code completion with Jenkins Shared Libraries used in the pipeline code. I will be working on a Shared Library oriented video soon and I can promise you that I will explore this area. Stay in touch!

    • @chalapathyj9970
      @chalapathyj9970 4 роки тому +1

      @@szymonstepniak Thank you so much!!

  • @kartiknaithani6426
    @kartiknaithani6426 4 роки тому +1

    I want to use a declarative pipeline but without the option to restart the stage appearing on BlueOcean UI. Can it be done?

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Hi Kartik! There is no configuration option to disable restart from stage feature in the declarative pipeline. Some users requested adding one some time ago, but it was never resolved - issues.jenkins-ci.org/browse/JENKINS-54250 Check comments in this Jira issue, some people shared alternative ways to deal with it. Maybe you will find one that works for you. Good luck and have a good day!

  • @rishnaone
    @rishnaone 4 роки тому +1

    Awesome :)

  • @Kyrogue
    @Kyrogue 4 роки тому +1

    Is it possible to have multiple expressions? or something like OR AND conditionals

    • @szymonstepniak
      @szymonstepniak  4 роки тому +1

      Yes, check "allOf" and "anyOf" blocks that allow you to nest multiple conditions. You can find examples in the documentation page - www.jenkins.io/doc/book/pipeline/syntax/#when

  • @RomaRapoport
    @RomaRapoport 2 роки тому

    anyone knows why he stopped making videos?

  • @teluguhindi1985
    @teluguhindi1985 4 роки тому +1

    May I know how to deploy the artifact to dev, qa and stage environment using declarative pipeline

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Hi, S BAVAJI! There is no one size fits all, and the question you asked is very broad. I will publish a video that covers full CI/CD pipeline based on Jenkins declarative pipeline syntax in a few weeks, I hope you will find it useful. Have a good day!

    • @teluguhindi1985
      @teluguhindi1985 4 роки тому

      @@szymonstepniak it will be very helpful if you do it thank you

  • @andredrumond379
    @andredrumond379 4 роки тому +1

    how could i watch git changes in pipeline job the same way it is very easy doing in freestyle job?

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Hi, André! I don't know if this can be done with the pipeline job. If you go to the "Changes" page in the pipeline job, it only displays git commit refs of changes that were made since the previous build, but there is no diff or detailed view. Maybe there is some Jenkins plugin that adds this feature, but I'm not aware of any.

    • @andredrumond379
      @andredrumond379 4 роки тому +1

      @@szymonstepniak got it!! thank you =) its easy to do, but you need to set correctly branches path in checkout and you can set triggers { pollSCM('* * * * *') } right below agent {}, it must be inside pipeline {} block.. and then you will be able to check git polling log and see what is being pulled from your last checkout...

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      @@andredrumond379 Wow, this sounds interesting. Thanks for sharing this tip! I definitely need to test it out :)

  • @Emil_Benny
    @Emil_Benny 3 роки тому

    Maska chaska 👍

  • @konstantinv3792
    @konstantinv3792 2 роки тому +2

    Hello stranger 😂

  • @srinathsaikumar4737
    @srinathsaikumar4737 4 роки тому +3

    came here to see jenkins video, found king arthur himself

    • @szymonstepniak
      @szymonstepniak  4 роки тому

      Thanks for the comment! I guess this medieval-like music created that vibe :) I hope you liked the video and you've learned something useful from it. Have a good day!

  • @ivankand2552
    @ivankand2552 4 роки тому +1

    Why does everyone is like: scripted vs declatative - let me tell you why you why you shoudl use declarative!
    What about scripted ? Cool options tricks ?
    Did bunch of googling and it seems the answer should be: because noone uses scripted!

    • @szymonstepniak
      @szymonstepniak  4 роки тому +1

      It looks like the scripted pipeline is still widely used. I watch the "jenkins-pipeline" tag on StackOverflow, and I see questions with scripted pipelines showing up almost every day. Also, there are still many examples (e.g., on jenkins.io website) that show some pipeline features using scripted pipeline syntax. There is nothing wrong with that, and this video was not made to tell that one is better than another, but just to show a few practical differences instead. I hope you have found something useful in this video. Cheers!

  • @nikhilnambiar6811
    @nikhilnambiar6811 2 роки тому +1

    👍👌

  • @haditube
    @haditube 2 роки тому +1

    good stuff! like + subscribe

  • @lcfsoft
    @lcfsoft 4 роки тому +3

    Why do you keep calling me stranger

  • @narasimhadevarapalli1741
    @narasimhadevarapalli1741 3 роки тому +1

    Descriptive

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks for the comment, Narashimha! Take care, and have a good day!

  • @beepea6029
    @beepea6029 3 роки тому +1

    dont know if you realize this,but the commercials are being spliced into critical points totally ruining any transmission of value -- you need to take a ginormous dump into the ads folks mouth once they start explaining the need for this -- we expect to see this crap at either the beginning or end but not in the middle of you making a point - it wrecks our understanding and makes us despise this, which i am sure is ot what you desire in the least.

    • @szymonstepniak
      @szymonstepniak  3 роки тому

      Thanks a lot for bringing that up. Ads were placed randomly, and you are right - they could affect the flow for people that are watching the video. I managed to move them to the end of the sections, so each example can be consumed without any interruption. Thanks once again, and have a good day!