Wiki auf GitHub

Aus RaumZeitLabor Wiki
Wechseln zu: Navigation, Suche
   
RZL-Wiki auf GitHub

Release status: beta [box doku]

Description Export unseres Wikis zu GitHub
Author(s)  tiefpunkt
Download  https://github.com/raumzeitlabor/wiki

Dieses Wiki hier wird automatisch auf GitHub gemirrort.

Warum?

  • Wiki mit Kommandozeilentolls durchsuchen können
  • GitHub-Statistiken

Wie?

Auf tiefpunkt.vm.rzl läuft ein Syncjob. Der zieht einmal täglich alle Änderungen am Wiki in ein Git-Repo, und pusht dieses Repo dann zu GitHub hoch. Für den Import wird Git-Mediawiki benutzt. Der Export zu GitHub passiert mittels eines Deploy-Keys, der nur Zugriff auf das raumzeitlabor/wiki Repository hat.

Details

Installation von Git-Mediawiki

sudo apt-get install libmediawiki-api-perl libdatetime-format-iso8601-perl make
wget -O Makefile "https://git.kernel.org/?p=git/git.git;a=blob_plain;f=contrib/mw-to-git/Makefile;hb=HEAD"
wget -O git-remote-mediawiki "https://git.kernel.org/?p=git/git.git;a=blob_plain;f=contrib/mw-to-git/git-remote-mediawiki;hb=HEAD"
sudo make install

Initiales Setup

1. Deploy-Keypair erzeugen (ohne Passphrase)

tiefpunkt@tiefpunkt:~$ ssh-keygen -t rsa -C "wiki_deploy_key@tiefpunkt.vm.rzl"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tiefpunkt/.ssh/id_rsa): /home/tiefpunkt/wiki_deploy_key
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/tiefpunkt/wiki_deploy_key.
Your public key has been saved in /home/tiefpunkt/wiki_deploy_key.pub.

2. Deploy-Keypair im GitHub-Repo eintragen

Im Repository unter "Settings → Deploy Keys → Add deploy" key den Public Key des Deploy-Keypairs hinterlegen.

3. SSH-Config anpassen

Zur .ssh/config hginzufügen:

Host wiki.gh
Hostname github.com
User git
IdentityFile ~/wiki_deploy_key

4. Lokales Repository vorbereiten

tiefpunkt@tiefpunkt:~$ git clone mediawiki::http://raumzeitlabor.de/w ~/wiki
... Lots of text ...
tiefpunkt@tiefpunkt:~$ cd wiki
tiefpunkt@tiefpunkt:~/wiki$ git remote add github wiki.gh:raumzeitlabor/wiki.git
tiefpunkt@tiefpunkt:~/wiki$ git push github master
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
Everything up-to-date

5. update-wiki.sh

Update-Skript für Cronjob anlegen /home/tiefpunkt/update-wiki.sh

#!/bin/sh
cd /home/tiefpunkt/wiki
git pull --rebase
git push github master

Danach noch ausführbar machen:

tiefpunkt@tiefpunkt:~$ chmod +x update-wiki.sh

6. Cronjob einplanen

Skript soll einmal täglich ausgeführt werden.

tiefpunkt@tiefpunkt:~$ crontab -e
no crontab for tiefpunkt - using an empty one

0 0 * * * /home/tiefpunkt/update-wiki.sh >> /home/tiefpunkt/update-wiki.log 2>&1

crontab: installing new crontab