Declarative Vs Procedural

Kindly elaborate more on  the difference between the declarative and Procedural Configuration management tool
  • post-author-pic
    Ali M
    11-12-2018

    Hi Mohammad,


    Just explaining on a high level, declarative configuration means desired state configuration. Let's say that you want a particular service to be started, in the scope of declarative configuration - no change or process would occur if that service is already in a started state. However, if that service is stopped, a declarative state configuration tool will start that for you.

    Procedural Configuration, on the contrary, will perform an action regardless of it's current state.

    You can find more information here if you like : 

    https://www.upguard.com/blog/articles/declarative-vs.-imperative-models-for-configuration-management

  • post-author-pic
    Will B
    11-12-2018

    Declarative is just a different way of expressing what you want the pipeline to do. Declarative provides a way to tell the pipeline what you want without worrying about how Jenkins will do it, whereas procedural is more about writing code to tell Jenkins how to do something.


    Some consider declarative formats to be more modern than procedural. In Jenkins, you mostly have to choose one or the other, but ultimately you can do the same things either way, just with different syntax.

Looking For Team Training?

Learn More