diff --git a/docs/deployment/continuous-integration/generic.md b/docs/deployment/continuous-integration/generic.md new file mode 100644 index 000000000..22154a923 --- /dev/null +++ b/docs/deployment/continuous-integration/generic.md @@ -0,0 +1,25 @@ +# Generic CI/CD Integration + +In cases where there is no direct or documented integration available, the Dokku project provides an [Official Docker Image](https://github.com/dokku/ci-docker-image) for use in Continuous Integration/Continuous Deployment (CI/CD) 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: + +- [circleci](https://circleci.com/) +- [cloudbees](https://www.cloudbees.com/) +- [drone](https://www.drone.io/) +- [github actions](https://github.com/features/actions) +- [gitlab-ci](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/) +- [semaphoreci](https://semaphoreci.com/) +- [travisci](https://travis-ci.com/) + +## Simple Usage + +The simplest usage of the image is as follows. + +```shell +# where the `.env` file contains `GIT_REMOTE_URL` and `SSH_PRIVATE_KEY` + +docker run --rm -v="$PWD:/app" --env-file=.env dokku/ci-docker-image dokku-deploy +``` + +For more configuration examples and further documentation, see the [ci-docker-image](https://github.com/dokku/ci-docker-image) readme. diff --git a/docs/deployment/continuous-integration/github-actions.md b/docs/deployment/continuous-integration/github-actions.md new file mode 100644 index 000000000..a42e5243d --- /dev/null +++ b/docs/deployment/continuous-integration/github-actions.md @@ -0,0 +1,31 @@ +# Github Actions + +The Dokku project has an official Githb Action available on the [Github Marketplace](https://github.com/marketplace/actions/dokku). The simplest usage example is as follows: + +```yaml +--- +name: 'deploy' + +on: + push: + branches: + - master + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Cloning repo + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Push to dokku + uses: dokku/github-action@v1 + with: + git_remote_url: 'ssh://dokku@dokku.me:22/appname' + ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} +``` + + +For further usage documentation and other advanced examples, see the entry on the [Github Marketplace](https://github.com/marketplace/actions/dokku). diff --git a/docs/community/tutorials/deploying-with-gitlab-ci.md b/docs/deployment/continuous-integration/gitlab-ci.md similarity index 99% rename from docs/community/tutorials/deploying-with-gitlab-ci.md rename to docs/deployment/continuous-integration/gitlab-ci.md index e35119752..878b709bb 100644 --- a/docs/community/tutorials/deploying-with-gitlab-ci.md +++ b/docs/deployment/continuous-integration/gitlab-ci.md @@ -1,4 +1,4 @@ -# Deploying with Gitlab CI +# Gitlab CI Gitlab-CI can be used to automatically deploy a Dokku application using the [ilyasemenov/gitlab-ci-git-push image](https://github.com/IlyaSemenov/gitlab-ci-git-push) docker image. diff --git a/docs/template.html b/docs/template.html index 71177f27a..b70d25966 100644 --- a/docs/template.html +++ b/docs/template.html @@ -175,6 +175,11 @@ Running Tests Release Process + Continuous Integration + Github Actions + Gitlab CI + Generic + Community Contributions Clients Plugins diff --git a/docs/viewdocs.json b/docs/viewdocs.json index 15bc26ce1..24cb978ae 100644 --- a/docs/viewdocs.json +++ b/docs/viewdocs.json @@ -30,6 +30,8 @@ "dokku-events-logs": "advanced-usage/event-logs/", "dokku-storage": "advanced-usage/persistent-storage/", + "community/tutorials/deploying-with-gitlab-ci": "deployment/continuous-integration/gitlab-ci/", + "plugins": "community/plugins/" } }