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: ilyasemenov/gitlab-ci-git-push
stages:
- deploy
deploy to production:
stage: deploy
environment: production
only:
- master
script: git-push [email protected]: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 [email protected]:repo branch
git-push ssh://[email protected]:8022/myapp
By default, git push will be forced. You can disable force push by setting environment variable DISABLE_FORCE_PUSH
to any value.