Um die Website lokal einzurichten, sind folgende Schritte notwendig:
-
Ruby >= 2.1 installieren, falls noch nicht vorhanden
⚠️ Hinweis für Mac-User: macOS Sierra bringt leider nur Ruby 2.0 mit. Du musst dir deshalb manuell ein neueres installieren. Am besten geht das mit Tools wie Rbenv oder RVM (siehe Kurzanleitung unten).So kannst du prüfen, welche Ruby-Version bei dir gerade läuft:
$ ruby --version
-
Bundler installieren, falls noch nicht vorhanden
$ gem install bundler
-
Bundles installieren
$ bundle install
-
Jekyll starten
$ bundle exec jekyll serve
Danach ist die Website unter
http://localhost:4000
verfügbar.
-
Ruby Aktualisierung auf dem Mac
Terminal öffnen und folgenden Befehl eingeben
$ \curl -sSL https://get.rvm.io | bash -s stable --ruby
Wenn die Installation durch ist, ein neues Terminalfenster öffnen und den Befehl
rvm list known
absetzen. Das zeigt eine Liste aller Ruby Versionen. Ist die Version 2.4 nicht dabei, kann man mitrvm install ruby-2.4.0
diese installieren. Mitruby -v
erfährt man die aktuell genutzte Version. Sollte es eine ältere Version als 2.4 sein, kann man mitrvm use ruby-2.4.0
das anpassen.Sollte die Installation schieflaufen, überprüfe, ob die XCode Command Line Developer Tools installiert sind:
$ xcode-select --install
-
⚠️ Diese Warnung im Terminal beim Start von Jekyll kannst du normalerweise ignorieren:GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
Sie erscheint, weil der Zugriff auf die API limitiert ist, wenn du die Seite lokal ausführst. Alle für uns relevanten Daten sind jedoch bereits vorhanden, und es ist normalerweise nicht nötig, sich für den API-Zugriff zu authorisieren.
-
Sollte deine IP jedoch ins API-Limit gelaufen sein, kommst du leider nicht darum herum, einen Personal access token zu erstellen. Die Option dafür findest du innerhalb der Settings deines GitHub-Profils (Anleitung bei GitHub), und der Token benötigt lediglich den Scope für
public_repo
.Den Token benutzt du am einfachsten so, dass du ihn beim Start von Jekyll verwendest:
$ JEKYLL_GITHUB_TOKEN=DEIN_TOKEN bundle exec jekyll serve
-
Hier findest du eine Dokumentation bei GitHub darüber, wie man Jekyll lokal verwendet: https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/
Wir nutzen GitHub Actions, um in regelmäßigen Abständen (schedule
) die Website zu aktualisieren.
Zu beachten ist dabei, dass der GITHUB_TOKEN
nicht über die notwendigen Rechte verfügt, um die Aktualisierung anzustoßen. Es muss stattdessen ein Personal Access Token (PAT) von einem Nutzer mit Schreibrechten (write
) auf das Repo — wir benutzen dazu üblicherweise den FOR Bot — eingerichtet werden. Dieser benötigt lediglich den Scope public_repo
und wird anschließend als Repository Secret hinterlegt, so dass er innerhalb der GitHub Actions benutzt werden kann.
(Update 2021: Statt Travis CI nutzen wir inzwischen GitHub Actions.)
Bei Travis läuft ein täglicher Cronjob, um die Website zu aktualisieren, auch wenn keine Commits gemacht worden sind. Damit Travis auf die GitHub-Metadaten des Repositorys zugreifen kann, muss ein GitHub-Token angegeben werden. Dieser kann in einem der verknüpften GitHub-Accounts (also jedem FOR-Mitglied) angelegt werden unter »Settings > Developer settings > Personal access tokens«. Er benötigt lediglich die Permission public_repo
.
Wir benutzen die Travis CLI, um damit ein Secret zu generieren, der in der .travis.yml
im Repo hinterlegt wird. Die Anleitung davon gibt es hier: Encryption keys.
In Kurzform:
travis encrypt GITHUB_TOKEN="{hier der GitHub Token}" --add