Publish azure website from OSX command line? - node.js

Is it possible to use OSX to publish website changes via the command line (not through the git method)?
If not, then how would a UNIX based build server do continuous integration deployments for azure websites?

Yes, I believe you can still do this even if you're avoiding git (why?), because you can use FTP.

I think you need the 'Windows Azure command-line tools for Mac and Linux'
"This tool provides functionality for creating, deploying, and managing virtual machines and websites from Mac and Linux desktops. This functionality is similar to that provided by the Windows PowerShell cmdlets that are installed with the Windows Azure SDKs for .NET, Node.JS, and PHP."

Related

Linux flavor and version on my Azure WebApp for linux

I am trying to host my .Net core MVC 2.1 linux application in azure WebApp. How do i know the Linux flavour, O/S, version running on WebApp? I am selecting 'West US' as region.
I think this is needed while i build my code on my development machine:
How to compile .NET Core app for Linux on a windows machine
My dev machine is ubuntu and Production server is CentOS
You can get system info from the Kudu environment. Kudu is the central nervous system of a Microsoft Azure Web Site; it handles the Git integration to a Web Site as well as provides an API endpoint for programmatic access to app settings, deployment information, files, active processes, runtime versions, source control information, web hooks and web jobs.
To get to Kudo, navigate to https://<webappname>.scm.azurewebsites.net, from there you can click on Environment to get something like this:
System info
System up time: 4.10:36:14.7190000
OS version: Unix 4.4.0.128
64 bit system: True
64 bit process: True
When you use Web App in Azure, you need to create the Service Plan first, it will need to decide the system type: Linux or Windows. And then when you create the web app, there is also a chance to choose a runtime for your web app in your Linux service plan(in your case, Linux is you need).
Azure provides some Built-in images as the runtime. See Build-in Runtime. If the runtime your application requires is not supported in the built-in images, you also can build your own Docker image as you need for your application. See Use a custom Docker image for Web App.
So you do not need to know what the OS is, you can just create the choose the OS you need. If you really really want to know the OS version, you can create an SSh session to your web app and run shell commands to check what the OS version is. See SSH support for Azure App Service on Linux.

Azure VMSS Deploy wpf

I am trying to better understand azure virtual machine scale sets and how my company can use it. Currently we run a custom software (wpf program) that will need to be deployed and updated on all VMs.
Is a extension where I setup the deploy of the wpf?
Can I pull the files from a git repo to deploy?
How do I config this?
Not directly. there is a custom script extension and azure powershell dsc extension (and several others, like chef) which allow you to do pretty much anything, but nothing built-in
No, you cannot do that natively, you can use those extensions to do whatever you like. Or, better, you can use ci\cd systems (like Azure Devops) to do that. You need to install agent on the vm (in most cases) and then use that ci\cd system to deploy to vmss instances.
Another alternative - using images, that is a native way, but you need to prebuild images (packer, questionmark).

Azure CosmosDB on Linux

is there a way I can run a CosmosDB emulator on a Linux machine? I need to setup a development environment for Azure Functions projects. There is a solution for storage (Azurite), I wonder I can find the same for CosmosDB.
(Running a virtual machine is not an option for this case)
The short answer: Today you need a Windows VM to run the Emulator on Linux or any non-Windows platform. We publish a docker image which runs in Windows containers and they aren’t supported on Linux. We’re actively looking at the possibility of a port but that work is at an early stage.

Can I use a windows image as a guest OS for Azure WebRole?

I have this situation where I need to install and configure various things in the OS. I know that I can use VMs for this, but I need the code deployment functionality and wonder if there is a way to have a custom OS image and also be able to do code deployments using visual studio publish.
Custom OS images is not option for Web/Worker roles (i.e. True PaaS Cloud Services). However you add OS customizations via a Startup Task. I can hardly think of anything that is not possible via a startup task.

Hosting existing node.js apps on Windows Azure

Is it possible to port existing node.js applications to Windows Azure platform? I currently develop on my Mac but will need to deploy the application to Windows Azure in a near future.
You may also want to check a video on Channle 9.
node.js on Azure : http://channel9.msdn.com/Events/Patterns-Practices-Symposium-Online/Patterns-Practices-Symposium-Online-2012/node-js-on-Azure
Yes it is very much possible. You may also need to consider to make changes to use Azure Blob storage where your node.js code is using local file system (if required). The deployment is very similar to any other Windows Azure App and one you have Azure SDK for node.js you can use powershell cmdlets to make your job easy.
Download Node.js SDK for Azure
https://www.windowsazure.com/en-us/develop/nodejs/
Here you can learn the basics to deploy node.js app to Azure:
https://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/
Porting node.js apps to Azure is possible but not yet a yes/no answer.
You can run your Node apps in Azure but you need to look at the modules you're using to make sure you aren't depending on a tool or command or other facility that isn't yet available on Azure. For example, are you using a database like redis or couchDB or mysql? These don't exist natively in Azure so you may or may not be able to port that layer -- you'll have to check.
Since you're on a Mac, there isn't yet a native OS X deployment tool. Microsoft and the Cloud9 folks have been showing a way for Macs to deploy from the Cloud9 IDE which works but the Mac story will most assuredly improve over time. I work on a Mac but I keep a Windows VM open (Parallels) and if I deploy from the desktop I've been using the Powershell cmdlets in the Windows Azure SDK for Node.js which makes things fairly turnkey from Windows.
You will want to follow a couple of repos and their contributors: Azure SDK for Node, which allows native access to Azure Storage via npm install azure and iisnode (on Github) which is a component that assists your node app running under IIS (the Windows Web Server) on Azure.
It's been great to see the Node story on Azure evolve; it's still just a little early but they seem to be making great progress quickly.

Resources