I have an Azure Linux VM, and a BitBucket repository.
I would like to setup continuous development between the two, however all the tutorials I could find are for Azure Web Apps, and not for Linux VM.
There is no built-in SCM integration with Virtual Machines; it's only built-in for Web Apps.
You'll need to set up / configure your own deployment scheme, to pull your deployments from BitBucket into your VM. How you do that is quite a broad and opinion-soliciting topic / discussion, and out of scope for StackOverflow.
Related
Is it a 'good idea' to use one self-hosted instance of Gitlab (let's say on Azure) and use it to deploy on multiple clouds (e.g AWS, Azure, GCP) ?
What is first coming to my mind is that it needs a private network link between the cloud providers so that the private self-hosted agents can communicate with the self-hosted Gitlab instance.
I don't find architecture examples introducing this kind of solution.
There is not necessarily any reason why you cannot deploy solutions on multiple clouds, irrespective of where your GitLab runners happen to be hosted. Your runners don't have to be hosted in the cloud to which you are deploying. You can even deploy to all clouds from GitLab.com hosted runners, for example.
I'am using AzureDevOps to build and pack my docker application.
The goal is to execute docker-compose commands in Azure VM, which is behind the firewall and can be access only thru vpn connection or standard web-browsing ports.
You can use deployment groups to achieve that. Reason this will work, because it is a one way communication (from agent to Azure Devops), so you dont really need to open ports for the VM, the VM has to only be able to reach Azure Devops endspoints (more on this).
TLDR. Using agents will work, because its an outgoing connection from the agent, not from Azure Devops to the agent.
What is the difference between publishing a website on azure and deploying it on an azure virtual machine?
Azure offers several ways to host web sites: Azure App Service, Virtual Machines, Service Fabric, and Cloud Services.
This article helps you understand the options and make the right choice for your web application.
Thank you very much for your help with the previous questions
Deploying Windows Containers (created with Docker) into Azure Container Service
Windows Container vs Docker Container and Azure Container Services/Kubernetes cluster with Linux OS
I am continuing my research and somewhat at a standstill as I try to follow the instructions of the following article that explains how to create CI/CD pipeline to deploy a multi-container application.
https://learn.microsoft.com/en-us/azure/container-service/dcos-swarm/container-service-docker-swarm-setup-ci-cd
The code sample that is referenced here is built for the Linux application, and I am not able to run it or create Docker container out of it.
Thus, I have following questions (those questions could be all over the place, my apologies for that)
When I create a .Net Core Web API on Windows 2016 server, is there any possibility for me to create an application that I could deploy to a Linux environment? (portable .NET Core Web API application)
When I would like to take advantage of CI/CD pipeline using Visual Studio Team Services, do I really need to create Azure Container Service with Docker Swarm? As far as I understand ACS is a Linux based environment whereas I would create Windows based docker containers on Windows Server 2016
Do I really need to be concerned with ACS and SSH tunnel when dealing with Windows Server 2016 based docker containers if I could easily deploy those containers to a Kubernetes cluster with Windows nodes
Is there an alternative way for me to deploy docker containers created on Windows Server 2016 using Full CI/CD pipeline to Visual Studio Team Services without using the Linux based SSH tunnel/ACS
Thank you very much for your generous input
Mikhail
1.When I create a .Net Core Web API on Windows 2016 server, is there any
possibility for me to create an application that I could deploy to a
Linux environment?
Yes, .Net core is a general purpose development platform maintained by Microsoft and the .NET community on GitHub. It is cross-platform, supporting Windows, macOS and Linux, and can be used in device, cloud, and embedded/IoT scenarios. So we can deploy .net core web api app on Linux environment.
Maybe we can refer to this link.
2.When I would like to take advantage of CI/CD pipeline using Visual
Studio Team Services, do I really need to create Azure Container
Service with Docker Swarm?
No, creating a CI/CD pipeline on Azure Container service with kubernetes and visual studio team services is available. More information about VSTS and ACS k8s, please refer to this link.
3.Do I really need to be concerned with ACS and SSH tunnel when dealing with Windows Server 2016 based docker containers if I could
easily deploy those containers to a Kubernetes cluster with Windows
nodes
If you want to use VSTS to deploy your .net core container, I think we should connect to ACS cluster.
If you want to use ACS k8s, we should add kubernetes connection:
4.Is there an alternative way for me to deploy docker containers created on Windows Server 2016 using Full CI/CD pipeline to Visual
Studio Team Services without using the Linux based SSH tunnel/ACS
Do you mean you want to use ACS, but don't want to connect Linux based SSH tunnel? If I am right, we can deploy a site-to-site VPN between your on-prem network and Azure Vnet, in this way, we can connect k8s like local.
I have a PHP application which runs on Ubuntu.
I am looking for Cloud service on Azure which has Ubuntu OS so I can deploy my application over there.
I am able to find WAMP (Windows + Apache + My SQL + PHP) Cloud service on Azure but I am looking for LAMP (Linux + Apache + My SQL + PHP).
Appreciate for Any help.
I assume you're talking about Azure Virtual Machines rather than Azure Cloud Services, which are two different compute options. You can check this article to get the details about the different compute options on Azure. Cloud Services are a Platform-as-a-Service (PaaS) concept and only run on Windows Server. Azure Virtual Machines are basically hosting of VMs and these come in both Linux and Windows Server.
You can find ready-made Ubuntu-based VM images containing the LAMP stack in the Azure Marketplace or you can check the VM Depot, which contains community-provided VM images.
Alternatively, you can prep your own Virtual Machine and save it as a VM image, which you can then use to create new VMs off of it.
Azure Cloud Services (worker and web roles) are Windows only. Virtual Machines can be Windows or Linux.
However, if you are just looking to host your web front end you could use an Azure Web App (previously named Azure Websites) which has first class support for PHP, but the underling OS is still Windows.
In addition to the answer from Nick Trough you might want to try an ARM Template, e.g. https://github.com/Azure/azure-quickstart-templates/tree/b1908e74259da56a92800cace97350af1f1fc32b/lamp-app
This allows you to deploy a simple LAMP server (like marketplace or VM Depot) but has the added benefit of providing the configuration as an ARM Template (i.e. code) so you can easily modify it.