147 lines
6.7 KiB
HTML
147 lines
6.7 KiB
HTML
<!doctype html>
|
||
<html lang="en-us">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title>dadada</title>
|
||
<link
|
||
rel="alternate"
|
||
type="application/atom+xml"
|
||
href="https://dadada.li/feed.xml"
|
||
title="dadada"
|
||
/>
|
||
<link rel="stylesheet" type="text/css" href="../../pagestyle.css" />
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<nav>
|
||
<a href="https://dadada.li/">dadada</a>
|
||
</nav>
|
||
</header>
|
||
<main>
|
||
<h1 id="gitlab-als-archivar">📚 Gitlab als Archivar 📔</h1>
|
||
<p>Eine kleine Spielerei zur Datensicherung.</p>
|
||
<p>
|
||
🦣 <span class="citation" data-cites="dadada">@dadada</span
|
||
><span class="citation" data-cites="chaos.social">@chaos.social</span>
|
||
</p>
|
||
<hr />
|
||
<h2 id="ausgangslage">Ausgangslage</h2>
|
||
<p>
|
||
Hochschulpolitik produziert viele Pads - Notizen - Protokolle -
|
||
Todolisten
|
||
</p>
|
||
<p>
|
||
Pads verschwinden unerwartet - Server tot - Niemand erinnert sich mehr
|
||
an den Link - Etherpad kann Löschfristen 🙈
|
||
</p>
|
||
<p>Konsequenz:</p>
|
||
<hr />
|
||
<pre><code>🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥DATEN WEG🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
|
||
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥</code></pre>
|
||
<hr />
|
||
<h2 id="lösung-1-copy-paste">Lösung 1: Copy-Paste</h2>
|
||
<ul>
|
||
<li>$Person kopiert ab und zu das Pad irgendwo hin</li>
|
||
<li>$Person braucht muss dran denken, ist aber etwas verplant</li>
|
||
</ul>
|
||
<pre><code>Pad Wiki
|
||
+-------+ +-------+
|
||
|- Info | |- Info |
|
||
| ... | | ... |
|
||
|- Hüte |---->|- Hüte |
|
||
| ... | | ... |
|
||
|- Ideen| |- Ideen|
|
||
| ... | | ... |
|
||
+-------+ +-------+</code></pre>
|
||
<hr />
|
||
<h2 id="lösung-2-git-und-update-script">
|
||
Lösung 2: Git und Update-Script
|
||
</h2>
|
||
<ul>
|
||
<li>Pad-URLs in Datei</li>
|
||
<li>Pads als Plaintext exportieren</li>
|
||
<li>In Git einchecken</li>
|
||
</ul>
|
||
<pre><code>+------------------------+ +------+
|
||
|- http://pad.url/p/pad | | git |
|
||
|- http://pad.url/p/pad1 |---->| \pad |
|
||
| ... | | \pad1|
|
||
| ... |</code></pre>
|
||
<p>
|
||
<a
|
||
href="https://git.fginfo.tu-bs.de/fginfo/pad-archiver/-/blob/eac632d0cc68c7a9383a334088beadf00b930284/update"
|
||
>Update-Script</a
|
||
>
|
||
</p>
|
||
<hr />
|
||
<h2 id="lösung-3-ci">Lösung 3: CI</h2>
|
||
<ul>
|
||
<li>Scheduled Task führt Update-Script aus</li>
|
||
<li>Gitlab committet Änderungen automatisch</li>
|
||
</ul>
|
||
<pre><code>+--------------+ +-----------+
|
||
| pad-archiver |-----CI---->| Container |
|
||
+--------------+ +-----------+
|
||
| |
|
||
|`include: lib/gitlab-ci.yml |`image: ...
|
||
v v
|
||
+-----------+ +---------------+
|
||
| pads-repo |--Scheduled->| Docker-Runner |
|
||
| |<--Commits---| |
|
||
+-----------+ +---------------+</code></pre>
|
||
<p>
|
||
<a
|
||
href="https://git.fginfo.tu-bs.de/fginfo/pad-archiver/-/tree/eac632d0cc68c7a9383a334088beadf00b930284"
|
||
>CI-Config</a
|
||
>
|
||
<!-- Frage: andere unkonventionelle Spielereien mit Gitlab -->
|
||
</p>
|
||
<hr />
|
||
<h2 id="lösung-4-rewrite-in-go">Lösung 4: Rewrite in Go</h2>
|
||
<ul>
|
||
<li>
|
||
Empfehlung: go-git - Git nativ in Go
|
||
<ul>
|
||
<li>versucht kompatibel zu Git’s Plumbing und Porcelain zu sein</li>
|
||
<li>wird unter Anderem von Keybase und Gitea benutzt</li>
|
||
</ul>
|
||
</li>
|
||
<li>LOC ist jetzt ein bisschen sehr viel mehr …</li>
|
||
</ul>
|
||
<pre><code> ,_---~~~~~----._ +--------------+
|
||
_,,_,*^____ _____``*g*\"*, | THIS IS FINE |
|
||
/ __/ /' ^. / \ ^@q f +--------------+
|
||
[ @f | @)) | | @)) l 0 _/ //
|
||
\`/ \~____ / __ \_____/ \ //
|
||
| _l__l_ I `
|
||
} [______] I
|
||
] | | | |
|
||
] ~ ~ |
|
||
| |
|
||
| | </code></pre>
|
||
<p>
|
||
<a href="https://git.fginfo.tu-bs.de/fginfo/pad-archiver">Rewritten</a>
|
||
</p>
|
||
</main>
|
||
<footer>Released: 2022-12-03</footer>
|
||
</body>
|
||
</html>
|