Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Convox Deploy Action

If you Install a Convox Rack using the cloud provider of your choice and create a convox.yml to describe your application and its dependencies you can use this action to automatically deploy your app. The Deploy action performs the functions of combining the Build and Promote actions but in a single step. If you want to create more advanced workflows you can do so by using our individual actions.

Inputs

rack

Required The name of the Convox Rack you wish to deploy to.

app

Required The name of the app you wish to deploy to.

password

Optional The value of your Convox Deploy Key. Only needed if you are not using a separate Login step.

host

Optional The host name of your Convox Console. This defaults to console.convox.com and only needs to be overwritten if you have a self-hosted console

description

Optional A description for the build.

cached

Optional Whether to utilise the docker cache during the build. Defaults to true.

manifest

Optional Use a custom path for your convox.yml

buildargs

Optional Pass docker build arguments to the build process. Build args are key-value pairs separated by a newline:

 buildargs: |
BASEIMAGE=myimage
MYARG=hello

Example Usage

uses: convox/action-deploy@2.0.0
with:
rack: staging
app: myapp
password: ${{ secrets.CONVOX_DEPLOY_KEY }}

Creating More Advanced Workflows

Convox provides a full set of Actions to enable a wide variety of deployment workflows. The following actions are available:

Authenticates your Convox account You should run this action as the first step in your workflow

Builds an app and creates a release which can be promoted later

Runs a command (such as a migration) using a previously built release before or after it is promoted

Promotes a release

Example workflow building a Rails app and running migrations before deploying:

name: CD
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: checkout
id: checkout
uses: actions/checkout@v1
- name: login
id:login
uses: convox/action-login@v2
with:
password: ${{ secrets.CONVOX_DEPLOY_KEY }}
- name: build
id: build
uses: convox/action-build@v1
with:
rack: staging
app: myrailsapp
- name: migrate
id:migrate
uses: convox/action-run@v1
with:
rack: staging
app: myrailsapp
service: web
command: rake db:migrate
release: ${{ steps.build.outputs.release }}
- name: promote
id: promote
uses: convox/action-promote@v1
with:
rack: staging
app: myrailsapp
release: ${{ steps.build.outputs.release }}

About

A Github Action to build and promote and app to Convox

Resources

Stars

12 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages