This commit is contained in:
Jörg Lohrer 2024-04-26 12:09:24 +00:00
parent 235d6b7ebf
commit c92eff9b97
4 changed files with 86 additions and 3 deletions

75
ersteseite/index.html Normal file
View file

@ -0,0 +1,75 @@
<!doctype html><html lang=de-de><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge,chrome=1"><title>Deployment von Hugo auf Codeberg Pages via Woodpecker CI | My New Hugo Site</title><meta name=viewport content="width=device-width,minimum-scale=1"><meta name=description content="Mit Codeberg-Pages eine eigene Webseite hosten"><meta name=generator content="Hugo 0.111.3"><meta name=robots content="noindex, nofollow"><link rel=stylesheet href=/dings/ananke/css/main.min.css><link rel=canonical href=https://joerglohrer.codeberg.page/dings/ersteseite/><meta property="og:title" content="Deployment von Hugo auf Codeberg Pages via Woodpecker CI"><meta property="og:description" content="Mit Codeberg-Pages eine eigene Webseite hosten"><meta property="og:type" content="article"><meta property="og:url" content="https://joerglohrer.codeberg.page/dings/ersteseite/"><meta property="article:section" content><meta itemprop=name content="Deployment von Hugo auf Codeberg Pages via Woodpecker CI"><meta itemprop=description content="Mit Codeberg-Pages eine eigene Webseite hosten"><meta itemprop=wordCount content="537"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deployment von Hugo auf Codeberg Pages via Woodpecker CI"><meta name=twitter:description content="Mit Codeberg-Pages eine eigene Webseite hosten"></head><body class="ma0 avenir bg-near-white DEV"><header><div class=bg-black><nav class="pv3 ph3 ph4-ns" role=navigation><div class="flex-l justify-between items-center center"><a href=/dings/ class="f3 fw2 hover-white no-underline white-90 dib">My New Hugo Site</a><div class="flex-l items-center"><div class=ananke-socials></div></div></div></nav></div></header><main class=pb7 role=main><div class="flex-l mt2 mw8 center"><article class="center cf pv5 ph3 ph4-ns mw7"><header><h1 class=f1>Deployment von Hugo auf Codeberg Pages via Woodpecker CI</h1></header><div class="nested-copy-line-height lh-copy f4 nested-links mid-gray"><h1 id=deployment-von-hugo-auf-codeberg-pages-via-woodpecker-ci>Deployment von Hugo auf Codeberg Pages via Woodpecker CI</h1><p><a href=https://codeberg.org/joerglohrer/hugopage>https://codeberg.org/joerglohrer/hugopage</a></p><h2 id=vorbereitung>Vorbereitung</h2><p><a href=https://toheine.net/posts/2023/website-deployment/>https://toheine.net/posts/2023/website-deployment/</a>
<a href=https://discourse.gohugo.io/t/is-it-possible-to-use-hugo-in-codeberg-page-repositories/31012/3>https://discourse.gohugo.io/t/is-it-possible-to-use-hugo-in-codeberg-page-repositories/31012/3</a></p><h3 id=neues-repository-auf-codeberg-erstellenhttpscodebergorgrepocreate><a href=https://codeberg.org/repo/create>Neues Repository auf Codeberg erstellen</a></h3><p>Lizenz: Apache-2.0, Repository initalisieren Standardbranch main, Rpository zu einem Template machen</p><h3 id=repo-klonen>Repo klonen</h3><p><a href=https://docs.codeberg.org/getting-started/first-repository/#option-a%3A-clone-the-newly-created%2C-empty-repository>https://docs.codeberg.org/getting-started/first-repository/#option-a%3A-clone-the-newly-created%2C-empty-repository</a></p><pre tabindex=0><code class=language-git data-lang=git>cd hugo-codeberg-pages-template
</code></pre><h3 id=branch-pages-erstellen>Branch <code>pages</code> erstellen</h3><pre tabindex=0><code>git switch --orphan pages
</code></pre><ul><li><code>git switch</code>: Dieser Befehl wird verwendet, um zwischen verschiedenen Git-Branches zu wechseln.</li><li><code>--orphan</code>: Diese Option erzeugt einen neuen Branch, der keine Eltern-Commits hat. Er ist sozusagen völlig losgelöst von der bisherigen Commit-Historie des Repositorys.</li><li><code>pages</code>: Das ist der Name des neuen Branches, der erstellt wird.</li></ul><pre tabindex=0><code>git rm --cached -r .
</code></pre><ul><li><code>git rm</code>: Der Befehl zum Entfernen von Dateien aus der Git-Verfolgung. Die Dateien werden nicht aus deinem Arbeitsverzeichnis gelöscht.</li><li><code>--cached</code>: Diese Flagge weist Git an, die Dateien nur aus dem Staging-Bereich zu entfernen, nicht aus deinem lokalen Dateisystem.</li><li><code>-r</code>: Diese Flagge aktiviert die rekursive Entfernung, d.h. sie zielt auf Dateien in allen Unterverzeichnissen ab.</li><li><code>.</code> : Der Punkt kennzeichnet &ldquo;alles im aktuellen Verzeichnis und darunter&rdquo;.</li></ul><pre tabindex=0><code>nano neu.md
git add neu.md
git commit -m &#34;neu&#34;
git push --set-upstream origin pages
</code></pre><p><img src=https://pad.gwdg.de/uploads/1596177b-0edd-4b54-bf40-6ee57da781b3.png alt></p><h3 id=hugo-installieren>Hugo installieren</h3><p>hugo new site hugo-codeberg-pages-template &ndash;force</p><h3 id=vorbereitung-für-die-pipeline>Vorbereitung für die Pipeline</h3><h4 id=access-token-erstellenhttpsdocscodebergorgadvancedaccess-token><a href=https://docs.codeberg.org/advanced/access-token/>Access Token erstellen</a></h4><p>Unter <a href=https://codeberg.org/user/settings/applications>https://codeberg.org/user/settings/applications</a>
<img src=https://pad.gwdg.de/uploads/f6c96753-5ec0-4171-883f-3c73b0f8b8fb.png alt>
Im Beispiel wird der Token-Name &ldquo;hugopagetoken&rdquo; generiert bei dem in den Berechtigungen unter &ldquo;repository&rdquo; Lesen und Schreiben ausgewählt ist.
Soblad man auf “Token generieren” klickt, erscheint der Token mit einem Hinweis, diesen jetzt zu kopieren, da er später nicht mehr angezeigt wird.</p><h4 id=geheimnisse-eintragen>Geheimnisse eintragen</h4><p>Auf <a href=https://ci.codeberg.org/repos>https://ci.codeberg.org/repos</a> das Repo hinzufügen für das die Pipeline gestartet werden soll und dort die Geheimnisse eintragen:
<img src=https://pad.gwdg.de/uploads/f2e2ac23-bd28-47d3-8337-7191d54cbef2.png alt>
Im Beispiel wird ein Geheimnis mit dem Namen <code>codeberg_token</code> mit generierte <code>hugopagetoken</code> mit dem Wert <code>883029f2a627c7b5fa181f24b9205a775add1ff1</code> eingesetzt und dann noch das Geheimnis <code>mail</code> mit der Mailadresse des dazu passenden Codeberg-Users als Wert gespeichert.</p><p>Die Geheimnisse werden zur Laufzeit als Umgebungsvariablen an einzelne Pipelineschritte übergeben.
<img src=https://pad.gwdg.de/uploads/71208375-05dc-4388-986e-6b5d3df9941f.png alt></p><p>Unter Allgemein
<img src=https://pad.gwdg.de/uploads/e78b0d20-0591-4331-8c0d-f1ce388ee527.png alt>
<code>.woodpecker.yml</code> angeben und die Vorlage verwenden aus folgendem Pipeline Beispiel</p><h3 id=codeberg-pages>Codeberg Pages</h3><p><a href=https://docs.codeberg.org/codeberg-pages/>https://docs.codeberg.org/codeberg-pages/</a>
Example Pipeline
<a href=https://codeberg.org/Codeberg-CI/examples/src/branch/main/Hugo>https://codeberg.org/Codeberg-CI/examples/src/branch/main/Hugo</a></p><pre tabindex=0><code class="language-shell=ssh" data-lang="shell=ssh"># hugo.yml
#
# Nimmt ein Repository mit Hugo-Quellcode, generiert die statische Website und veröffentlicht das Ergebnis auf Codeberg Pages
#
# Benötigt ein Codeberg-Zugangs-Token (codeberg_token) als secret in der Woodpecker-Konfiguration
# Verwendet auch ein anderes secret (mail) mit E-Mail-Adresse für die Git-Konfiguration
#
# .domains-Datei im Repository wird in den Ausgabezweig kopiert, damit benutzerdefinierte Domains funktionieren
#
# Die Variable HUGO_OUTPUT muss auf den in Hugo konfigurierten Ausgabeordner gesetzt werden.
# Ausschluss, dass die page-pipeline auf den &#34;pages&#34; Zweig angewendet wird
when:
branch:
exclude: pages
event: [push, pull_request]
# Rekursives Klonen wird verwendet, um die als Git-Submodule angegebenen Themes vollständig zu klonen
clone:
git:
image: woodpeckerci/plugin-git
settings:
recursive: true
steps:
# Build hugo static files
build:
image: klakegg/hugo
commands:
- hugo --minify
when:
event: [pull_request, push]
publish:
image: bitnami/git
# Must be set in Woodpecker configuration
secrets: [mail, codeberg_token]
environment:
- HUGO_OUTPUT=public
commands:
# Git configuration
- git config --global user.email $MAIL
- git config --global user.name &#34;Woodpecker CI&#34;
- git clone -b pages https://$CODEBERG_TOKEN@codeberg.org/$CI_REPO.git $CI_REPO_NAME
# Copy build step output to repository folder
- cp -ar $HUGO_OUTPUT/. $CI_REPO_NAME/
# Needed for custom domains
- cp .domains $CI_REPO_NAME || true # Ignore if it doesn&#39;t exist
# Commit and push all static files with pipeline started timestamp
- cd $CI_REPO_NAME
- git add .
- git commit -m &#34;Woodpecker CI ${CI_COMMIT_SHA}&#34;
- git push
when:
event: push
</code></pre></div></article></div></main><footer class="bg-black bottom-0 w-100 pa3" role=contentinfo><div class="flex justify-between"><a class="f4 fw4 hover-white no-underline white-70 dn dib-ns pv2 ph3" href=https://joerglohrer.codeberg.page/dings/>&copy; My New Hugo Site 2024</a><div><div class=ananke-socials></div></div></div></footer></body></html>

View file

@ -1 +1,5 @@
<!doctype html><html lang=de-de><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge,chrome=1"><title>My New Hugo Site</title><meta name=viewport content="width=device-width,minimum-scale=1"><meta name=description content><meta name=generator content="Hugo 0.111.3"><meta name=robots content="noindex, nofollow"><link rel=stylesheet href=/dings/ananke/css/main.min.css><link href=/dings/index.xml rel=alternate type=application/rss+xml title="My New Hugo Site"><link href=/dings/index.xml rel=feed type=application/rss+xml title="My New Hugo Site"><link rel=canonical href=https://joerglohrer.codeberg.page/dings/><meta property="og:title" content="My New Hugo Site"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://joerglohrer.codeberg.page/dings/"><meta itemprop=name content="My New Hugo Site"><meta itemprop=description content><meta name=twitter:card content="summary"><meta name=twitter:title content="My New Hugo Site"><meta name=twitter:description content></head><body class="ma0 avenir bg-near-white DEV"><header><div class="pb3-m pb6-l bg-black"><nav class="pv3 ph3 ph4-ns" role=navigation><div class="flex-l justify-between items-center center"><a href=/dings/ class="f3 fw2 hover-white no-underline white-90 dib">My New Hugo Site</a><div class="flex-l items-center"><div class=ananke-socials></div></div></div></nav><div class="tc-l pv3 ph3 ph4-ns"><h1 class="f2 f-subheadline-l fw2 light-silver mb0 lh-title">My New Hugo Site</h1></div></div></header><main class=pb7 role=main><article class="cf ph3 ph5-l pv3 pv4-l f4 tc-l center measure-wide lh-copy mid-gray"></article></main><footer class="bg-black bottom-0 w-100 pa3" role=contentinfo><div class="flex justify-between"><a class="f4 fw4 hover-white no-underline white-70 dn dib-ns pv2 ph3" href=https://joerglohrer.codeberg.page/dings/>&copy; My New Hugo Site 2024</a><div><div class=ananke-socials></div></div></div></footer></body></html>
<!doctype html><html lang=de-de><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge,chrome=1"><title>My New Hugo Site</title><meta name=viewport content="width=device-width,minimum-scale=1"><meta name=description content><meta name=generator content="Hugo 0.111.3"><meta name=robots content="noindex, nofollow"><link rel=stylesheet href=/dings/ananke/css/main.min.css><link href=/dings/index.xml rel=alternate type=application/rss+xml title="My New Hugo Site"><link href=/dings/index.xml rel=feed type=application/rss+xml title="My New Hugo Site"><link rel=canonical href=https://joerglohrer.codeberg.page/dings/><meta property="og:title" content="My New Hugo Site"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://joerglohrer.codeberg.page/dings/"><meta itemprop=name content="My New Hugo Site"><meta itemprop=description content><meta name=twitter:card content="summary"><meta name=twitter:title content="My New Hugo Site"><meta name=twitter:description content></head><body class="ma0 avenir bg-near-white DEV"><header><div class="pb3-m pb6-l bg-black"><nav class="pv3 ph3 ph4-ns" role=navigation><div class="flex-l justify-between items-center center"><a href=/dings/ class="f3 fw2 hover-white no-underline white-90 dib">My New Hugo Site</a><div class="flex-l items-center"><div class=ananke-socials></div></div></div></nav><div class="tc-l pv3 ph3 ph4-ns"><h1 class="f2 f-subheadline-l fw2 light-silver mb0 lh-title">My New Hugo Site</h1></div></div></header><main class=pb7 role=main><article class="cf ph3 ph5-l pv3 pv4-l f4 tc-l center measure-wide lh-copy mid-gray"></article><div class="pa3 pa4-ns w-100 w-70-ns center"><section class="w-100 mw8"><div class="relative w-100 mb4"><article class="bb b--black-10"><div class="db pv4 ph3 ph0-l no-underline dark-gray"><div class="flex flex-column flex-row-ns"><div class="blah w-100"><h1 class="f3 fw1 athelas mt0 lh-title"><a href=/dings/ersteseite/ class="color-inherit dim link">Deployment von Hugo auf Codeberg Pages via Woodpecker CI</a></h1><div class="f6 f5-l lh-copy nested-copy-line-height nested-links">Deployment von Hugo auf Codeberg Pages via Woodpecker CI https://codeberg.org/joerglohrer/hugopage
Vorbereitung https://toheine.net/posts/2023/website-deployment/ https://discourse.gohugo.io/t/is-it-possible-to-use-hugo-in-codeberg-page-repositories/31012/3
Neues Repository auf Codeberg erstellen Lizenz: Apache-2.0, Repository initalisieren Standardbranch main, Rpository zu einem Template machen
Repo klonen https://docs.codeberg.org/getting-started/first-repository/#option-a%3A-clone-the-newly-created%2C-empty-repository
cd hugo-codeberg-pages-template Branch pages erstellen git switch --orphan pages git switch: Dieser Befehl wird verwendet, um zwischen verschiedenen Git-Branches zu wechseln. --orphan: Diese Option erzeugt einen neuen Branch, der keine Eltern-Commits hat. Er ist sozusagen völlig losgelöst von der bisherigen Commit-Historie des Repositorys.</div><a href=/dings/ersteseite/ class="ba b--moon-gray bg-light-gray br2 color-inherit dib f7 hover-bg-moon-gray link mt2 ph2 pv1">read more</a></div></div></div></article></div></section></div></main><footer class="bg-black bottom-0 w-100 pa3" role=contentinfo><div class="flex justify-between"><a class="f4 fw4 hover-white no-underline white-70 dn dib-ns pv2 ph3" href=https://joerglohrer.codeberg.page/dings/>&copy; My New Hugo Site 2024</a><div><div class=ananke-socials></div></div></div></footer></body></html>

View file

@ -1 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>My New Hugo Site</title><link>https://joerglohrer.codeberg.page/dings/</link><description>Recent content on My New Hugo Site</description><generator>Hugo -- gohugo.io</generator><language>de-de</language><atom:link href="https://joerglohrer.codeberg.page/dings/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>My New Hugo Site</title><link>https://joerglohrer.codeberg.page/dings/</link><description>Recent content on My New Hugo Site</description><generator>Hugo -- gohugo.io</generator><language>de-de</language><atom:link href="https://joerglohrer.codeberg.page/dings/index.xml" rel="self" type="application/rss+xml"/><item><title>Deployment von Hugo auf Codeberg Pages via Woodpecker CI</title><link>https://joerglohrer.codeberg.page/dings/ersteseite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://joerglohrer.codeberg.page/dings/ersteseite/</guid><description>Deployment von Hugo auf Codeberg Pages via Woodpecker CI https://codeberg.org/joerglohrer/hugopage
Vorbereitung https://toheine.net/posts/2023/website-deployment/ https://discourse.gohugo.io/t/is-it-possible-to-use-hugo-in-codeberg-page-repositories/31012/3
Neues Repository auf Codeberg erstellen Lizenz: Apache-2.0, Repository initalisieren Standardbranch main, Rpository zu einem Template machen
Repo klonen https://docs.codeberg.org/getting-started/first-repository/#option-a%3A-clone-the-newly-created%2C-empty-repository
cd hugo-codeberg-pages-template Branch pages erstellen git switch --orphan pages git switch: Dieser Befehl wird verwendet, um zwischen verschiedenen Git-Branches zu wechseln. --orphan: Diese Option erzeugt einen neuen Branch, der keine Eltern-Commits hat. Er ist sozusagen völlig losgelöst von der bisherigen Commit-Historie des Repositorys.</description></item></channel></rss>

View file

@ -1 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://joerglohrer.codeberg.page/dings/categories/</loc></url><url><loc>https://joerglohrer.codeberg.page/dings/</loc></url><url><loc>https://joerglohrer.codeberg.page/dings/tags/</loc></url></urlset>
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://joerglohrer.codeberg.page/dings/categories/</loc></url><url><loc>https://joerglohrer.codeberg.page/dings/ersteseite/</loc></url><url><loc>https://joerglohrer.codeberg.page/dings/</loc></url><url><loc>https://joerglohrer.codeberg.page/dings/tags/</loc></url></urlset>