@iauditfrance/semantic-plugins
v1.1.0
Published
bunch of custom plugins for semantic-release
Downloads
128
Maintainers
Readme
semantic-release-plugins
Provide a bunch of custom plugins for semantic-release
.
# install using npm
npm install --save-dev @amille/semantic-release-plugins
# or using yarn
yarn add -D @amille/semantic-release-plugins
Build docker image
You may automatically build and push docker.
Add the plugin @amille/semantic-release-plugins/dockerize
to your .releaserc
file.
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@amille/semantic-release-plugins/dockerize"
]
}
And finally you may either configure it using environment variables
| Variable name | Mandatory | Description |
| --------------- | ------------------ | ------------------------------------- |
| DOCKER_REGISTRY | | Docker registry (ex: hub.domain.co
) |
| DOCKER_IMAGE | :heavy_check_mark: | Image name (ex: hello-world
) |
| DOCKER_LOGIN | | Username for docker login |
| DOCKER_PASSWORD | | Password for docker login |
| DOCKER_FILE | | Dockerfile |
Or configure it using plugin configuration. The environment variable will be used as fallback.
{
"plugins": [
[
"@amille/semantic-release-plugins/dockerize",
{
"registry": "hub.domain.co",
"image": "my-image",
"dockerfile": "other.Dockerfile"
}
]
]
}
You may use plugin settings to inject the version as build arg
{
"plugins": [
[
"@amille/semantic-release-plugins/dockerize",
{
"argVersion": "VERSION"
}
]
]
}
Update app version in helm chart
You may automatically update the appVersion
in a helm chart file.
Add the plugin @amille/semantic-release-plugins/updateHelmChart
to your .releaserc
file.
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@amille/semantic-release-plugins/updateHelmChart",
{
"chart": "./chart/Chart.yaml"
}
]
]
}
Create archive
You may automatically create archives.
Add the plugin @amille/semantic-release-plugins/archive
to your .releaserc
file.
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@amille/semantic-release-plugins/archive",
{
"output": "./archive.zip",
"assets": ["path/to/file", "glob/pattern/*.js", { "pattern": "path/dir", "relative": "path/" }],
"globOptions": {}
}
]
]
}
Create sentry release
You may automatically create sentry releases (this plugins requires the cli client to be available).
Add the plugin @amille/semantic-release-plugins/sentryRelease
to your .releaserc
file.
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@amille/semantic-release-plugins/sentryRelease",
{
"project": "my-project",
"sourcemaps": ["build/"],
}
]
]
}