Docker Remote Deployment Action
A GitHub Action that supports docker-compose and Docker Swarm deployments on a remote host using SSH.
The Action is adapted from work by wshihadeh and TapTap21
Example
Below is a brief example on how the action can be used:
- name: Deploy to Docker swarm
uses: sulthonzh/docker-remote-deployment-action@v1
with:
remote_docker_host: user@host
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}
ssh_public_key: ${{ secrets.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
remote_docker_host
Remote Docker host ie (user@host).
remote_docker_port
Remote Docker ssh port ie (22).
ssh_public_key
Remote Docker SSH public key eg (~/.ssh/rsa_id.pub).
ssh_private_key
SSH private key used to connect to the docker host eg (~/.ssh/rsa_id).
args
Deployment command args.
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.yml.
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. Default is false.
pre_deployment_command_args
The args for the pre deploument command.
pull_images_first
Pull docker images before deploying. Default is false.
docker_registry_username
The docker registry username.
docker_registry_password
The docker registry password.
docker_registry_uri
The docker registry URI. Default is https://registry.hub.docker.com.