devops

command
v1.0.11 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

README

devops

devops is a command line tool that makes a copy of the build/cicd tool for configuration and deployment of your project. The goal is to help developers get a local copy of cicd without a bunch of copy/paste.

Overview

The command line tool creates a copy of the build/cicd tool in your desired project. This will allow you to define all your configuration locally in your project repo.

For additional details regarding this tool, refer to gitlab.com/geeks-accelerator/oss/devops

Installation

Make sure you have a working Go environment. Go version 1.2+ is supported. See the install instructions for Go.

To install devops, simply run:

$ go get gitlab.com/geeks-accelerator/oss/devops/cmd/devops

Make sure your PATH includes the $GOPATH/bin directory so your commands can be easily used:

export PATH=$PATH:$GOPATH/bin
Compiling locally

In order to build devops, you will need packr2 to include the Golang files and readme from the example build/cicd. When code is changed in this project that needs to be included with build/cicd, parkr2 needs to be ran.

Packr is a simple solution for bundling static assets inside of Go binaries. Most importantly it does it in a way 
that is friendly to developers while they are developing.

To install packr2

$ go get -u github.com/gobuffalo/packr/v2/packr2

This repo has a post-commit hook at githooks/post-commit to detect changes to build/cicd tool and executes parkr2. Changed files are included with git commit --amend

To install the post-commit hook

cp githook/post-commit .git/hooks

Usage

$ cicd [global options] command [command options] [arguments...]
Global Options
  • Show help

    --help, -h

  • Print the version

    --version, -v

Commands
  • inject-build cicd - Copies the build tool to a target project. This copy the files for build/cicd to your specific project path.

    The target project must have a go.mod. The value for module is used to replace all import path for the sub packages copied. You can use go mod init github.com/my/repo to create the go.mod file.

    $ devops [global options] inject-build cicd -project NNNNN [command options]
    

    Options:

    --project value  the root directory of the project, required
    --force          force the files to be copied
    
  • help - Shows a list of commands

    $ devops help
    

    Or for one command:

    $ devops inject-build help
    
Examples

Make a copy of the cicd tool for saas-starter-kit

$ devops inject-build cicd -project $GOPATH/src/gitlab.com/geeks-accelerator/oss/saas-starter-kit

Join us on Gopher Slack

If you are having problems installing, troubles getting the project running or would like to contribute, join the channel #saas-starter-kit on Gopher Slack

Documentation

Overview

You can use the "packr clean" command to clean up this, and any other packr generated files.

Jump to

Keyboard shortcuts

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