GithubHelp home page GithubHelp logo

deploy's Introduction

GitHub Deployments CLI

Circle CI

A small Go program for creating GitHub Deployments.

Installation

You can grab the latest release here

Or if you have a working Go 1.5 environment and the GO15VENDOREXPERIMENT variable enabled:

go get -u github.com/remind101/deploy/cmd/deploy

Usage

The first time you try to deploy, you'll be asked to authenticate with GitHub. If you're already using hub, then you'll already be authenticated.

Deploy the master branch of a repo to staging:

$ deploy --ref=master --env=staging remind101/acme-inc

An empty --ref flag can mean one of two things:

  1. If you're within a git repo, it defaults to the current branch.
  2. If you're not within a git repo, then it defaults to master.
$ deploy --env=staging remind101/acme-inc

You can default to a certain GitHub organization by setting a GITHUB_ORGANIZATION environment variable:

$ export GITHUB_ORGANIZATION=remind101
$ deploy --env=staging acme-inc

Deploy the current GitHub repo to staging:

$ deploy --env=staging

Don't have something handling your GitHub Deployment events? Try remind101/tugboat or atmos/heaven.

deploy's People

Contributors

aengelas avatar benguillet avatar ebeigarts avatar ejholmes avatar gauravmk avatar josegonzalez avatar nyergler avatar phobologic avatar quentin- avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deploy's Issues

Show a diff between last deployment

It would be pretty cool if we could show a git diff between the last deployment to an environment. I think we could do this by:

  1. Find the last github deployment the the environment.
  2. Compare the current ref, with the old sha using this api endpoint.
  3. Display the diff.

Repo not found message is unclear

~/Sites/r101/r101-dashboard (master)
→deploy --env=production
Deploying remind101/r101-dashboard-beta@master to production...
Not Found

State of repository

I have been looking into using github deployments api combined with github actions and came across this project. The main page shows the build is failing and there is no activity since 2017. Is this abandoned or is it still being used and there hasn't been any need for additional development?

Prompt when local ref does not match remote ref

Say you're on master locally, if you deploy -e production it's possible that it's going to deploy an older version because someone has pushed remote master after you last pulled. You need to always git pull if you're not providing the ref, to make sure that you're deploying the correct version.

Ask for confirmation when deploying to production

Foot-in-mouth protection. e.g. I don't want to accidentally cause a production deploy because I was too trigger happy selecting a command from my shell history.

Could provide a command line flag to bypass asking for confirmation, if desired. But I think it should be safe by default.

Show commit statuses when commit status checks fail?

A little difficult since GitHub won't pass back the resolved ref in this case, but would be nice to see something like:

$ deploy -e staging
Commit status checks failed:
* travis-ci/push
  travis-ci/merge (FAILED)

Add a --wait flag to wait for commit status checks to pass

This would be kind nice, especially as we move things to docker, where we can't deploy until the image is built (commit status checks pass). This flag would cause the CLI to wait for commit status checks to pass instead of returning:

Commit status checks failed. You can bypass commit status checks with the --force flag.

Add ability to open Tugboat status URL

Right now we show the Tugboat status URL, but you have to copy/paste to a browser to view it. A deploy open command or something to that effect for the most recently displayed URL would be nice.

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.