Deployment Pipeline and the file locks - visual-studio

As we are deploying to the already existing applications our files get locked.
How should we add the appofline file so the deployments can use that file and coordinate with VSTS pipeline ?
VSTS Pipeline
ERROR MESSAGE
2017-10-03T15:07:34.9492376Z Info: Updating file (xxx-xxxx-dev\xxx.xxx.Web.dll).
2017-10-03T15:07:37.8157267Z ##[error]Failed to deploy web package to App Service.
2017-10-03T15:07:37.8187261Z ##[warning]Try to deploy app service again with Rename locked files option selected.
2017-10-03T15:07:37.8187261Z ##[error]Error Code: ERROR_FILE_IN_USE
More Information: Web Deploy cannot modify the file 'xxx.xxxx.Web.dll' on the destination because it is locked by an external process. In order to allow the publish operation to succeed, you may need to either restart your application to release the lock, or use the AppOffline rule handler for .Net applications on your next publish attempt. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE.
Error count: 1.

The Task App Offline option of Azure App Service Deploy task will take the app service offline, since it doesn’t work for you, you can stop or restart azure web app through Stop-AzureRMWebApp/Restart-AzureRmWebApp powershell through Azure PowerShell task or use "Azure App Service Manage" task and then deploy package through Azure App Service Deploy task.

Related

How to handle App Settings JSON file in App Service Deployment Slots

I have to deploy Dotnet application (Target Framework is 4.7) in Azure App Service using Azure DevOps Pipeline and manually. And it has three deployment slots like Dev, QA and Staging. Is there any way to handle appsetting.json for deployment slots? (I mean if I have appsettings.development.json, appsetting.QA.json...)

Connecting to firebase admin sdk using service account key

I am using Cloud Run Continuous Deployment to watch a github repo & build the project upon a push to the production branch. Instead of specifying a Dockerfile, I am letting Google Cloud Buildpacks do all the work, since my codebase is written in Node.js.
I haven't yet been able to run a functional deployment due to the service account running into some permissions errors, but once I get past those, I am wondering how I would be able to initialize the firebase admin SDK inside the build. In my dev code, I have a service account JSON file and initialize the admin SDK using that file, but I don't know if this possible in the cloud build. If I can't upload private files to the cloud build, am I able to use the service account that creates the build to initialize the admin sdk? Is there another way to initialize the admin app in the build, such as using env variables? For reference, I am only using the admin sdk to read and write to our firestore database.

Not terminating but stopping cloud build agent

TeamCity supports creating VMs in the cloud for running builds. It can also terminate instance after it is idle for defined period of time.
Is it possible not to terminate but shutdown the instance and to start it again when needed?
If your BA is a VM on Azure then I was able to achieve this by using Azure Automation account (There is a free version).
Basically, you trigger WebHooks for 2 runbooks you import from the gallery - StartAzureV2VM & StopAzureV2VM. The gallery can be found in "Automation Account-> Runbooks -> Browse Gallery"
Then on your TeamCity server you just periodically run some powershell which monitors the build queue on Teamcity and trigger appropriate webhook (with some timeouts etc.).
Here is the script I'm using, feel free to amend it to your needs:
https://gist.github.com/milanio/b300f23883afa9c6288f9365dfb98252

Continuous Integration with VSTS

I am trying to do a PoC on how to achieve continuous integration and deployment using VSTS.
I have been successful in the build process i.e. from VSTS it will pull the code (asp.net based application) and build. The build process is also getting successful.
Now after the build is done I want to deploy the application and run my maven based selenium test cases written in java on the application. This is the part where I am struck. As in the deployment step it is not able to put the artifacts to the remote path that I am mentioning.
Can anyone please provide me some pointers on how to achieve the deployment on a remote machine and then run the java based test cases on this application?
Any pointers would be greatly appreciated.
Ok..here is the complete scenario...
1. I have the asp.net code on cloud in my vsts
2. I have been able to add a build step and create the artifacts successfully
3. Now I have a IIS server where i want to deploy these artifacts, and the server is not accessible from the public network and is behind a firewall.
Hence I am looking for any task that would help me achieve this. I am not sure of the complications that might arise due to the firewall and hence am trying out different methods to understand the complete big picture.
I received a reply here to use the Win RM tasks. I used that but it is giving a 53 error and not able to connect to the server that I am trying to deploy the code on.
To deploy asp.net based application, you can use IIS Web App Deployment step/task to deploy to your server or deploy to azure web site by using Azure App Service Deploy step/task.
To do Java test, there is a Maven step/task.

How to use archiveDir with Web Deploy 3

I am currenlty using Web Deploy 3 with Automatic Backup. Yesterday, backup failed with error message 'ERROR_PACKAGE_TOO_LARGE'.
as per MSDN
Resolution - Use the archiveDir provider when creating a package instead. Currently there is no solution for this limit with respect to automatic backups.
Now archiveDir works fine on command line
msdeploy -verb:sync -source:apphostconfig="Site" -dest:archivedir=c:\archive
I am pretty new to Web Deploy, can someone please help me to automate this with Web Deploy using VS2013? I don't want to login to server to manually back up my site and then come back to VS to publish. Is there any setting in .pubxml(Publish Profile) to achieve it?
Thanks

Resources