Dienst:Homepage: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(18 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Dienste]][[Kategorie:Infrastruktur]]
[[Kategorie:Dienste]][[Kategorie:Infrastruktur]]
{{note|ueberschrift=Deployment kaputt|text=Im Moment funktioniert das deployment nicht. Bei einem update [[Benutzer:Gevatter|gevatter]] pingen. Über die Mailingliste ist er nicht erreichbar.}}




Zeile 8: Zeile 6:


Q: Wie ändere ich was?
Q: Wie ändere ich was?
# Fork auf github erstellen.
* Änderungen auf gitlab einstellen (https://git.kbu.freifunk.net/ff-kbu/website),
# checkout & Aufsetzen der Entwicklungsumgebung (wie unten beschrieben)
** Gitlab hat einen Web-Editor, über den Dateien bearbeitet werden können
# Ändern und testen
** Best-practice: '''Eigenen Branch''' (fork) für jede zusammenhängende Änderung erstellen
# Pull-Request mit den Änderungen erstellen
**  Änderungen auf dem '''master'''-branch werden '''sofort live''' gestellt.  
** Alternativ checkout & Aufsetzen der Entwicklungsumgebung
* Ändern und testen (gitlab-ci durchlaufen lassen)
* Merge-Request mit den Änderungen erstellen
 
== Review / Rechte / 4-Augen Prinzip ==
 
* Grundsätzlich: Änderungen an der Homepage nur nach Rücksprache. Öffentlichkeitsarbeit betrifft alle.
* Gitlab-Accounts in der KBU-Gruppe (vgl. https://git.kbu.freifunk.net/ff-kbu/website/-/project_members) können Änderungen vornehmen. Mitglieder sind die Freifunker, das Projekt länger begleiten. Die Aufnahme erfolgt auf Anfrage / Rücksprache.
* Review:
** Für blog-Artikel hat sich ein Review / 4-Augen Prinzip bewährt. Hierbei geht's darum, Tippfehler zu entfernen und Missverständnisse zu vermeiden.
** Für kleinere Änderungen (z.B. kaputten Link reparieren), kann ein review helfen (z.B. um alle Stellen zu finden; auch auf der englischen Seite), ist aber nicht zwigend nötig.
** Größere Änderungen an anderen Teilen der Homepage sollte mit der Community abgestimmt sein.


== Technik ==
== Technik ==
Zeile 20: Zeile 30:
* Aus semantischen Gründen stehen nur die Überschrifen h1-h3, respektive # - ### in markdown zur Verfügung, beim Rendern werden diese verarbeitet
* Aus semantischen Gründen stehen nur die Überschrifen h1-h3, respektive # - ### in markdown zur Verfügung, beim Rendern werden diese verarbeitet
* Mittels <code>&lt;!--break--&gt;</code> kann ein Beitrag Einleitung und restlichen Text unterteilt werden.
* Mittels <code>&lt;!--break--&gt;</code> kann ein Beitrag Einleitung und restlichen Text unterteilt werden.
: Dabei sollte die Einleitung auf der Homepage nur ein oder zwei Absätze lang sein, der Rest ist dann auf der folgeseite zu lesen. Das bitte in der Zukunft beachten.
== Einrichten der Entwicklungsumgebung ==
Die Ruby dependencies sind recht alt (ein Upgrade des jekyll-fFrameworks steht eigentlich an). Damit bietet sich Docker für die lokale Entwicklung an.
=== Docker ===
Vgl. https://git.kbu.freifunk.net/ff-kbu/website/blob/master/.gitlab-ci.yml


== Workflow ==
* Image: ruby:2.2-jessie
* Änderungsvorschläge werden als Pull-Request gegen das github-Repo erstellt (https://github.com/ff-kbu/website - Branch: master)
 
* Nach dem 4-Augen Prinzip wird der Pull-Request merged -- Kommentare, fragen werden dort hinterlegt
Vorbereiten des Containers
* Existiert eine Änderung, so wird die Homepage stündlich automatisch über jenkins deployed (https://apps.jluehr.de/jenkins/view/KBU/job/kbu-jenkins-deploy/configure)
<pre>
# git clone ausführen und in das Verzeichnis wechseln
$ gem install bundler --no-ri --no-rdoc -v 1.17.3
$ bundle install  --path vendor
$ bundle exec jekyll serve # Startet einen Server, siehe unten (How to jekyll)
</pre>


== Einrichten der Entwicklungsumgebung ==
=== Debian Wheezy ===  
=== Debian Stable / Wheezy ===  
<pre>
<pre>
mkdir /verzeichnis/zur/website/
mkdir /verzeichnis/zur/website/
Zeile 35: Zeile 57:
<pre>
<pre>
apt-get install ruby1.9.1 jekyll bundler git imagemagick
apt-get install ruby1.9.1 jekyll bundler git imagemagick
git clone https://github.com/ff-kbu/website.git
git clone https://git.kbu.freifunk.net/ff-kbu/website.git
bundle install
bundle install
</pre>
</pre>
Zeile 49: Zeile 71:
sudo port install ruby1.9 gem1.9 ImageMagick git-core Jekyll
sudo port install ruby1.9 gem1.9 ImageMagick git-core Jekyll
gem1.9 install bundler
gem1.9 install bundler
git clone https://github.com/ff-kbu/website.git
git clone https://git.kbu.freifunk.net/ff-kbu/website.git
bundle install
bundle install
</pre>
</pre>
Zeile 57: Zeile 79:
<pre>
<pre>
bundle exec jekyll build // die Seite bauen
bundle exec jekyll build // die Seite bauen
bundle exec jekyll -w // uns Änderungen anzeigen lassen
bundle exec jekyll -w         // uns Änderungen anzeigen lassen
bundle exec jekyll serve -w // Einen lokalen Server starten auf port 4000 (http://0.0.0.0:4000) auf dem wir eine Vorschau  
bundle exec jekyll serve -w // Einen lokalen Server starten auf port 4000 (http://0.0.0.0:4000) auf dem wir eine Vorschau  
                // der Seite betrachten können.  
                                // der Seite betrachten können.  
</pre>
</pre>


Zeile 65: Zeile 87:
Aktuellen Source der Page clonen
Aktuellen Source der Page clonen
<pre>
<pre>
git clone https://github.com/ff-kbu/website.git
git clone https://git.kbu.freifunk.net/ff-kbu/website.git
</pre>
</pre>


Zeile 74: Zeile 96:
git add README.md
git add README.md
git commit -m "first commit"
git commit -m "first commit"
git remote add origin https://github.com/username/repo-name.git
git remote add origin https://git.kbu.freifunk.net/username/repo-name.git
git push -u origin master
git push -u origin master
</pre>
</pre>
== Autodeployment via jenkins  ==
Build & Deployment der Homepage
* Schedule: H/5 * * * *
* Kommando
/usr/local/bin/jekyll build
rsync -Havc -e "ssh -p 2222 -l www-data-jenkins" ./_site/ kbu.freifunk.net:/srv/apache2/kbu.freifunk.net/htdocs

Aktuelle Version vom 18. Januar 2020, 10:15 Uhr


Dokumentation zur Homepage

Q: Wie ändere ich was?

  • Änderungen auf gitlab einstellen (https://git.kbu.freifunk.net/ff-kbu/website),
    • Gitlab hat einen Web-Editor, über den Dateien bearbeitet werden können
    • Best-practice: Eigenen Branch (fork) für jede zusammenhängende Änderung erstellen
    • Änderungen auf dem master-branch werden sofort live gestellt.
    • Alternativ checkout & Aufsetzen der Entwicklungsumgebung
  • Ändern und testen (gitlab-ci durchlaufen lassen)
  • Merge-Request mit den Änderungen erstellen

Review / Rechte / 4-Augen Prinzip

  • Grundsätzlich: Änderungen an der Homepage nur nach Rücksprache. Öffentlichkeitsarbeit betrifft alle.
  • Gitlab-Accounts in der KBU-Gruppe (vgl. https://git.kbu.freifunk.net/ff-kbu/website/-/project_members) können Änderungen vornehmen. Mitglieder sind die Freifunker, das Projekt länger begleiten. Die Aufnahme erfolgt auf Anfrage / Rücksprache.
  • Review:
    • Für blog-Artikel hat sich ein Review / 4-Augen Prinzip bewährt. Hierbei geht's darum, Tippfehler zu entfernen und Missverständnisse zu vermeiden.
    • Für kleinere Änderungen (z.B. kaputten Link reparieren), kann ein review helfen (z.B. um alle Stellen zu finden; auch auf der englischen Seite), ist aber nicht zwigend nötig.
    • Größere Änderungen an anderen Teilen der Homepage sollte mit der Community abgestimmt sein.

Technik

Blogposts

  • Werden in Markdown geschrieben [1]
  • Aus semantischen Gründen stehen nur die Überschrifen h1-h3, respektive # - ### in markdown zur Verfügung, beim Rendern werden diese verarbeitet
  • Mittels <!--break--> kann ein Beitrag Einleitung und restlichen Text unterteilt werden.
Dabei sollte die Einleitung auf der Homepage nur ein oder zwei Absätze lang sein, der Rest ist dann auf der folgeseite zu lesen. Das bitte in der Zukunft beachten.

Einrichten der Entwicklungsumgebung

Die Ruby dependencies sind recht alt (ein Upgrade des jekyll-fFrameworks steht eigentlich an). Damit bietet sich Docker für die lokale Entwicklung an.

Docker

Vgl. https://git.kbu.freifunk.net/ff-kbu/website/blob/master/.gitlab-ci.yml

  • Image: ruby:2.2-jessie

Vorbereiten des Containers

# git clone ausführen und in das Verzeichnis wechseln
$ gem install bundler --no-ri --no-rdoc -v 1.17.3
$ bundle install  --path vendor
$ bundle exec jekyll serve # Startet einen Server, siehe unten (How to jekyll)

Debian Wheezy

mkdir /verzeichnis/zur/website/
cd /verzeichnis/zur/website/

Notwendige Jekyll Komponenten installieren:

apt-get install ruby1.9.1 jekyll bundler git imagemagick
git clone https://git.kbu.freifunk.net/ff-kbu/website.git
bundle install

OSX

Getestet unter OS 10.6.8

mkdir /verzeichnis/zur/website/
cd /verzeichnis/zur/website/

Notwendige Jekyll Komponenten installieren, vorraussetzung ist Macports:

sudo port install ruby1.9 gem1.9 ImageMagick git-core Jekyll
gem1.9 install bundler
git clone https://git.kbu.freifunk.net/ff-kbu/website.git
bundle install

How to Jekyll

Soweit so gut, jetzt können wir:

bundle exec jekyll build 	// die Seite bauen
bundle exec jekyll -w	        // uns Änderungen anzeigen lassen
bundle exec jekyll serve -w	// Einen lokalen Server starten auf port 4000 (http://0.0.0.0:4000) auf dem wir eine Vorschau 
                                // der Seite betrachten können. 

Git Repo

Aktuellen Source der Page clonen

git clone https://git.kbu.freifunk.net/ff-kbu/website.git

Wer einen Account auf github hat, kann so von der Shell auf ein neues Repo erstellen:

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://git.kbu.freifunk.net/username/repo-name.git
git push -u origin master