scriptburn / git-auto-deploy
Deploy your GitHub, GitLab or Bitbucket projects automatically on Git push events or web hooks Edit
Installs: 588
Dependents: 0
Suggesters: 0
Security: 0
Stars: 310
Watchers: 17
Forks: 70
Open Issues: 5
Requires
- php: ^7.0
- akrabat/rka-ip-address-middleware: ^0.5.0
- bryanjhv/slim-session: ^3.3
- jeremykendall/password-validator: ^3.0
- kanellov/slim-twig-flash: ^0.2.0
- monolog/monolog: ^1.13
- phpmailer/phpmailer: ^5.2
- scriptburn/db-settings: >=1.0
- scriptburn/db-version-update: >=1.0
- scriptburn/simple-debug: >=1.0
- slim/flash: ^0.2.0
- slim/pdo: ^1.10
- slim/slim: ^3.0
- slim/twig-view: ^2.0
- symfony/process: ^3.3
README
Deploy your GitHub, GitLab or Bitbucket projects automatically on Git push events or web hooks
Installation
-
With Composer
composer create-project --no-interaction scriptburn/git-auto-deploy my-app
-
Or simply download and unzip from github
-
Suggest you to create a subdomain like deploy.example.com
-
open app\settings.php and update db, git_path, composer_path according to your server
-
Make sure to add webserver user's public ssh keys in GitHub, BitBucket, GitLab
-
Login to your ssh as the same user as your webserver process is running and issue these commands And accept 'Yes' after you have added your public ssh keys to GitHub, BitBucket, GitLab
$ ssh git@github.com
$ ssh git@bitbucket.com
$ ssh git@gitlab.com
-
$ pbcopy < ~/.ssh/id_rsa.pub
-
Put http://< your-domain >/webhook as WebHook url in appropriate repository
-
Default login and password is admin and admin
-
Now Create a new project and appropriate details and you are ready to go
-
After you push the changes to your remote repo deployment process in your server will start and if you entered your email in project form you will get detailed deployment log or you can check last deployment log any time by visting project list page
Pre/Post Hook script
You can check sample-post-hook.php
for sample code used in a post hook script
Login Page
Projects list page:
Projects Form:
- Options to add custom pre and post deployment script.
- Option to send detailed Deployment status report to provided email
- Mark a project active or inactive
- Run composer update after successfull deployment