Recommendations
Below are recommendations that administrators should read before making any deployments.
Use of Packages for Deployment
For the purpose of simplifying deployment, it is always recommended to use packages for deployment. This simplifies deployment since only one file needs to be sent to the team responsible for deployment, regardless of how many components or modules will be deployed.
Testing in Staging
It is suggested that a deployment intended for production be tested in staging beforehand and evaluated to see if the result of the deployment was as expected.
Backup
As with any deployment, it is recommended to create a complete backup of the application before starting a deployment.
Environment Isolation
Since a deployment operation is possibly a delicate and potentially destructive action, depending on the deployment package, it is recommended to isolate the environment so that only the machine or a small network from which the deployment will be made has access to it during the deployment process. Depending on existing projects to be deployed, some other isolations may be desirable, such as disabling portal observers, for example.
Analyze Logs Generated During Deployment
The logs of the portal and application server should be monitored during and after the deployment to identify possible deployment failures.
Environment Health Check
A health checklist of the environment should be performed before the deployment to ensure that all resources required for the deployment, such as disk space, network availability, etc., are available during the deployment.
Presence or Monitoring of Necessary Personnel for Deployment
If the deployment requires that people with certain profiles or permissions perform any tasks during the deployment, that person should monitor the deployment process. For example, a deployment may require a change in the database that the user used by the portal does not have permission to execute. In this case, a DBA should be present (or available in another infrastructure) so they can execute such changes when necessary.
Sanity Test After Deployment
A sanity test should be performed after the deployment to validate that the environment is as it should be and that the deployment was successful.