Skip to content
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

Deployment strategy #17

Open
TSchmiedlechner opened this issue Oct 2, 2021 · 6 comments
Open

Deployment strategy #17

TSchmiedlechner opened this issue Oct 2, 2021 · 6 comments
Labels
needs-clarification Features or bugs that need further clarification and should be discussed. planned-feature A feature that was planned and committed to by the maintainers size-4

Comments

@TSchmiedlechner
Copy link
Member

User story

As a user of the Middleware Launcher, I want to be able to deploy it as simply as possible, so that I don't waste time installing dependencies.

Context

Version 1 of the Launcher only allows "manual" deployment by extracting a zip-file that can be downloaded from the Portal. While this is a very easy installation approach, it also has some disadvantages (e.g. the classic .NET framework needs to be installed on the host).

With .NET 6 and modern deployment methods, we have several alternatives to this, e.g.:

  • Single file deployments: Instead of downloading a .zip file with 100 included files that has a dependency to the correct version of the .NET framework, we could generate a single .exe file that already contains the relevant bits of the framework and has no external dependencies at all. A potential disadvantage of this approach is that this .exe would be platform-specific.

  • Package manager deployments: We could also make use of standard package managers that come with most modern OSs now, including Windows. Examples to consider:

    • Winget
    • Chocolatey
    • APT
    • Snap
    • Homebrew

    The obvious disadvantage of this approach is that there are many different package managers that we'd need to automate. Automatic updates could be a big advantage.

@TSchmiedlechner TSchmiedlechner added planned-feature A feature that was planned and committed to by the maintainers needs-clarification Features or bugs that need further clarification and should be discussed. labels Oct 2, 2021
@volllly
Copy link
Contributor

volllly commented Oct 4, 2021

maybe also consider scoop 🤷‍♀️

@forsthug
Copy link
Contributor

forsthug commented Nov 15, 2021

some nodes

Name OS pricing owner package server pros cons
Winget windows free windows repository for win >= 10
Chocolatey windows kostenlosen („Open Source“) und zwei kostenpflichtigen („Pro“ und „Business“) https://chocolatey.org/ Community Package Repository Voraussetzung wird weiterhin eine Installation der PowerShell und des .NET-Framework, Version 4.[6]
APT linux free debian /etc/apt/sources.list widly used
Snap linux gpl Canonical Snap Store Configurable sandbox, not having a mechanism for using third party servers,
Homebrew linux/macOS gpl opensource homebrew-core Homebrew Formulae
scoop Windows non-Admin by default, installs in user directory Scoop is designed for developers who have an affinity for Unix

@forsthug
Copy link
Contributor

formatieren geht anscheinend nicht :)

@volllly
Copy link
Contributor

volllly commented Mar 14, 2023

We have apt get and portal download as installation methods right now. #73

Do we also want to add a windows/macos package manager?

@TSchmiedlechner
Copy link
Member Author

I just thought of the possibility to use Flatpack to distribute the Launcher on Linux - might be a nice way to also reach less popular distributions without additional effort :)

https://docs.flathub.org/docs/for-app-authors/submission/

@volllly
Copy link
Contributor

volllly commented Aug 28, 2023

I think we might run into some problems 🥲 We'll need to do some experimentation I guess

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-clarification Features or bugs that need further clarification and should be discussed. planned-feature A feature that was planned and committed to by the maintainers size-4
Projects
No open projects
Development

No branches or pull requests

3 participants