SharePoint Provider Hosted app deployment - continuous-integration

I am new to sharepoint so please bear with me! I have completed a provider hosted application that we will be hosting on premise! One of our requirements is that all apps are ran through TeamCity for build and Octopus for deployment and we use GIT for Source control. I have figured out how to get team city to build my MVC portion of the provider hosted app and got octopus to deploy it, my problem is now how to get he SharePoint part of the app to be automated like that. WHat I mean is now I have to click on publish in visual studio and have it create a .app file and I then have to give that to our operations guys who then upload it to our internal app catalog! is there a way to get TeamCity to create the .App file and then have Octopus deploy it to the Sharepoint Catalog?

Related

How do I deploy continuous azure webjob using Octopus deploy

I am trying to get an Azure App Service to recognize my Web Job - meaning to show it in the portal under "Web Jobs" in the App Service. And to also run it on the schedule defined with a TimerTrigger attribute.
It is a .NET Core 2.2 Console Application with multiple web job classes in it. The App Service it runs within is a separate project and web site. I am able to publish it from Visual Studio and it shows as it should under Web Jobs in the Web App. But if I delete it and try the publish from Octopus to the same place WITHOUT doing the VS 2017 publish first, it won't show up.
My issue is that in a new environment, the Web Job does not get created when I use Octopus to deploy the Web Job files as described here:
http://blog.amitapple.com/post/74215124623/deploy-azure-webjobs
by setting the physical path in my Octopus package deployment:
App_Data\jobs\continuous\myjob
This is the same path as when I publish from Visual Studio 2017.
Related to this question, but there seems to be a step missing since the files are in the right place, but the web job does not appear in the portal.
How to deploy azure webjob using Octopus
Is there some additional ssetup or registration step for the Web Job to run or should the App Service just recognize the web job is there when the files appear in the correct place? Restarting the app service does not help.
Since you have a web app along with a web job, I would follow the steps outlined at https://octopus.com/docs/deployment-examples/azure-deployments/deploying-a-package-to-an-azure-web-app/deploying-web-jobs. You can build your project using .nuspec to get your .npkg and push/upload the package to Octopus.
Hope that helps.

Change deployment slot for published API App in Visual Studio

I have an existing Web API project published as a 'API App' on Azure. I recently added a "staging" deployment slot that I'd like to publish future versions of the API App before Swapping over to production. However, if I try to create a new publish profile in VS 2015 (or 2017), all my Web Apps are listed except the API App - so there is no way to select the existing deployment. Put this another way, if I delete the publish profile I have no way to publish the project using the Publish wizard (unless I download the publish profile from Azure, but I still have no way to change the deployment slot - that I know of).
I can see my API App in Cloud Explorer OK.
Any ideas?
I think you should be able to go to "deployment slots" in your web app click on a staging slot and then on the right side you will have your staging blade and then ou can download publish profile that is specific to staging slot:
According to your first screenshot, we could find that there are multiple resource groups in current subscription, but you just check the API App in resource group InergySystemsMain, please make sure if the API App belongs to other resource group.
Besides, as RAS said, we could download publish profile of Azure app service from Azure portal to local, and then we could import this publish profile file in Visual Studio.

How do I deploy an existing web app project to Azure using Visual Studio but no Azure Emulator?

I have an existing project with three web apps (two web API and a front end). I would like to deploy to Azure all three with a single click of Publish using the Publish Web wizard.
I installed the Azure SDK and tried to create a new Cloud Service, but this install the VMs and the storage emulator, that I don't need at all and slows down my PC.
I tried with Azure Resource Group to add to an existing project, but the Deploy button remains disabled, like it failed to connect to the web site project.
What is the recommended way to do this?
I am using Visual Studio 2015
Thx.
You do not need to install the emulator for the deployment to work, just download the parts you need from http://www.microsoft.com/en-us/download/details.aspx?id=48178 (assuming you want SDK 2.7).
It's not really clear from your question if you want to deploy a Cloud Service or a Web App. If you want to deploy a Cloud Service, you can add all 3 projects as roles and they will all be published within a single deployment (just one click to Publish). But, if what you want is to deploy them as web apps, you will need to do it in 3 different apps, which means 3 clicks to publish.

How to Deploy On-Premises with Visual Studio Online Continuous Delivery

My team uses Visual Studio Online ("VSO") to manage our ALM.
We already have a push-button build-process in place to build code from our local Git repo (remotely) and deploy it to a Microsoft Azure Website on Azure.
In addition to this we want a local, development-testing environment built and deployed with a push of a button.
What is the best way to integrate an automated, on-premises development-testing deployment into our development pipeline from within VSO's ALM ecosystem?
[We do also own TFS 2012 -- is there a way to leverage it from VSO to drive an on-premises build deployment from our VSO git repo?]
To deploy builds on-premise, I installed an on-premise build server and used it as the default build controller in my build definition.
When installing the build server select your Visual Studio Online url to point the build server to your team project collection.
I used the instructions here
http://myalmblog.com/2014/04/configuring-on-premises-build-server-for-visual-studio-online/
(normal issues when installing a build server remember to copy over your MSbuild folder from a machine with Visual Studio already installed etc...)
I know it's been a while since the question was asked, but this guy did it with an extension to be added to your VSTS account to deploy directly to an on-premise IIS. I'm going to check this solution today but I'm pretty sure it will work.
https://blogs.msdn.microsoft.com/monub/2016/01/20/visual-studio-team-services-release-management-iis-web-deployment-vnext/
UPDATE
Better yet, MSDN released a complete doc for deploying an asp.net app on IIS
https://www.visualstudio.com/en-us/docs/release/examples/other-servers/net-to-vm

Publishing SharePoint Application Page to a remote server

I created a SharePoint Application Page. I chose Deploy as a Farm Solution and was able to make the application page work and get deployed on the local (development) SharePoint server. But apparently I cannot deploy (publish) a Farm Solution to a remote (users) server. My requirement is that I need to implement SharePoint Application Pages and deploy them to a remote server. But my problem is that if I choose Farm Solution, I can implement Application Pages but cannot publish to a remote server. But when I choose Sandbox solution I don't have the option to create application pages, the template says Application Page (Farm Solution only). What am I missing here? Why is the type of page related to the deployment target?
I am using Visual Studio 2012 and SharePoint 2013.
You likely need to package it up and deploy from the remote server using powershell: http://patrickboom.wordpress.com/2010/05/31/using-powershell-to-deploy-sharepoint-solutions-wsp-2/

Resources