This GitLab CI runner image allows to deploy a GitLab project to a remote Git repo (useful for Dokku, Heroku, Deis, etc.)
Create .gitlab-ci.yml
:
image: novitsh/gitlab-ci-git-push
stages:
- deploy
deploy to production:
stage: deploy
environment: production
only:
- master
script: git-push dokku@dokku.me:myapp
Go to GitLab > Project > Settings > CI/CD Pipelines > Secret Variables, and add a variable SSH_PRIVATE_KEY
:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
By default, git-push
will push to branch master
of a remote repository (that's what Dokku wants). You can override this with:
git-push user@git.host:repo branch
git-push ssh://dokku@dokku.me:8022/myapp