VSTS Azure web deployment composer, php artisan - azure

I am using VSTS and that is where my repository with my Laravel web application is. So I am deploying automatically to Azure.
But in order for my Application to get deployed fully automatically, I need to add a Task to VSTS that can run something in the Kudu Console. How can I implement that?

Using Kudu REST API.
There is a thread about how to use Kudu REST API in build/release:
Remove files and foldes on Azure before a new deploy from VSTS

Related

Azure WebApp WebJobs with Azure DevOps Build and Release Pipeline with via .zip

I have a files in azure repro and i need to zip after that i need to
updated into azure webapp to with new webjob with
manually/continuous.
2.I have created Build Pipeline and Release Pipeline. WebJobs are not created in the azure webapp
Kindly please help on this issues if any one knows.
The processes you have taken are just publishing the demo.zip file to the default production slot in your Web App. It is not creating a WebJobs in the Web App.
I am afraid that you have misunderstanding on WebJobs of Web App. It is a feature of Azure App Service that enables you to run a program or script in the same instance as a web app, API app, or mobile app. There is no additional cost to use WebJobs.
To create a WebJob in your Web App, normally, you need to manually add the WebJob in the web UI of your Web App.

Develop on Azure DevOps and deploy to another cloud service

We have been developing an Angular application on Azure DevOps. My company wants to have the app running on another cloud service. Can anyone tell me: Can we create a pipeline that will deploy the production version of our application from build in Azure to this other cloud service? What are the pitfalls or potential obstacles? Is anyone doing it already that could speak to it from your experience? Thanks in advance.
If you want to deploy Angular application on Azure DevOps to Azure App Service via Azure Pipelines, you could follow below steps.
Create a build pipeline, add a npm task to install the npm packages required by the Angular application
use npm task to build the application and produce the assets to be published on the web server
Add a Publish Build Artifact task that generates the artifacts which will be provided later on as an input to release definition
The last step is to add a CD pipeline which will deploy the artifacts created by the build to the Azure Web App by using this Azure App Service Deploy task. See this tutorial for details.
If want to deploy to other cloud service, this doc provides the system-defined tasks, you could review it to find if there are existing available tasks. If not, you may need to develop a custom pipelines task extension or find if there are existing extensions in the Azure DevOps Marketplace.

How to Deploy a React App(code present on github) to Azure WebApp using jenkins and TerraForm

I basically want to deploy(CICD) a React App(simple create-react-app) present in GitHub to Azure Webapp using Jenkins and TerraForm. I am in search of step by step process to do this.
I can't use the Azure DevOps platform since it is restricted in the organization I work.
Here is a tutorial for Deploy to Azure App Service with Jenkins and the Azure CLI might help.
But considering your React App already present in GitHub, there is a easier choice to deploy, which is using Git Action.
Create an App Service on portal.
Navigate to Deployment Center, better to use the Preview version.
Configure the CI/CD:
Go to your GitHub and see the Action logs, which is more clear than portal:

Migrate database when deploying to Azure App Service

I'm using the ASP.NET Core & Angular startup template from ASP.NET Boilerplate with Multi-Tenancy disabled: 1 database with a single tenant(Default).
I'm also using TeamCity to build/test/publish the projects available in the startup template so I end up with 3 NuGet packages that are getting pushed to Octopus Deploy:
API (Host project, ASP.NET Core Web Application)
Migrator (Console application, capable of migrating the database(s))
UI (Angular App)
I want to deploy this setup to Azure with Octopus Deploy(self hosted, v2018.9.0) in the following way using 2 App Services(Host & UI) and 1 Azure SQL database(Host):
Take the UI and API applications offline, displaying a friendly maintenance message while updating the projects.
Migrate the database using the Migrator package
Deploy the API application package
Deploy the UI application package
Put the API application online, maybe some more tests to check that it's working correctly
Put the UI application online.
If all this was on-prem, I would have no questions. It's the Azure part that I can't figure out because I don't know how to do these things on Azure via Octopus Deploy:
Put an Azure App Service offline/online (using an app_offline.htm file)
Deploy the Migrator package to the API Azure App Service in a special folder(so that I don't overwrite the API deployment) and run the migrator: dotnet [migrator.dll] -q
I tried using the Octopus Deploy "Deploy an Azure Web App" but this step won't let me also deploy the migrator package and run it before the API package is deployed. Or does it? I don't know how.
I tried using the "Run an Azure PowerShell script" but this executes on the Octopus Deploy server and not on the Azure App Service environment right?
Maybe there are other, even better, approaches deploying this setup to Azure?
You can use App service slots to swap in/out version of your logical applications. When you swap there's a warming up that occurs and no loss of traffic.
So basically deploy to backup slot, then swap production with backup slot.
For the db I don't think your strategy is valid. There are some assumptions you are making that will not make your life easy. I would look at handling the db deployment separately with no breaking changes but that's my opinion.
I'm not familiar with Octopus or TeamCity so I won't go into details about those.

How to deploy azure webjob using Octopus

How to deploy azure webjob using Octopus deployment?
For me, octopus says it is deployed to azure but not able to see my webjob under the website.
Can anyone help how to achieve this?
There is a documentation on how to deploy a web job from octopus Azure Web Apps.
I was using Octopus Deploy 3.0 and in my case, I only wanted to deploy a webjob without a web app:
I've chosen Azure Web App Deployment Target:
And in the deployment section, specify the physical path.
For continuous job you can specify a path like that:
For triggered job you can specify a path like that:
have you try to publish your web jobs to your website using Visual Studio?
One way to verify whether your web jobs has been deployed to your website/web app is to access to the Kudu site of your website.
https://.scm.azurewebsites.net/azurejobs/#/jobs
Go to Debug Console (CMD), try to access D:\home\site\wwwroot\App_Data\jobs
and see if there is any web jobs underneath it
You can try using the nuspec to package your artifacts.
Put you web jobs under App_Data\jobs\trigger{webjob} or App_Data\jobs\continuous{webjob} based on your job type.
And then deploy using Octopus, Azure will be able to recognize it.
This might help:
http://blog.amitapple.com/post/74215124623/deploy-azure-webjobs/#.VVRSANNViko
Good luck

Resources