GitDeploy
Introduction
This plugin allows to automaticly deploy changes from a git repo and is based on KickDeploy
GitDeploy Plugin
Features
This plugin allows to listen on github hooks and than deploy changes from a git repo.
Configuration
Initial setup the plugin
- Download the latest version of the plugin
- Install the plugin using
Upload & Install
- Enable the plugin
System - GitDeploy
from the plugin manager - Register / Log into github.com
- Create an repo on github.com
- Now go to your server and clone that repo into a folder of your choice
- Please make sure you have added the remote repo
- Setup an webhook for your repo on githunb.com
- Set the
Payload URL
tohttps://www.example.org?github=true&targetSite=examle.org
(targetSite is optional and will default to the current domain) - Generate and enter an secret value only known by GitHub and you.
- Now go to the plugin options:
Git Path
: Please copy here the result ofwhich git
when you run that from your server.Git Repo
: Please set the repo name hereoctocat/hello-world
Branch
: Please set the branch name you want to pull fromRemote
: Please set the name of the remote you configuredUse Hook-Secret
&Hook-Secret
: Please enable this option and set the secret configured in the webhookRun cd
&cd Path
: You can enable this option when the git folder is not the root folder of joomlaRun git reset
: You can enable this option to run an git reset before pulling the changes
- Please switch to the
Notifications
tab in the optionsNotifications
: You can enable notificationsNotifications Provider
: Please select an notification provider where we should the notification to.- When you have selected we show you the fields we need to use that provider please set the correct data here.
- Plese save & close the plugin
- Now commit the inital code or change a file
- GitHub now sends you the webhook and the plugin executes git pull as well as sends you a notification.
Now the inital setup is completed.
Additional remarks
Suggested .htaccess rule
When you git repo is directly accessible to the web i would suggest to deny the access to the .git folder via an .htaccess file
RedirectMatch 404 /.git
Customise the Notification Message
You can customise the notification message using language overrides of the following two language strings
PLG_SYSTEM_GITDEPLOY_MESSAGE_BODY="The Github user @{pusherName} has pushed to {repoUrl} that changes have now been pulled into: {currentSite}.Here's a brief list of what has been changed:{commitsHtml}What follows is the output of the script:{gitOutput}Kind Regards, Github Webhook Endpoint"
PLG_SYSTEM_GITDEPLOY_MESSAGE_BODY_COMMITS_LINE="{commitMessage} (Added: {commitAdded} Modified: {commitModified} Removed: {commitRemoved} Commit: {commitUrl})"
Please make sure that you only use the html a
, p
, ul
, li
, strong
, small
, br
& pre
tags as well as make sure the title
attribute for links is the same as the infomation showed.
The following parameters are supported right now for the PLG_SYSTEM_GITDEPLOY_MESSAGE_BODY
language string:
{pusherName}
: The github username that pushed the changes{repoUrl}
: The URL to the github.com repo{currentSite}
: The current site the changes get deployed to or the valud of the targetSite when configured{commitsHtml}
: The generated commit lines{gitOutput}
: The output of the git command we executed.
The following parameters are supported right now for the PLG_SYSTEM_GITDEPLOY_MESSAGE_BODY_COMMITS_LINE
language string:
{commitMessage}
: The commit message for that commit{commitAdded}
: The count of added lines{commitModified}
: The count of modified lines{commitRemoved}
: The count of removed lines{commitUrl}
: The URL to the commit on github.com
Update Server
Please note that my update server only supports the latest version running the latest version of Joomla and atleast PHP 7.2.5.
Any other plugin version I may have added to the download section don't get updates using the update server.
Issues / Pull Requests
You have found an Issue, have a question or you would like to suggest changes regarding this extension?
Open an issue in this repo or submit a pull request with the proposed changes.
Translations
You want to translate this extension to your own language? Check out my Crowdin Page for my Extensions for more details. Feel free to open an issue here on any question that comes up.
GitDeploy
- Version:
- 1.0.2
- Developer:
- Tobias Zulauf
- Last updated:
-
Mar 17 2024
9 months ago - Date added:
- Oct 29 2020
- License:
- GPLv2 or later
- Type:
- Free download
- Includes:
- p
- Compatibility:
- J3 J4
Share