Skip to content

Commit

Permalink
ADD build release
Browse files Browse the repository at this point in the history
  • Loading branch information
TapTap21 committed Nov 2, 2020
1 parent 5649c26 commit 2e40088
Show file tree
Hide file tree
Showing 3 changed files with 100 additions and 5 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Example usage

on:
release:
types:
- created

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
context: ./
file: ./Dockerfile
push: true
tags: |
taptap21/docker-remote-deployment-action:latest
taptap21/docker-remote-deployment-action:${{ github.event.release.tag_name }}
73 changes: 72 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,72 @@
# docker-remote-deployment-action
# Docker Deployment Action
A [GitHub Action](https://github.com/marketplace/actions/docker-deployment) for docker-compose deployments on a remote host using SSH.
TODO: Update action URL
The Action is adapted from work by [wshihadeh](https://github.com/marketplace/actions/docker-deployment)


## Example

Below is an example of how the action can be used

```yaml
- name: Start Deployment
uses: TapTap21/docker-remote-deployment-action@v1.0
with:
remote_docker_host: ec2-user@ec2-34-246-134-80.eu-west-1.compute.amazonaws.com
ssh_private_key: ${{ secrets.DOCKER_SSH_PRIVATE_KEY }}
ssh_public_key: ${{ secrets.DOCKER_SSH_PUBLIC_KEY }}
stack_file_name: docker-compose.yml
docker_login_password: ${{ secrets.DOCKER_REPO_PASSWORD }}
docker_login_user: ${{ secrets.DOCKER_REPO_USERNAME }}
docker_login_registry : ${{ steps.login-ecr.outputs.registry }}
args: -p myapp up -d
```
Use the latest tag to run the latest build or a specific version tag. The action pulls a docker image instead of building one to improve performance.
## Input
Below is a breakdown of the expected action inputs.
### `args`

Docker-compose runtime arguments and options. Below is a common usage example:

- `-p app_stack_name -d up`

### `remote_docker_host`

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

### `ssh_public_key`

Remote Docker SSH public key.

### `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-----)

### `ssh_port`

The SSH port to be used. Default is 22.

### `stack_file_name`

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

### `docker_login_user`

The username for the container repository user. (DockerHub, ECR, etc.)

### `docker_login_password`

The password for the container repository user.

### `docker_login_registry`

The docker container registry to authenticate against

## License

This project is licensed under the MIT license. See the [LICENSE](LICENSE) file for details.
5 changes: 1 addition & 4 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ inputs:
stack_file_name:
description: Docker stack file used. Default is docker-compose.yaml
required: false
pre_deployment_command_args:
description: The args for the pre deploument command.
required: false
ssh_port:
description: The ssh port of the server. Default is 22
required: false
Expand All @@ -35,7 +32,7 @@ inputs:

runs:
using: docker
image: Dockerfile
image: docker://taptap21/docker-remote-deployment-action:v1.0

branding:
icon: send
Expand Down

0 comments on commit 2e40088

Please sign in to comment.