GithubHelp home page GithubHelp logo

action-deploy's Introduction

Convox

Convox is an open-source PaaS based on Kubernetes available for multiple cloud providers.

Supported Clouds

  • Amazon Web Services
  • Digital Ocean
  • Google Cloud
  • Microsoft Azure

Getting Started

Installation

Features

Resources

Development Tips

When testing new changes, a good way of adding them to a test rack is to build the image locally,push to a public repo and update the k8s deployment api:

docker build -t user/convox:tag .
docker push user/convox:tag
kubectl set image deploy api system=user/convox:tag -n rackName-system

If testing new changes in terraform, install the rack using the following command to have the /terraform folder mapped to the rack tf manifest.

/convox: CONVOX_TERRAFORM_SOURCE=$PWD//terraform/system/%s convox rack install aws rack1

After saving your changes, go to (Linux:~/.config/convox/racks/rack1 or OSX:/System/Volumes/Data/Users/$PROFILENAME/Library/Preferences/convox/racks and run terraform apply

License

action-deploy's People

Contributors

beastawakens avatar camerondgray avatar heronrs avatar kaiomagalhaes avatar kyleroot avatar radekl avatar ross-martin avatar twsouza avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

action-deploy's Issues

Recent update breaks due to use of `--wait`

We were using action-deploy@master and have seen the following issue:

Run convox/action-deploy@master
  with:
    rack: integration
    app: xxxxxxxx
    password: ***
    description: push xxxxxxxxxxx (#1740)
    host: console.convox.com
  env:
    CONVOX_PASSWORD: ***
    CONVOX_HOST: console.convox.com
/usr/bin/docker run --name xxxxxxxx --label 290506 --workdir /github/workspace --rm -e "CONVOX_PASSWORD" -e "CONVOX_HOST" -e "INPUT_RACK" -e "INPUT_APP" -e "INPUT_PASSWORD" -e "INPUT_DESCRIPTION" -e "INPUT_HOST" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_ACTOR" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -e "GITHUB_REF_PROTECTED" -e "GITHUB_REF_TYPE" -e "GITHUB_WORKSPACE" -e "GITHUB_ACTION" -e "GITHUB_EVENT_PATH" -e "GITHUB_ACTION_REPOSITORY" -e "GITHUB_ACTION_REF" -e "GITHUB_PATH" -e "GITHUB_ENV" -e "GITHUB_STEP_SUMMARY" -e "GITHUB_STATE" -e "GITHUB_OUTPUT" -e "RUNNER_OS" -e "RUNNER_ARCH" -e "RUNNER_NAME" -e "RUNNER_TOOL_CACHE" -e "RUNNER_TEMP" -e "RUNNER_WORKSPACE" -e "ACTIONS_RUNTIME_URL" -e "ACTIONS_RUNTIME_TOKEN" -e "ACTIONS_CACHE_URL" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/social/social":"/github/workspace" xxxxx
Deploying
ERROR: unknown flag: --wait

At a guess, this is caused by the command using --wait (https://github.com/convox/action-deploy/blob/master/entrypoint.sh#L12) but the updated CLI (71598e2) not providing the option.

Errors on deploy

Hello, we've been using this action for years and suddenly it stopped working today. Here are the logs from various versions.

Run convox/action-deploy@v1

Deploying
/usr/local/bin/convox: 1: /usr/local/bin/convox: Syntax error: redirection unexpected

Run convox/[email protected]

Deploying
ERROR: unknown flag: --wait

Health check fails when deployed via action-deploy, but works when deploying locally.

I'm trying to deploy an app via convox on a merge to master using Github Actions, and cannot figure out why my health check is failing when deployed from the Github Action vm, but not when I deploy locally.

It's a really straightforward checkout -> deploy workflow, and the exact same workflow works from my local command line with the same branch/source. The task just won't report back a successful health check, and won't cutover to the new instance that was deployed.

This is app is deployed to AWS and I've looked at the container definitions and everything looks identical.

Here's my deploy.yml file:

name: deploy

on:
  push:
    branches:    
      - master

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout
      uses: actions/checkout@v2

    - name: Deploy
      uses: convox/action-deploy@v1
      with:
        host: console.convox.com
        rack: ${{ secrets.CONVOX_RACK }}
        app: orchestrator
        password: ${{ secrets.CONVOX_CLI_KEY }}

and here's what happens in the Github Action vm, but not locally:

image

Is there something simple I'm missing here or any suggestions on what might be the issue?

Suggestion: Switch to Docker image action vs built container action

I've made significant speed gains on a lot of CI processes by switching from using the default Convox actions to a Docker image based one.
I've taken the current Convox actions and produced a docker image from them, this is then referenced in the action.yml for GitHub to pull. This saves GitHub from needing to build each container on every CI run, which can take 30-60s per action, vs 4-5s so we're saving multiple minutes on each run.

From:
image

To:
image

I'm happy to transfer ownership of the repo to the convox org if desired, or for you guys to simply copy the methodology!

I also combined all actions into one action to save downloading multiple images, but there are downsides to that in terms of not being able to rigidly enforce required parameters.

See the resulting action here: https://github.com/beastawakens/action-convox-multi-slim with the important config in the action.yml here: https://github.com/beastawakens/action-convox-multi-slim/blob/main/action.yml#L50

The image is here https://hub.docker.com/r/beastawakens/action-convox-multi-slim and currently is just manually uploaded but could easily be automated as part of action release.

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.