60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
|
|
# Docker Remote Deployment Action
|
||
|
|
|
||
|
|
A [GitHub Action](https://github.com/marketplace/actions/docker-remote-deployment) that supports docker-compose and Docker Swarm deployments on a remote host using SSH.
|
||
|
|
|
||
|
|
The Action is adapted from work by [wshihadeh](https://github.com/wshihadeh/docker-deployment-action) and [TapTap21/docker-remote-deployment-action)
|
||
|
|
|
||
|
|
## Example
|
||
|
|
|
||
|
|
Below is a brief example on how the action can be used:
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
- 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.
|
||
|
|
|