Installation

Linux and Mac

To install latest nightly build of goops run below command. If you wish to install stable version please replace nightly with specific version from releases page.

$ VERSION=nightly sudo curl -L "https://github.com/sotomskir/goops/releases/download/$VERSION/goops-$(uname -s)-$(uname -m)" -o /usr/local/bin/goops

Windows

You can download pre build exe file from releases page.

CI pipeline configuration

goops is working on environment variables. To initialize goops variables setenv command should be run on the beginning of pipeline.

$ . <(goops setenv)

This command will set goops environment variables.

Note

goops variables should be persisted between pipeline stages. Many CI/CD tools will reset variables on each stage. It's up to you to make sure that variables are persisted between stages.

Persisting variables between pipeline stages

goops setenv command will also save variables to .goops.env file. To restore variables from file run:

$ source .goops.env

You must ensure that .goops.env file is persisted between stages. Below you will find couple of examples how to achieve this in various CI tools.

Gitlab CI .gitlab-ci.yml

cache:
  key: "$CI_PIPELINE_ID"
  paths:
  # keep env file between stages
  - ./.goops.env

TODO: add travis example

Configuration methods

goops has two methods of configuration

  • environment variables
  • configuration file stored in repo .goops.yml

Note

Environment variables should be uppercase e.g. GOOPS_CI_TYPE=jenkins while configuration file variables should be lowercase e.g. goops_ci_type: jenkins

Gitlab environment variables

Environment variables in Gitlab can be configured on group or project level settings > CI/CD Gitlab variables

Travis CI environment variables

Go to project settings > environment variables section Travis variables

Jenkins environment variables

Manage Jenkins > Configure System > Global variables Jenkins variables