Giter Site home page Giter Site logo

go-gitops's Introduction

Git Operator

Requirements

Install Golang: > go1.15

Usage

gitlab command

List of commands (COMMAND):
- create-branch: create release/* branch
- tag: create a tag
- release: run bot create-branch and tag commands
- send: send an email with change log of release

PROJECT_ID: ID of project on Gitlab

Usage:
  go run main.go COMMAND PROJECT_ID [flags]

Examples:
./gitlab tag ${pid} --ref ${target-branch} --version ${desired-version}

Flags:
  -h, --help               help for go
      --host string        Git host, if not provided then get GIT_HOST from environment variables. (default "https://gitlab.com")
      --job-name string    Job name to send email, if not provided then get CI_JOB_NAME from environment variables.
      --job-token string   Job Token for Gitlab authentication, if not provided then get CI_JOB_TOKEN from environment variables.
      --mode string        Versioning mode.
                           'compact': no pump up version if a hotfix is merged into a release.
                           'simple': pump up version on every release.
                           Unknown value will be replaced as default value. (default "compact")
      --ref string         Git ref name or commit hash (default "master")
      --send-bcc string    Email address to send BCC email to
      --send-cc string     Email address to send CC email to
      --send-to string     Email address to send email to
      --token string       Token for Gitlab authentication, if not provided then get GIT_PRIVATE_TOKEN from environment variables.
      --version string     Desired version

Run

  1. Run with Go
go run main.go tag 278 --host=https://gitlab.com --token=this_is_token --ref=master --version=3.60.15 [email protected] [email protected] [email protected]
  1. Run with Docker
docker run --rm image-name gitlab tag 278 --host=https://gitlab.com --token=this_is_token --ref=master --version=3.60.15 [email protected] [email protected] [email protected]

Declare environment variables

ENV=
GIT_HOST=
GIT_PRIVATE_TOKEN=

SMTP_SERVER=
SMTP_USERNAME=
SMTP_PASSWORD=

Commit message convention

  1. A commit message SHOULD contain a tag:
  • Major tags are #breaking, #major, #remove/#removed, #revert/#reverted, #upgrade/#upgrade, which changes make current application make it not compatible
  • Minor tags are: #minor, #change/#changed, #add/#added, #update/#updated
  • Patch tags are: #patch/#patched, #fix/#fixed, #hotfix/#hotfixed, #bugfix/#bugfixed
  1. If commit message DOES NOT contain a tag, then consider as #minor
  2. A tag SHOULD be #<tagName> or <tagName>:.

go-gitops's People

Contributors

ducminhgd avatar

Stargazers

 avatar  avatar Huu-Danh Pham avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.