automation deployment of liferay instances using puppet
I work as a junior devops engineer in my company. -> We have a application that completely runs on liferay and its a very common application for all our schools. ->whenever liferay new release comes into the market, we try to install the whole bundle on our DEV, then modified accordingly and use that tar to deploy on QA/UAT/PROD, but we again change few things like ports, schemas in the conf files in tomcat folders as per environment. So, we are really facing difficulty with this as we do this whole stuff manually. So, i want help in 2 things a)i want to do the deployments fast, easy and accurate no matter what tool i use. b)if a new release of liferay come to the market, the upgrade deployment or creating the environment should be fast,easy and accurate no matter what tool we use.
stack: puppet: our sysops team uses puppet foreman to manage and monitor our unix servers and they use to check DNS/AD stuff like that. is there anyway i can use puppet to solve my problem? if yes how? docker: we don't use docker but docker has plugins for puppet i suppose so anyway we can use docker and puppet to solve our problem?