Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
upload-cloud

GitHub Action

Convox Deploy

2.0.0

Convox Deploy

upload-cloud

Convox Deploy

Build and Deploy a Convox app in a single step

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Convox Deploy

uses: convox/[email protected]

Learn more about this action in convox/action-deploy

Choose a version

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

Required The value of your Convox Deploy Key

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

cached

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

manifest

Optional Use a custom path for your convox.yml

Example Usage

uses: convox/action-deploy@v1
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@v1
      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 }}