go-semrel-gitlab

command module
v0.21.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2019 License: MIT Imports: 18 Imported by: 0

README

Semantic release for GitLab

Automate version management.

go-semrel-gitlab is a set of commands you can use to compose your automated release workflow.

  • it's designed to run in GitLab CI pipeline
  • it's available as a docker image or a single binary, so it's easy to include in your pipeline

The executable name is release, and it can

  • determine the next version from the previous version and commit messages
  • create/update changelog
  • create tags with release notes
  • attach files to release notes
  • commit version bumps (eg. package.json, pom.xml, CHANGELOG.md ...)

This project was inspired by semantic-release. You should read it's excellent documentation to learn about the principles and benefits of release automation. Pay special attention to commit message format. go-semrel-gitlab depends on that, too.

Comparison to semantic-release

The key difference of go-semrel-gitlab and semantic-release is that they approach the problem from different angles:

  • semantic-release has a pre-defined, configurable workflow which was originally designed for publishing npm packages from Github, but now there are plugins for GitLab, DockerHub, and more.
  • go-semrel-gitlab leaves workflow coordination to Gitlab CI, provides few (hopefully simple) commands to automate the versioning and gitlab related tasks of a release, and tries to minimize the constraints it imposes to the pipeline configuration.

More information

TODO

  • more documentation
  • configurable release notes

Documentation

Overview

go-semrel-gitlab provides tools to automate parts of release process on Gitlab CI

More documentation can be found at https://juhani.gitlab.io/go-semrel-gitlab/

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL