Clever/ci-scripts

Name: ci-scripts

Owner: Clever

Description: Re-usable continuous integration (CI) scripts

Created: 2016-11-14 23:55:47.0

Updated: 2018-05-02 14:56:54.0

Pushed: 2018-04-02 19:29:29.0

Homepage: null

Size: 67

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

ci-scripts

Re-usable continuous integration (CI) scripts

Inspired by: https://circleci.com/blog/continuous-integration-at-segment/

Owned by #eng-infra.

Scripts
General-purpose

The following scripts don't rely on any Clever-specific tooling.

Docker

Logs into Docker registry, then builds and pushes docker image. Docker image is tagged with 7 character git commit SHA.

circleci/docker-publish [DOCKER_USER] [DOCKER_PASS] [DOCKER_EMAIL] [ORG]
NPM Publish

Authenticates to NPM and publishes a package.

circleci/npm-publish [NPM_TOKEN] [PACKAGE_DIR]
Github Release

Publishes content from [ARTIFACTS_DIR] as a Github Release.

circleci/github-release [GITHUB_TOKEN] [ARTIFACTS_DIR]
Mongo install

Installs a specific Mongo version, rather than the default version in CircleCI. At time of writing, v3.0.7 was default version in CircleCI's Ubuntu 14.04 (Trusty) image.

circleci/mongo-install [VERSION]
Clever internal

The following scripts depend on Clever-specific infrastructure and tooling.

Catapult

Publishes your application and build in catapult.

circleci/catapult-publish [CATAPULT_URL] [CATAPULT_USER] [CATAPULT_PASS] [APP_NAME]

If you need to publish multiple applications, run this command once for each.

Dapple

Deploys your application with dapple. Requires that you've first pushed the Docker image and published the application to Catapult.

circleci/dapple-deploy <DAPPLE_URL> <DAPPLE_USER> <DAPPLE_PASS> <APP_NAME> [ENVIRONMENT] [DEPLOYMENT_STRATEGY]

Note: The default environment is clever-dev and the default deployment strategy is confirm-then-deploy. Additionally you can choose a no-confirm-deploy strategy that does not require confirmation before deploying.

If you need to deploy multiple applications, run this command once for each.

Workflow

Publishes a workflow to workflow-manager.

circleci/workflow-publish [WF_URL] [WF_USER] [WF_PASS] [WF_JSON]
Report-card

Disabled.

We still are keeping the script here so that repos that invoke it can do so safely. But it is a no-op.


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.