Introduction

GitHub Display, Site Management, Site management tools

This plugin allows to automaticly deploy changes from a git repo and is based on KickDeploy


GitDeploy Plugin

Sponsoring and Donation

You want to support my work for the development of my extensions and my work for the Joomla! Project you can give something back and sponsor me.

There are two ways to support me right now:
- This extension is part of Github Sponsors by sponsoring me, you help me continue my oss work for the Joomla! Project, write bug fixes, improving features and maintain my extensions.
- You just want to send me an one-time donation? Great you can do this via PayPal.me/zero24.

Thanks for your support!

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 to https://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 of which git when you run that from your server.
    • Git Repo: Please set the repo name here octocat/hello-world
    • Branch: Please set the branch name you want to pull from
    • Remote: Please set the name of the remote you configured
    • Use Hook-Secret & Hook-Secret: Please enable this option and set the secret configured in the webhook
    • Run cd & cd Path: You can enable this option when the git folder is not the root folder of joomla
    • Run git reset: You can enable this option to run an git reset before pulling the changes
  • Please switch to the Notifications tab in the options
    • Notifications: You can enable notifications
    • Notifications 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.

AdvancedRedirect
Free

AdvancedRedirect

By Tobias Zulauf
URL Redirection
AdvancedRedirect Plugin This plugin is based on the Joomla Core Redirect Plugin and acts as a so-called drop in replacement for the Core Plugin. In addition to the Joomla Core Plugin, it allows you to define your own derivation rules. Sponsoring and Donation You want to support my work for the development of my extensions and my work for the Joomla! Project you can give something back and spons...
HttpHeader
Free

HttpHeader

By Tobias Zulauf
Security Tools
HttpHeader Plugin This Joomla Plugin implements an UI Layer for the HTTP Security headers so everyone can set and configure them from the backend. Sponsoring and Donation You want to support my work for the development of my extensions and my work for the Joomla! Project you can give something back and sponsor me. There are two ways to support me right now: - This extension is part of Github S...
PrivacyCheckbox
Free

PrivacyCheckbox

By Tobias Zulauf
Custom Fields
PrivacyCheckbox Plugin This Joomla plugin lets you create new fields of type 'privacycheckbox' in any extensions where custom fields are supported. Sponsoring and Donation You want to support my work for the development of my extensions and my work for the Joomla! Project you can give something back and sponsor me. There are two ways to support me right now: - This extension is part of Github...
FetchMetadata
Free

FetchMetadata

By Tobias Zulauf
Security Tools
FetchMetadata Plugin This Joomla Plugin helps to protect your sites by using Fetch Metadata Request Headers (w3c-spec) Sponsoring and Donation You use this extension in an commercial context and / or want to support me and give something back? There are two ways to support me right now: - This extension is part of Github Sponsors by sponsoring me, you help me continue my oss work for the Jooml...
ImageLazyloading
Free

ImageLazyloading

By Tobias Zulauf
Images
ImageLazyloading Plugin This Joomla Plugin sets the lazyloading attribute to images. Sponsoring and Donation You want to support my work for the development of my extensions and my work for the Joomla! Project you can give something back and sponsor me. There are two ways to support me right now: - This extension is part of Github Sponsors by sponsoring me, you help me continue my oss work for...
CustomCSS
Free

CustomCSS

By Tobias Zulauf
Templating
CustomCSS Plugin This Joomla plugin lets you load a custom.css / custom.min.css when the template does not support that out of the box. Sponsoring and Donation You want to support my work for the development of my extensions and my work for the Joomla! Project you can give something back and sponsor me. There are two ways to support me right now: - This extension is part of Github Sponsors by...
AntiSpamExtended
Free

AntiSpamExtended

By Tobias Zulauf
Access & Security
AntiSpamExtended Plugin This Joomla Plugin implements an additional Anti-spam Protection Layer to your Joomla Contact Forms by allowing you to block any non ascii chars or banned words / chars Sponsoring and Donation You use this extension in an commercial context and / or want to support me and give something back? There are two ways to support me right now: - This extension is part of Github...
Force2faUsergroup
Free

Force2faUsergroup

By Tobias Zulauf
Security Tools
Force2faUsergroup Plugin This plugin allows to force users to set up 2FA in a specific user group. Sponsoring and Donation You want to support my work for the development of my extensions and my work for the Joomla! Project you can give something back and sponsor me. There are two ways to support me right now: - This extension is part of Github Sponsors by sponsoring me, you help me continue m...
MyDocsLanguage
Free

MyDocsLanguage

By Tobias Zulauf
Content Links
MyDocsLanguage Plugin This Joomla plugin automatically adds the Special:MyLanguage tag for docs.joomla.org links if needed Sponsoring and Donation You want to support my work for the development of my extensions and my work for the Joomla! Project you can give something back and sponsor me. There are two ways to support me right now: - This extension is part of Github Sponsors by sponsoring me...

GitDeploy

Version:
1.0.0
Developer:
Tobias Zulauf
Last updated:
Oct 31 2020
1 month ago
Date added:
Oct 29 2020
License:
GPLv2 or later
Type:
Free download
Includes:
p
Compatibility:
J3 J4 Beta
Download

Uses Joomla! Update System