Gitlab bietet mittlerweile Unterstützung für Google Analytics (durch setzen der google_analytics_id Option) an, aber nicht für Piwik. Das können wir aber ändern
Ein HAML Template für Piwik
Gitlab verwendet intensiv haml so, dass es Sinn macht ein eigenes Piwik template zu erstellen. Als Vorlage kann man das Google Analytics Template verwenden.
Um das Template einzubinden, erstellt man als git-Benutzer die Datei ~/gitlab/app/views/layouts/_piwik.html.hamlund fügt dort folgenden Inhalt ein:
/ Piwik site specific tracking js
:javascript
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://" + "#{extra_config.piwik_address}" + "/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '#{extra_config.piwik_site_no}']);
var d=document,
g=d.createElement('script'),
s=d.getElementsByTagName('script')[0];
g.type='text/javascript';
g.defer=true; g.async=true;
g.src=u+'piwik.js';
s.parentNode.insertBefore(g,s);
})();
%noscript
%img{ :src => "http://#{extra_config.piwik_address}/piwik.php?idsite=#{extra_config.piwik_site_no}", :style => "border:0", :alt => "" }/
/ End Piwik Tracking Code
Einbinden des Templates im head
Damit das neu erstellte Piwik Template auch verwendet wird, müssen wird es in der Datei _head.html.haml einbinden. Diese Template kümmert sich um das Rendern des HTML heads und ist damit der richtige Ort für die Einbindung des Piwik-Scripts. Nach der Änderung sollte die Datei ~gitlab/app/views/layouts/_head.html.haml wie folgt aussehen:
%head
%meta{charset: "utf-8"}
%title
(....)
(....)
= render 'layouts/google_analytics' if extra_config.has_key?('google_analytics_id')
= render 'layouts/piwik' if extra_config.has_key?('piwik_site_no') && extra_config.has_key?('piwik_address')
(...)
Hinzufügen der Konfigurations-Optionen
Zum Abschluss müssen wir noch die Konfiguratoins-Optionen in das gitlab-Konfiguartionsfile aufnehmen (piwik_site_no und piwik_address).
Dazu bearbeiten wird die Datei ~gitlab/config/gitlab.yml und fügen unter dem Abschnitt
extra: direkt unter den Google Analytics den folgenden Inhalt ein:
## Google analytics. Uncomment if you want it # google_analytics_id: '_your_tracking_id' ## Piwik analytics. Uncomment BOTH if you want it ##piwik_address must NOT include trailing slash and must NOT include http or https piwik_site_no: '1' piwik_address: 'piwik.mydomain.com'
Gitlab neu starten
Der letzte Schritt stellt den Neustart von gitlab dar. Dazu führt man als root-Benutzer folgenden Befehl aus:
service gitlab restart
Glückwunsch, damit sollte nun Piwik-Tracking in Gitlab funktionieren!
Quelle
https://bcaron.me/2013/uncategorized/piwik-tracking-on-a-gitlab-server