Hi,
the things you might want to do are quite different.
If you have to modify the original Alfresco or Share war files I would suggest you to put all these modification into an AMP file.
Then use Maven along with a continuous delivery software (like Jenkins) to build your final package starting from an original war file and keep all your configurations outside these packages, putting them in the tomcat/shared and loading them at startup.
It allowed us to build only one artifact which is the same while moving from test servers to certification servers and towards production servers.
Conversely, if for upgrading you meant to change the Alfresco version you are using, you have to compare the teo versions in order to find out if something changed..
Regards,
Andrea