![]() Maarten Balliauw has written a great introductory post on creating MetaRunners and I would strongly recommend you read that post to give you a good grounding in what they are and what they are capable of. This integration could be delivered via a customized build script, but a more user friendly and reusable approach is using one of TeamCity’s best kept secrets: tool-based MetaRunners. deployment: The environment for this deployment.deployment: The name of the user/process that triggered this deployment.deployment: A revision number (e.g., git commit SHA).deployment: Text annotation for the deployment– notes for you.deployment or deployment: A list of changes for this deployment.deployment: The application id, found in the URL when viewing the application in RPM.deployment: The value of app_name in the newrelic.yml file used by the application OR.The API has the following options, which you should apply via the –d option of Curl:Įxactly one of the following is required: The NewRelic Deployment APIįortunately NewRelic have enabled deployment notification integration via a simple ReST API which you can push data to via the following command with Curl:Ĭurl -H "x-api-key:REPLACE_WITH_YOUR_API_KEY" -d "deployment=REPLACE_WITH_YOUR_APP_NAME" Once NewRelic is notified a deployment has happened, new diagnostic features are enabled to help analyse deployment related performance changes. This guide describes how to take a pre-existing tool, wrap it in a tool-based MetaRunner with a custom user interface, which can be used by TeamCity to notify NewRelic that a deployment has occurred: By default the charts are unadorned by deployment information and the deployment event stream is empty: NewRelic has a concept of a deployment as an application event, but requires this to be raised by a 3rd party. It’s an invaluable tool gaining application telemetry if you deploy into a cloud environment, where you don’t really have access to the operating system. We have used NewRelic on a number of our Microsoft Azure projects, from the development environment, through test and UAT and production. One of the main concerns of operational monitoring is checking to see that a change to any production system doesn’t negatively impact performance or reliability, and the most likely time this will happen is when a deployment has occurred.įor those of you who are unfamiliar with NewRelic, it’s a cloud based application monitoring platform that allows you to keep tabs on the CPU & memory utilisation, number of web transactions, unhandled errors and user-definable transactions within your application. We’re not notifying NewRelic that a new deployment has occurred. In the previous diagram there is one important feedback loop missing: Integration and extensibility points become key luckily TeamCity and YouTrack have plenty of both. It is very rare to find a “one size fits all” solution for this type of process automation, but a more pragmatic approach of picking the “best of breed” tooling in each area and stitching them together into a cohesive solution can yield great results. Earlier in the year I wrote a whitepaper for JetBrains, “ From Chaos, through Fear, to Confidence” which describes how endjin helped one of our customers regain their confidence in their development process through the introduction of engineering practices, automated processes and feedback loops that have become the main tenets of the DevOps movement: Your feedback is welcome in the comments section.Īs systems grow in size and complexity, without rigorous Application Lifecycle Management processes in place, organisations risk degrading into a state of chaos and fear. This guest blog post is brought to you by Howard van Rooijen of endjin, a JetBrains Training and Consulting Partner.
0 Comments
Leave a Reply. |