-
Notifications
You must be signed in to change notification settings - Fork 434
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Easy install of the functions core tools #368
Comments
The Azure Functions host runtime is also in dotnet core so may mean regardless of bindings or not they may need it pre-installed? Not sure - but maybe we can install dotnet core without requiring them to do it manually. Also may swap the priorities (also think they are orthogonal). We have a "reasonably" workable solution for installing CLI cross-platform, but binding extensions today (which also incorporates triggers) is dicey/confusing. But I think that may be seperate from this issue. Only other thought is one concern with list above is it's a lot of tools we have to learn and maintain - and each has it's own quirks to learn for a new developer. I almost wonder if we'd get more bang for our buck by doing 2 initially - a |
We can have a self-contained build of the CLI that includes .NET runtime with it. That way users don't have to install .NET on their machines if they don't want to. The way I look at it is the fact that the runtime is implemented in .NET should be just an implementation detail and not something in your face all the time especially if you are not a dotnet dev. I know I have had some push back on this before, so let me know if you disagree. I already enabled self-contained builds for the cli in c5f8364 and you can give the packages here a try https://ci.appveyor.com/project/appsvc/azure-functions-cli/branch/master/artifacts. These builds don't require dotnet core to be installed on the machine because it's bundled with the cli. I tested the Linux and Windows ones so far. For Linux, I don't think there is any natural way of installing other than through the distro package manager anyway. between homebrew or a |
remaining workitems for the self-contained CLI:
|
/cc @watashiSHUN since he's working on the linux packages |
/cc @hexiaokai , @selvasingh who inquired about this in the context of Java |
Since .NET core is unavailable via homebrew today, we cannot do a direct Option A: Enable homebrew install from a private branch.
Once .NET core is available via homebrew, we can simply remove step 1. Option B: Offer a My suggestion is A as it provides managed options such as @ahmelsayed, @watashiSHUN, @jeffhollan , @fiveisprime - would be good to get your opinion. |
I like option A more, specially since @watashiSHUN has it mostly done. We just need to create |
+reference Homebrew/homebrew-core#24576
|
@watashiSHUN I just created https://github.com/Azure/homebrew-functions please use if for this |
It looks like homebrew works now! brew tap azure/functions
brew install azure-functions-core-tools |
For ubuntu here is the instruction:
|
@watashiSHUN any ETA for rest of debian and yum packages? |
rest of debian is done |
@ahmelsayed let’s chat about the extension command dependency on dotnet. Whatever we do, I’d like to make sure it’s consistent with the runtime and have some ideas on how to approach this. |
Casting a 👍 vote for a Windows
Also churn for any Windows .NET developer who doesn't share the recent fascination with memorizing endless stacks of command-line tools and switches. I use IDEs for the same reason I don't write code in Notepad (or the Azure Portal, which is approximately the same thing, come to think of it). I was initially a little surprised to see node chosen over your very own NuGet, but I suppose node can execute installer-style actions which I don't think is an option with NuGet packages. (I suppose that's where choco comes in... some days I feel like I spend more time juggling tools than I do writing code.) Anyway -- is |
@MV10 |
@watashiSHUN I'm trying to be less dependent on CLIs. Had enough of that in the 70s and 80s, thanks. :) |
I see, although I would argue that |
Yes, a little IDE we call Visual Studio. :) But it turns out the troubles that led me here are related to an open issue about keeping the VS extension in sync with Function host changes: Azure/Azure-Functions#745 (comment) |
I can't see any repository listed for Debian in the readme. Xenial's package seems to work for it though. |
@snoopdouglas here is the full doc |
@watashiSHUN There is no Debian-specific repository mentioned there either. Perhaps add a note explaining that the Ubuntu ones are fine to use (if you can verify that applies to most Debians)? |
closing as this is done |
Today, working with Java functions locally requires a pre-installation of
dotnet
andnode
. This is a point of churn for existing Java and potential Python developers.We want a cleaner experience for installing:
[P0] Functions CLI
[P1] Binding extensions
Proposed Experience
Windows
npm install -g azure-functions-core-tools@core
choco install azure-functions-core-tools
Linux
apt-get install azure-functions-core-tools
yum install azure-functions-core-tools
MacOS
brew install azure-functions-core-tools
Open Questions
#367
The only scenario that requires
dotnet
executable to be on the machine is that of installing extensions because we launch usingdotnet add extensions.csproj package <extension> --version <version>
Couple of options are:
dotnet
to work with bindingsdotnet
along with the core toolsThe text was updated successfully, but these errors were encountered: