Skip to content

Add ability for custom deployment tasks... #517

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

Closed
tresf opened this issue Nov 15, 2019 · 2 comments
Closed

Add ability for custom deployment tasks... #517

tresf opened this issue Nov 15, 2019 · 2 comments

Comments

@tresf
Copy link
Contributor

tresf commented Nov 15, 2019

On occasion we receive requests for bundling custom items with QZ Tray... a use-case is the WinUSB driver, which allows a printer to have exclusive USB communication (fixing issues with bi-directional communication).

This is something we should provide an interface for at build time. Starting with #504, we've consolidated all of our installation tasks from various technologies (nsis, pkgbuild, makeself) into a single, centralized Java technique.

This means deploying a custom DLL, driver, or calling custom commands at install-time should be viable. Note, for custom drivers on macOS, Kernel Extension Signing is required. QZ has requested and was granted this ability through Apple, but most individuals would not have this ability.

I'd like to have an open dialog about what type of use-cases exist, and what's the best payload definition for these.

At a high level, we need to define

  • Target OS
  • Target Architecture
  • Payload (which files, which format these files must be in e.g. .zip and a standard layout for these files)
  • Removal/rollback of the custom files/libraries/tasks.

Somewhat related, this may also set the foundation for a Plugin Framework #63, where we can offer additional API features as part of a plugin system.

But for starters, what use-cases do we have for custom deployments?

@tresf
Copy link
Contributor Author

tresf commented Nov 17, 2023

Ready for testing in #1190

In regards to payload, we currently support bundling scripts (e.g. bash, powershell, etc), software (e.g. .pkg, .exe), which should cover most use-cases.

  • Target OS

Handled via { os: "windows" }, etc.

  • Target Architecture

Not yet handled.

Payload (which files, which format these files must be in e.g. .zip and a standard layout for these files)

Current it's limited to scripts and installers

Removal/rollback of the custom files/libraries/tasks.

This could be done using { phase: "uninstall" } but would need a use-case for testing.

@tresf tresf mentioned this issue Nov 17, 2023
33 tasks
tresf added a commit that referenced this issue Dec 21, 2023
Add provisioning support through a JSON file.

Closes #1220 #885 #517
@tresf
Copy link
Contributor Author

tresf commented Dec 21, 2023

Closed via #1190

@tresf tresf closed this as completed Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant