Intelligente Lösungen
in neuer Dimension

Gitea: Einrichten des Builds

Ich plane den Einsatz von Gitea. Leider kann ich die Standard-Version nicht verwenden, weil ihr ein paar Features fehlen, bspw. die Unterstützung von SK-SSH-Schlüsseln. Ich baue Gitea also selbst.

Ubuntu-20.04-Container einrichten

1
lxc launch ubuntu:20.04 build-gitea

Zusatzpakete installieren

  • git … bereits installiert
  • golang-go … v2:1.13~1ubuntu2
  • nodejs … 10.19.0~dfsg-3ubuntu1
  • npm … 6.14.4+ds-1ubuntu2
  • make … 4.2.1-1.2

Repo clonen

1
2
3
mkdir git
cd git
git clone git@github.com:uli-heller/gitea.git

Bauen

1
2
3
cd git/gitea
TAGS="bindata sqlite sqlite_unlock_notify" make build
# erzeugt "gitea"

Aktualisierung von GO

Ab Version 1.14 erfordert GITEA die Version 1.14 von GO oder neuer.

  1. Go-1.14.15 herunterladen
  2. Go-1.14.15 auspacken: mkdir ~/Software; cd ~/Software; gzip -cd .../go1.14.15.linux-amd64.tar.gz| tar xf -
  3. PATH erweitern in ~/.bashrc:
1
2
3
4
5
6
7
8
9
10
    --- .bashrc~ 2020-02-25 12:03:22.000000000 +0000
    +++ .bashrc   2021-02-08 13:46:19.608847289 +0000
    @@ -115,3 +115,6 @@
         . /etc/bash_completion
       fi
     fi
    +
    +PATH="${HOME}/Software/go/bin:${PATH}"
    +export PATH

Uli-Version

Lokal

  • Basisversion wählen: v1.13.2
  • Basisversion auschecken: git checkout -b 1.13.2-uli v1.13.2
  • Zusammenführen mit “anderen” Versionen
    • git log ed25519_sk
    • git cherry-pick 406fa489ba80f73e879f9336ee1689eb2eecccdb
  • Eventuell noch zusätzliche Änderungen vornehmen
  • Version hochschieben nach Github: git push -u origin 1.13.2-uli
  • Tag erzeugen: git tag 1.13.2-uli-01
  • Tag hochschieben: git push --tags

Build-Container

  • Anmelden mit ssh -A..., damit wir eine Verbindung zu GITHUB bekommen
  • Alle Dinge von GITHUB abholen: git fetch --all -p –> neues Tag wird angezeigt
  • Tag auschecken: git checkout 1.13.2-uli-01 –> Warnung bzgl. ‘detached HEAD’ ignorieren
  • Versionstest: git describe --tags --always –> neues Tag wird angezeigt
  • Bauen:
1
2
make clean
    TAGS="bindata sqlite sqlite_unlock_notify" make build
  • Erneuter Versionstest: ./gitea --version –> “Gitea version 1.13.2+uli-01 built with…”
  • Artefakt zum Hochladen erzeugen: xz -c9 gitea >gitea-1.13.2-uli-01-linux-amd64.xz
  • Artefakt in Github ablegen und lokal löschen

Links und Referenzen

Historie und Anmerkung

  • 2021-02-08: Go-1.14
  • 2021-02-07: Sicherstellen, dass die neue Version die richtige Versionskennung anzeigt
  • 2021-01-17: Erste Version