diff --git a/README.md b/README.md index bb98121cf0f91933cae08225799afe7a3cf0de22..571aff855964b5f3a3356008e81c57b13bb36b5b 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,70 @@ The git provider for [go-semantic-release](https://github.com/go-semantic-release/semantic-release). +This plugin will make sure that the continuous integration environment +conditions are met. Namely that the release is happening on the +correct branch. + +## Usage + +To use this plugin you need to include the following block in your +`.semrelrc` file. + +```json +{ + "plugins": { + "provider": { + "name": "git", + // Options can be omitted if you want to use the defaults. + // See the section on configuration below. + "options": { + // Put configuration options here + } + } + } +} +``` + +### Configuration + +| Name | Default Value | Description | +|:----------------:|:---------------------------:|:--------------------------------------------------:| +| default_branch | master | The branch where deployments should happen. | +| tagger_name | semantic-release | The name of the user creating the tag. | +| tagger_email | git@go-semantic-release.xyz | The email address of the user creating the tag. | +| remote_name | | The name of the remote to push to. | +| auth | *(Depends on origin URL)* | The authentication type to use (basic, ssh) | +| auth_username | git | The name of the user to use for authentication. | +| auth_password | | The password to use for basic auth or the SSH key. | +| auth_private_key | | The path to an SSH private key file. | +| git_path | . | The path to the Git repository | + +### Authentication + +#### Automatic + +If you don't pick a specific authentication mechanism then an +authentication mechanism will be picked based on the URL of the Git +remote. Under the covers [go-git](https://pkg.go.dev/github.com/go-git/go-git) +is responsible for determining how to perform this kind of +authentication. + +#### Basic + +Basic authentication uses a username and password pair to perform +authentication over HTTP/HTTPS. + +For this method you'll need to set `auth_username` and `auth_password`. + +#### SSH + +SSH authentication uses an SSH private key to authenticate with the +Git remote ove ran SSH connection. + +For this method you'll need to set `auth_username` and +`auth_private_key`. If your private key uses a password then you'll +also need to set `auth_password`. + ## Licence The [MIT License (MIT)](http://opensource.org/licenses/MIT)