All Projects → dokku → ci-docker-image

dokku / ci-docker-image

Licence: MIT license
A Docker Image meant for use with CI/CD pipelines

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to ci-docker-image

workflow-webhook
A Github workflow action to call a webhook with payload data from the event. Support for JSON or URL encoded endpoints.
Stars: ✭ 90 (+291.3%)
Mutual labels:  deployment, continuous-deployment
Flubucore
A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
Stars: ✭ 695 (+2921.74%)
Mutual labels:  deployment, continuous-deployment
portainer-stack-utils
CLI client for Portainer
Stars: ✭ 66 (+186.96%)
Mutual labels:  deployment, continuous-deployment
build-plugin-template
Template repository to create new Netlify Build plugins.
Stars: ✭ 26 (+13.04%)
Mutual labels:  deployment, continuous-deployment
Devtron
Software Delivery Workflow For Kubernetes
Stars: ✭ 130 (+465.22%)
Mutual labels:  deployment, continuous-deployment
kuzgun
simple, ssh based deployment tool
Stars: ✭ 16 (-30.43%)
Mutual labels:  deployment, continuous-deployment
Ssh Deploy
GitHub Action for deploying code via rsync over ssh
Stars: ✭ 272 (+1082.61%)
Mutual labels:  deployment, continuous-deployment
Lightning Sites
☁️ Lightning deployment for your ~/Sites folders
Stars: ✭ 8 (-65.22%)
Mutual labels:  deployment, continuous-deployment
Slimjim
SlimJim is a simple auto update script utilizing Slim (a PHP micro-framework), incron (inotify cron system), and GitHub/BitBucket post-receive-hook
Stars: ✭ 98 (+326.09%)
Mutual labels:  deployment, continuous-deployment
Hapistrano
Deploy tool for Haskell applications, like Capistrano for Rails
Stars: ✭ 91 (+295.65%)
Mutual labels:  deployment, continuous-deployment
Build
Netlify Build runs the build command, Build Plugins and bundles Netlify Functions.
Stars: ✭ 135 (+486.96%)
Mutual labels:  deployment, continuous-deployment
Inertia
✈️ Effortless, self-hosted continuous deployment for small teams and projects
Stars: ✭ 133 (+478.26%)
Mutual labels:  deployment, continuous-deployment
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (+843.48%)
Mutual labels:  deployment, continuous-deployment
create-release-action
| Public | GitHub Action to Create a Release in Octopus Deploy
Stars: ✭ 68 (+195.65%)
Mutual labels:  deployment
serverless-model-aws
Deploy any Machine Learning model serverless in AWS.
Stars: ✭ 19 (-17.39%)
Mutual labels:  deployment
nightly-docker-rebuild
Use nightli.es 🌔 to rebuild N docker 🐋 images 📦 on hub.docker.com
Stars: ✭ 13 (-43.48%)
Mutual labels:  continuous-deployment
powerapps-packagedeployer-template
Enhanced deployment capabilities when deploying with the Power Apps Package Deployer.
Stars: ✭ 18 (-21.74%)
Mutual labels:  continuous-deployment
django-quick-start
Deploy a Django app on Render
Stars: ✭ 17 (-26.09%)
Mutual labels:  deployment
fabalicious
is now deprecated and not supported anymore, use https://github.com/factorial-io/phabalicious instead
Stars: ✭ 14 (-39.13%)
Mutual labels:  deployment
kube-applier
kube-applier enables automated deployment and declarative configuration for your Kubernetes cluster.
Stars: ✭ 27 (+17.39%)
Mutual labels:  continuous-deployment

ci-docker-image

dokku/ci-docker-image

A Docker image meant for use with CI/CD pipelines

Supported CI Systems

Assuming a Docker image can be run as a CI task with environment variables injected, the following CI systems will have their variables automatically detected:

Usage

This image provides two binaries for external usage:

  • dokku-deploy: Triggers an app deploy at the configured GIT_REMOTE_URL
  • dokku-unlock: Unlocks deploys for an app at the configured GIT_REMOTE_URL

To run either binary, the following docker command can be used from a directory containing a non-shallow clone of the repository being deployed:

# where the `.env` file contains `GIT_REMOTE_URL` and `SSH_PRIVATE_KEY`

# deploy
docker run --rm -v="$PWD:/app" --env-file=.env dokku/ci-docker-image dokku-deploy

# unlock
docker run --rm -v="$PWD:/app" --env-file=.env dokku/ci-docker-image dokku-unlock

Configuration

The following environment variables are supported:

  • BRANCH:
    • description: The branch to deploy when pushing to Dokku
    • required: false
    • default: ''master
  • CI_BRANCH_NAME
    • description: The branch name that triggered the deploy. Interpolated if unavailable.
    • required: false
    • default: ''
  • CI_COMMIT
    • description: The commit sha that will be pushed. Interpolated if unavailable.
    • required: false
    • default: ''
  • COMMAND:
    • description: The command to run for the action
    • required: false
    • default: ''
  • DEPLOY_DOCKER_IMAGE:
    • description: A docker image to deploy via git:from-image
    • required: false
    • default: ''
  • DEPLOY_USER_NAME:
    • description: A username to use when deploying a docker image
    • required: false
    • default: ''
  • DEPLOY_USER_EMAIL:
    • description: The email to use when deploying a docker image
    • required: false
    • default: ''
  • GIT_REMOTE_URL:
    • description: The dokku app's git repository url (in SSH format)
    • required: true
  • GIT_PUSH_FLAGS:
    • description: A string containing a set of flags to set on push
    • required: false
  • REVIEW_APP_NAME:
    • description: The name of the review app to create or destroy
    • required: false
    • default: 'review-$APP_NAME-$CI_BRANCH_NAME'
  • SSH_HOST_KEY:
    • description: The results of running ssh-keyscan -t rsa $HOST
    • required: false
    • default: ''
  • SSH_PRIVATE_KEY:
    • description: A private SSH key that has push acces to your Dokku instance
    • required: true

Hooks

bin/ci-pre-deploy

If the file bin/ci-pre-deploy exists, it will be triggered after any app setup but before the app is deployed. This can be used to preconfigure the remote app prior to the actual deploy, but within the context of the SSH setup. The following environment variables are available for usage in the script:

  • APP_NAME: The name of the remote app that will be deployed. This takes the parsed GIT_REMOTE_URL and REVIEW_APP_NAME into account.
  • IS_REVIEW_APP: true if a review app is being deployed, false otherwise.
  • SSH_REMOTE: The parsed ssh remote url.

The following is an example bin/ci-pre-deploy file:

#!/bin/sh -l
if [ "$IS_REVIEW_APP" = "true" ]; then
  ssh "$SSH_REMOTE" -- config:set "$APP_NAME" "DOMAIN=$APP_NAME.dokku.me"
  echo "configured the review app domain"
fi

Building

docker build dokku/ci-docker-image .
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].