Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mackee/release-request

is a cli tool for Pull Request driven deployment.
https://github.com/mackee/release-request

cli continuous-delivery devops github go pull-request-template

Last synced: 10 days ago
JSON representation

is a cli tool for Pull Request driven deployment.

Awesome Lists containing this project

README

        

release-request
====

The `release-request` is a cli tool for Pull Request driven deployment.

## Description

The `release-request` is the Pull Request creator on GitHub.

This tool work in like git-flow branch style.

Ex.

* `master`: production branch
* `develop`: pool features, patches...pending to deployment
* `topic/*` and `feature/*` and etc...: working branches

When you want to deploying to production, You create pull request from `develop` to `master`. The `release-request` is aggregates information of merged working branches and pending branches. You can specify writing that information to description of Pull Request.

Also `release-request` can write work introductions for deployment to the Pull Request.

## Demo

https://github.com/mackee/release-request/pull/3 generated by `release-request`.

## Requirement

* Go 1.8.x or higher
* GitHub's access token. See [Creating a personal access token for the command line](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)

## Install

```
$ go get -u github.com/mackee/release-request
```

## Usage

Run `release-request` in directory with-in configration files.

```console
$ release-request
```

### Configuration

`release-request` is requirement two configuration file that `config.yml` and `release.md`. You can rename this files by configuration and cli option.

`release-requeste -init` generate scaffolding.

```console
$ release-request -init
$ ls
config.yml release.md
```

You should be set GitHub access token to `config.yml`.

```yml
# in config.yml
token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
```

### Log

You can set log level by `-loglevel=LEVEL`. Ex. `DEBUG`, `WARN`, `ERROR`. Default output is `WARN` and `ERROR`.

If you set `-loglevel=DEBUG`, output the command outputs, Pull Request description and titles.

### Dry run

`-dry-run` options is render descriptions and titles but not create/update Pull Request.

## Licence

[MIT](https://github.com/tcnksm/tool/blob/master/LICENCE)

## See also

* [git-pr-release](https://github.com/motemen/git-pr-release)

## Author

[mackee](https://github.com/mackee)