Plugins
You can add a plugin via a config file or CLI:
plugins: ['@monodeploy/plugin-github']
yarn monodeploy --plugins @monodeploy/plugin-github
A plugin is a module which exposes a function as the default. This function takes PluginHooks as the first argument and plugin options as the second.
Plugin options can only be passed through a config file, and are not supported through the command line:
plugins: ['@monodeploy/plugin-github', { someArbitraryOption: 'value' }]
You can then "tap" into the hooks.
Available Plugins
GitHub
Plugin: @monodeploy/plugin-github
.
The GitHub plugin creates GitHub releases. It requires a GH_TOKEN
environment variable which should be set to a Personal Access Token with write access to GitHub releases.
By default, implicit version updates do not get a dedicated release. To change this behaviour, set includeImplicitUpdates
to true
:
plugins: ['@monodeploy/plugin-github', { includeImplicitUpdates: true }]
Plugin Development
We use tapable for an experimental plugin system.
Hooks
onReleaseAvailable
This hook is triggered once a release is available, after publishing to npm, and after pushing any artifacts such as git tags to the repository (assuming running with autoCommit and push mode).