Have you ever found yourself in the following situations:
- When you pushed your Extension changes in the Sandbox branch and wondering whether your build was deployed on Sandbox,
- Whether TeamCity picked up the right change-sets from the last build you pushed on the Sandbox branch,
- What happens when multiple team members pushed extension DLLs in the last 10 minutes and what TeamCity picked up, or
- Your changes are not showing up on Sandbox and you are wondering whether it is a TeamCity build pipeline issue or an issue with your code.
My team and I have gone through these situations numerous times and the only way for us to find out was to raise a ticket to Optimizely Support, which usually takes a longer time before we can go through fixes or speculate on what happened to our build.
Fortunately, Optimizely does provide all of this information, but it is not documented or shared anywhere.
Below are the two ways you can check your build details without raising a ticket to Optimizely:
Extension Version Lookup
Did you know that Optimizely maintains your build Extension version right in your admin console? The Extension version number increments as you push builds on Sandbox or Production.
You can see your current Extension Build Version number in the System/Admin/About section in the Debug tab, as shown below.
You can use this Extension version number to check your builds in Production as follows:
- When you deploy your build on the Production branch, you receive a build compilation email from TeamCity, as shown below.
- This email contains your future build Extension number, which will be deployed as soon as Optimizely deploys your build on Production at the scheduled time you requested with support ticket.
- Before your deployment happens, your Extension version number will usually be one less than the number you received in the email.
- When Optimizely confirms that your build has been deployed, and in case you are doubtful whether your changes were deployed correctly, just match the Extension version number you received in the email to the version number you are seeing in the Debug Tab of the About screen.
This lookup will save you unnecessary round trips with Optimizely in case the issue is not with the Build deployment, but with your code.
This is usually helpful mostly during Production deployment since you receive a compilation email from TeamCity before your actual deployment happens in Production. In Sandbox, you directly receive a successful or failure build deployment email.
The same Extension number information exists in the Build deployment as well, if you want to look up this information for Sandbox deployment.
Git Commit Details Lookup
In the same build compilation email and build deployment email for Production and Sandbox, respectively, you can see more information related to your build details, such as which change-sets were deployed.
For example, as mentioned above for situations #2 and #3, this information is critical.
In a scenario where you pushed multiple changes into your Sandbox branch, the TeamCity pipeline runs to pick up your changes and you are not sure which change-sets were picked up by TeamCity, you can look this up in the Build email you receive from Optimizely.
In the screenshot below, you can see which commit ID the TeamCity pipeline picked when it deployed the build on the Sandbox instance.
Match this commit hash ID with your Sandbox branch commit history and check if that ID is your last ID. If it matches, then all of your latest changes were deployed to the Sandbox branch.
If it doesn’t match, then ideally the TeamCity pipeline should run one more job to pick up whatever is the latest available in the Sandbox branch.
Conclusion
You can obtain all of this information by working with Optimizely Support through tickets but using this monitoring in daily deployments can save both our and support time.
Practical information which helps teams clarify the build process. Thanks for sharing Vaibhao.