Deploy to Azure marks (Release Annotation) from desktop - visual-studio

Is there any way to look for deployment event from Visual Studio in Azure? I would like to see when we deployed.
Previously, we had that option in Application Insight, now that they removed that feature I don't know where to look.

I would've expected to find that information, i.e., deployment/publish history in Azure Activity Logs or Deployments under the corresponding Resource group, but couldn't, and began digging further.
AFAIK, there isn't a straightforward way of tracking manual deployments on Azure. However, I can think of two workarounds:
Using VS Code: When a deployment is manually performed using VS Code using the Azure App Service extension, it becomes easier to track the deployment history and also see the current/active version, along with various other configuration options and logs. For example:
Using the KUDU console: Browse to the deployments page within the Kudu console for your app service (would be of the form: https://{app-name}.scm.azurewebsites.net/api/deployments), and you should see the history in JSON format. For example:
Note: I'd strongly advise using the same mode of deployment always, for maintaining consistency, and also building a CI/CD Pipeline for streamlining your deployments if this is not a test environment or a PoC.
Hope this helps!

Related

SSRS - Deploying a Reporting Services Report to Multiple Servers at Once

I have a Visual Studio Project with some reports I created. Each report has its own DataSource, with a defined user and password and a embedded connection, and I use this expression for the string connection that works perfectly:
="Data Source="+Parameters!server.Value+ ";Initial Catalog="+Parameters!database.Value
When I want to deploy a single report to a specified server , I have to change the TargetServerURL everytime, in the property pages of the project:
This works perfectly when I deploy a report in the server I want. The problem comes when I want to deploy the same report in many servers, for different reasons (a new report is created, changes in a report, etc) because I have to do the same process many times (change TargetServerURL, then to deploy). Is there a way to deploy one single report in multiple servers at the same time?
I already checked this link:
How to deploy many reports to many SSRS Servers
I tried the point with the manually script, but the problem is that the whole project is deployed and DataSource properties in each report lost his value, so doesn't work for me.
EDIT
The script I've tried is in this link:
https://github.com/Microsoft/sql-server-samples/blob/master/samples/features/reporting-services/ssrs-migration-rss/ssrs_migration.rss
But as can seen in the LIMITATIONS part, the data sources with stored credentials must be re-entered. Also this deploy the entire project, and not an specified report.
You can use a configuration manager on top right to set up various environments. It just won't be one click in all servers. You will still need to go and choose the environments you wish to deploy to.
The modern tool for this sort of task is Azure DevOps. There is a leading extension in the marketplace for this which should get you started. It is quite well supported by the developer and a few other contributors, and is all open-source. The heart of it is a PowerShell script that integrates DevOps and SSRS deployment:
https://marketplace.visualstudio.com/items?itemName=mmajcica.deploy-ssrs
Here's the github repo with source code, more doco and an active issues register:
https://github.com/mmajcica/DeploySsrs

TFS Team Build - Testing to Production

I have scoured the internet to find out what I can on this, but have come away short. I need to know two things.
Firstly, is there a best practice for how TFS & Team Build should be used in a Development > Test > Production environment? I currently have my local VS get the latest files. Then I work on them & check them in. This creates a build that then pushes the published files into a location on the test server which IIS references. This creates my test environment. I wonder then what is the best practice for deploying this to a Live environment once testing is complete?
Secondly, off the back of the previous - my web application is connected to a database. So, the test version will point to a test database. But when this is then tested and put live, I will need that process to also make sure that any data connections are changed to the live database.
I am pretty much doing all this from scratch and am learning as I go along.
I'd suggest you to look at Microsoft Release Management since it's the tool that can help you to do exactly the things you mentioned. It can also be integrated with TFS.
In general, release management is:
the process of managing, planning, scheduling and controlling a
software build through different stages and environments; including
testing and deploying software releases.
Specifically, the tool that Microsoft offers would enable you to automate the release process, from development to production, keeping track of what and how everything is done when a particular stage is reached.
There's an MSDN article, Automate deployments with Release Management, that gives a good overview:
Basically, for each release path, you can define your own stages, each one made of a workflow (the so-called deployment sequence) containing the activities you want to perform using pre-defined machines from a pool.
It's possible to insert manual interventions/approvals if necessary, and the whole thing can be triggered automatically once your build is done.
Since you are pretty much in control of the actions performed on each machine in each stage (through the use of built-in or custom actions/components) it is also certainly possible to change configuration files, for example to test different scenarios, etc..
Another image to give you and idea of how it can be done:

AppOffline rule issue w/ Continuous Integration/Build

I've connected Visual Studio Team Services to an Azure Website to enable automatic deployments. New Relic is running as a system process and therefore NewRelic.Agent.Core.dll is locked which prevents successful builds from being deployed.
I've tried adding a wpp.targets file to the solution in order to utilize MSDeploy to copy an app_offline document to the site before deployment, then delete it when deployment is done like seen here. However, it doesn't seem as if it is executing. I don't see anything in the build logs and my deployments continue to fail.
How do I take the app offline when using the VS Team Services/Azure CI process?
I came across this old post and there are now build tasks to start and stop an app service. See the Azure App Service Manage under the deployment tasks in the build task catalog.
Slightly different to what you are asking but what you could do is to login to your Azure website and set COR_ENABLE_PROFILING to 0 before your build runs. You then deploy as normal. Once done you set COR_ENABLE_PROFILING back to 1.
The act of changing the setting will cause an IIS reset and setting it to zero will disable the file from being locked again before the publish finishes.
Source: https://discuss.newrelic.com/t/visual-studio-online-azure-website-continuous-integration-fails/3825

Rebuild IBM Portal embedded Derby database without a full reinstall

After exhausting all conceivable options over a matter of weeks, and after the drudgery of the back and forth with subpar IBM support, I have come to the conclusion that the only explanation for why my specific development environment fails to run a custom theme where other environments have no problems must have something to do with bad data in configurations contained in the embedded Derby database that comes packaged in the WebSphere Portal profile.
Google gives me no insights into the error I am running into, and I have confirmed the correctness of every single configuration file that even has the slightest chance of impacting the use of the Portal within a simple page. Any and all types of caching or logs have been disabled and purged and tracing reveals no additional information that is helpful to diagnosing the problem.
Are there any scripts within the installation of Portal that can be run to wipe and rebuild the embedded database? If not is the only option to scorch earth? The schema and data are cryptic to me, but if it is possible to diagnose the database for specific problems are there any tools that can do that or do I need detailed architectural knowledge to have any hope of finding bad data in this software?
I finally discovered what the problem is and it does indeed have nothing to do with a corrupt database, but in actuality is an inherent conflict with packaged WAR files having Subversion metadata information on the WAS Portal platform.
When running any WAR or EAR file in WAS or any WAS based product, make sure to exclude all Subversion metadata files and folders from the build. It apparently brings WAS and Portal to its knees.

HowTo create a Setup Project for AppFabric / workflow based applications

i am interested in creating a setup tool for our business application which is based on a Windows Service and some WF4 workflows, currently hosted in IIS/AppFabric.
As long as i want to provide the best possible installing experience to our customers, I want to include IIS and Appfabric Setup Prerequirements as well as a WindowsService application into one Application-Setup Project.
Is there a proper way of doing this? Can someone give me some Links and/or Tips?
best regards,
Chris
The standard approach is to build a Deployment Package and import that into IIS. Is uses Web Deploy, see http://go.microsoft.com/?linkid=9278654 for more details.
For client deployment using a setup project, I've been a fan of using WIX and an automated build script (MSBuild or Nant) in the past. It allows me the flexibility to script the build of the setup.exe, allowing me to make the changes I need (connection strings) in advance of deploying; leaving the entire process (regardless of environment [dev, prod, QC]) scriptable and automated.
For deploying the workflow components, its as simple as xcopy deployment which, like the above, is easily scriptable and automatable.

Resources