When deploying, this module allows you to go on Deployment Mode to prevent unintended changes from content editors.
This module allows you to prevent non-admin users from logging in to Sitecore (you can exclude specified Roles from this restriction) or you can prevent users from publishing anything until deployment is done. It is easy to use. you will only have to work with one settings item under /sitecore/System/Settings/Deployment Mode Settings.
Simple install the Sitecore package available at Sitecore Marketplace
Go to /sitecore/system/Settings/Deployment Mode Settings and enable it by checking the 'Deployment Mode On'. You will find sections below to control the users' lock out and publishing.