edx/edx-gomatic

Name: edx-gomatic

Owner: edX

Description: Collection of gomatic scripts used at edx

Created: 2016-06-14 19:50:32.0

Updated: 2018-05-23 15:32:57.0

Pushed: 2018-05-23 15:33:04.0

Homepage: null

Size: 1275

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

GoMatic scripts for edX pipelines

This repository contains Python 2.7.x code which uses the Gomatic Python module to create pipelines and their stages, jobs, and tasks in GoCD. Gomatic is a domain-specific language (DSL) which allows pipelines to be created via code under source control instead of via the GoCD web GUI.

How to reverse-engineer a pipeline
on -m reverse_engineer --ssl -s <server_address> -p <pipeline_name> --username <username> --password <password> > new_script.py
How to push a pipeline to gocd:
on edxpipelines/pipelines/deploy_ami.py --variable_file ../gocd-pipelines/gocd/vars/tools/deploy_edge_ami.yml --variable_file ../gocd-pipelines/gocd/vars/tools/tools.yml

For testing purposes, you can also perform a dry run of the script:

on edxpipelines/pipelines/deploy_ami.py --dry-run --variable_file ../gocd-pipelines/gocd/vars/tools/deploy_edge_ami.yml --variable_file ../gocd-pipelines/gocd/vars/tools/tools.yml

The dry run will output 2 files:

You can then diff these files:

 config-before.xml config-after.xml
Cautions and Caveats

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.