What is the basic difference between software release and deploy? What is the relation between software release management and continuous deployment?
Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; including testing and deploying software releases.
Depending on the context the term
release is used to reference either of:
- the version of the software being released (from a version control system prospective)
- the artifacts actually being delivered corresponding to that version (which can include physical media, printed documentation, etc)
- the process leading to making those artifacts available and, in the case where the release includes deployment - deploying them in the respective environment (which may or may not be the production one)
Continuous Deployment (together with Continuous Integration and Continuous Delivery) is the modern DevOps methodology aiming to releasing better quality software as fast as possible.
So you can see Continuous Deployment being part of the release management in some cases, but you can also see release management without it - for example in the waterfall development model.