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

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. Configuration Initial setup the plugin Download the latest version of the plugin Install the plugin using Upload & Install Disable the core System - Redirec...
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. Feature This plugin allows you to creates a single checkbox field in any form that supports custom fields e.g. in the contact form where you can make sure the privacy message is checked. But this also allow any other single checkbox usecase. Over th...
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) Features This Joomla Plugin helps to protect your sites by using Fetch Metadata Request Headers The implemened rules are: - Step 1: Allow requests from browsers which don't send Fetch Metadata - Step 2: Allow same-site and browser-initiated requests - Step 3: Allow simple top-...
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. Features This plugin allows to force users to set up 2FA in a specific user group. Setup the groups to force a 2FA setup on the next login. Configuration Initial setup the plugin Download the latest version of the plugin Install the plugin using Upload & Install Enable the plugin System...
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. Features This Joomla Plugin helps you to set the following HTTP Security Headers. - Strict-Transport-Security - Content-Security-Policy - Content-Security-Policy-Report-Only - X-Frame-Options - X-XSS-Protection - X-Content-Type-Options - Referrer-Pol...
ImageLazyloading
Free

ImageLazyloading

By Tobias Zulauf
Images
ImageLazyloading Plugin This Joomla Plugin sets the lazyloading attribute to images. Features This Joomla Plugin sets the lazyloading attribute to all images that passes the onContentPrepare Event to allow modern browsers to lazyload the images. More information about the loading attribute: - Description: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-loading. - HTML Specif...
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. Thanks for your support! Feature This plugin checks whether a custom.css (or custom.min.css) file exists at /templates/"templatename"/css or /administrator/templates/"templatename"/css. If present, it will be loaded to the site. - With a custom.css you can ove...
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 Features This Joomla Plugin allows you to protect you joomla contact form by allowing you to: - block any non ascii chars - whitelist allowed non-ascii chars - maintain a blacklist of not allowed words /...
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 Feature This plugin runs onContentBeforeSave and makes sure that all links to docs.joomla.org contain the Special:MyLanguage tag for translation. Configuration Initial setup the plugin Download the latest version of the plugin Install the plugin using Upload & Insta...

GitDeploy

Version:
1.0.2
Developer:
Tobias Zulauf
Last updated:
Jan 18 2022
8 months ago
Date added:
Oct 29 2020
License:
GPLv2 or later
Type:
Free download
Includes:
p
Compatibility:
J3 J4
Download

Uses Joomla! Update System