Git Product home page Git Product logo

docker-deployment-action's Introduction

Docker Deployment Action

A GitHub Action that supports docker-compose and Docker Swarm deployments. Documentaion Page.

Example

Below is a brief example on how the action can be used:

- name: Deploy to Docker swarm
  uses: wshihadeh/docker-deployment-action@v1
  with:
    remote_docker_host: [email protected]
    ssh_private_key: ${{ secrets.DOCKER_SSH_PRIVATE_KEY }}
    ssh_public_key: ${{ secrets.DOCKER_SSH_PUBLIC_KEY }}
    deployment_mode: docker-swarm
    copy_stack_file: true
    deploy_path: /root/my-deployment
    stack_file_name: docker-compose.yaml
    keep_files: 5
    args: my_applicaion

Input Configurations

Below are all of the supported inputs. Some inputs are considered sensitive information and it should be stored as secrets.

args

Arguments to pass to the deployment command either docker or docker-compose. The actions will automatically generate the follwing commands for each of the cases.

  • docker stack deploy --compose-file $FILE --log-level debug --host $HOST
  • docker-compose -f $INPUT_STACK_FILE_NAME

remote_docker_host

Specify Remote Docker host. The input value must be in the follwing format (user@host)

remote_docker_port

Specify Remote Docker ssh port if its not 22 default ie (2222)

ssh_public_key

Remote Docker SSH public key.

Do not give the content of id_rsa.pub

The content of ~/.ssh/known_hosts needs to be given here. You can get it by connecting to host once using your own machine. Example:

1.1.1.1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLNTYAAAAIbmlzdHAyNCN5F3TLxUllpSRx8y+9C2uh+lWZDFmAsFMjcz2Zgq4d5F+oGicGaRk=

ssh_private_key

SSH private key used to connect to the docker host

SSH key must be in PEM format (begins with -----BEGIN RSA PRIVATE KEY-----), or you can randomly get Load key "/HOME/.ssh/id_rsa": invalid format error.

Convert it from OPENSSH (key begins with -----BEGIN OPENSSH PRIVATE KEY-----) format using ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

deployment_mode

Deployment mode either docker-swarm or docker-compose. Default is docker-compose.

copy_stack_file

Copy stack file to remote server and deploy from the server. Default is false.

deploy_path

The path where the stack files will be copied to. Default ~/docker-deployment.

stack_file_name

Docker stack file used. Default is docker-compose.yaml

keep_files

Number of the files to be kept on the server. Default is 3.

docker_prune

A boolean input to trigger docker prune command.

pre_deployment_command_args

The args for the pre deploument command. Applicable only for docker-compose.

pull_images_first

Pull docker images before deploying. Applicable only for docker-compose.

License

This project is licensed under the MIT license. See the LICENSE file for details.

docker-deployment-action's People

Contributors

wshihadeh avatar r3cha avatar arpitjindal97 avatar djeer avatar janlink avatar kaes3kuch3n avatar

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.