Azure Data Factory CI/CD without using AzureDevOps & AzureRepo - devops

With Azure Data Factory, mostly used with Azure Repo & for CI/CD, Azure DevOps is used.
Currently I am using Azure Data Factory, where the AzureRepo not configured and Azure DevOps is not to be used as DevOps need to be build around a framework which included GitLab, Concourse-CI , Terraform and other OpenSource tools. All the JSONs are exported & available on GitLab. From there Azure Data Factory need to be created on every check-in from the ARMs/ADF-JSONs.
Let me know if anyone has came across such scenarios and is there a way to publish Azure Data Factory without using AzureDevOps & AzureRepo.

Yes there is. The JSONs being exported are standard Azure Resource Manager (ARM) templates. These templates can be deployed from outside of Azure DevOps.
Here is how to deploy ARM templates using GitHub Actions
Another option would be to use Powershell New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateFile <path-to-template>
Basically anything on how to deploy ARM templates to Azure will allow for Data Factory pipelines and infrastructure to be deployed.

Related

Deploy an Application on Server using Jenkins

I'm new to Jenkins, i've build the dotnet application in jenkins using microsft publish command now i want to move the exe of the application from local system (where jenkins is installed) to a actual server. how to do it? how can i move code from my local system to server. Can anyone please guide me.
One way is to zip the exe and manually deploy it on server i want to automate it.
I believe you're looking to:
Deploy your application to an Azure Virtual machine
And also automate the process
For #1: I would highly recommend using Visual Studio to publish your app to the Azure VM from your local machine for ad-hoc deployments, unless you have a hard dependency on using Jenkins.
For #2: There are a few ways in which you can do this. Here are some great resources to refer:
Deploy to a Windows Virtual Machine
Migrate an ASP.NET Web application to an Azure Virtual Machine
Deploy your ASP.NET app to Azure virtual machines by using Azure DevOps Starter
Here is another detailed blog that walks one through the CI/CD setup using Azure DevOps.

Implementing Azure DevOps Services with On-premise TFS Release Manager

We have Release Management for VS 2013 running for all our builds and releases on-premise. We are not ready to publish our systems to Azure Cloud yet, but would like to migrate our source-code to Azure DevOps Services in the mean time. We are also not ready to publish via Azure DevOps Pipelines to agents installed on our servers. Is it possible to have your source-code in Azure DevOps Repos, build the source using either Microsoft-hosted or self-hosted agents and then have Release Management for VS2013 release them to our environments?
I am able to do normal published via Azure DevOps Services totally to Azure Cloud, and even to on-premises with distributed agents running on servers, with test applications, but this would mean I have to recreate every build definitions, we have created, again in Azure DevOps, and also that we would bypass our Release Management server.
We would like to stick with Release Manager for now for releases, but want to migrate our source-code and work-items into Azure DevOps and build source in Azure DevOps Pipelines.
It's unlikely to work. Release Management Server 2013 only supported XAML builds. 2015 had support for JSON/visual designer builds, but the support wasn't particularly robust. I'm not even 100% sure that RM Server can communicate with a modern Azure DevOps instance. You're using a 6 year old tool that's been deprecated and unsupported for several years; you're not going to find a lot of options to keep it working properly with modern, supported tools.
There is a tool that can extract PowerShell deployment scripts from RM Server that can be used (with some degree of rework) in an Azure DevOps pipeline, but it's not a perfect solution. And I say that as the primary developer of that tool.

TFS 2015 XAML Builds migration to Azure DevOps

We migrated from TFS 2015 to Azure DevOps. The XAML builds also ported over to Azure. But we need to migrate them to Azure build pipelines as the XAML builds are still running on On premises TFS Server. We have hundreds of builds and cant manually create new pipeline for each build one at a time. Can some one help please?
XAML builds are still supported with Azure DevOps Service (with some limitations), see official response from Microsoft, in my answer here.
We're currently in the process of migrating from TFS to Azure DevOps and we're not planning on upgrading any of our legacy XAML builds (we're creating vNext builds going forward), as they were successfully migrated into Azure.
I figured out a way ( I am not done yet)..
we can call the api and export the build defs into json files
Use the Json files to port them over to the new Build defs. (Porting involves creating new builds programatically and using Azure Api .. + the data from Json files we just exported).

How to build and deploy Azure Cloud Service with multiple configurations in VSTS Release management?

We are using Team Services to maintain our web projects and Azure for hosting. At now, there are several Web Roles (asp mvc) and Worker Roles which is being hosted as Cloud Services. We are going to setup Continuous Integration and Delivery for them.
As you know, Team Services Build Definitions suggest to use Azure Cloud Service Template for building and Azure Cloud Service Deployment Task to deploy. We’ve tried it for single cloud service and it works.
In our case, there are web project (web role) and scheduler (worker role) as separate Cloud Services and they should be deployed simultaneously (in sequence), let it be DEV environment. But we have much more environments: dev, qa, ta, demo, preview, production, etc. Furthermore, each of them has slightly different web.config, ServiceDefinition.csdef and ServiceConfiguration.cscfg. And it became much more complicated task than just deploy one Cloud Service.
Questions are:
Should we build dozens of Cloud Service pachages (artifacts) and later decide which of them deploy or not? Could you suggest how to do it in a proper way? (in most cases it will be only Dev environment and we will waste time and resources for building other artifacts).
Will it be better to build one common artifact and later replace all configurations for specific environment? (It’s more complicated task because Cloud Service package zipped on several occasions with preconfigured ServiceDefinition and ServiceConfiguration)
What is the best way to replace configuration tokens (web.config, serviceconfiguration, etc) in Deployment mode, or it should be done while projects is being built?
I would be grateful if you suggest any best practices.
For azure cloud project, it’s better to apply changes to the project per to the environment before build, so you can build the project during the release process.
Regarding to deploy to corresponding environment, you can configure artifact filter with build tag.
For example:
Add a file (e.g. json, xml or txt) to project that used to determine which environments the release should deploy
Add a PowerShell task to build definition to read the data from that file (step1) and add build tag(s) through logging command (Write-Host "##vso[build.addbuildtag]build tag")
Add Publish Build Artifacts task to upload the source files
Create a release definition and link artifacts and add multiple environments
Configure Pre-deployment conditions for each environment: Enable Artifact filters=>Select artifact=>Specify build tags
Add tasks and variables (e.g. visual studio build) for each environment to deploy to corresponding environments.
On the other hand, regarding replace value, there are many ways, such as Replace Tokens, XDT Transform

Continous Integration on Azure Mobile Services?

Is there any way to enable continuous integration on azure mobile services using Team Foundation (TFS) source control?
I have seen its easily done on Azure Websites and Cloud Services but i dont see an option on mobile services.
My only option is to set up a custom server ?
You are looking for this:
and maybe you shoudl see this too:
Store project code in source control
Git Source Control Integration with Windows Azure Mobile
Services
Update: your source control can be TFS and you should have your own CI Server, and when is all ok you should use a git command to push it to Azure.

Resources