Skip to content

Gitlab - Projekt verwalten

Linux
3 1 500
  • Und wieder was, was es zu entdecken gilt 🙂

    Ich habe eine Webseite, die ich mal ein wenig aufräumen möchte usw. Da wollen wir doch mal probieren, was man mit folgenden Webseiten anfangen kann. Da gibt es

    Früher musste man bezahlen um auf github ein privates Projekt zu verwalten, aber nach dem Kauf durch Microsoft ist ja etwas Bewegung in die Sache gekommen. Man kann mittlerweile auf beiden Diensten ein privates Projekt erstellen. Gut, dann mal ausprobieren. Für welchen Dienst ich mich hier jetzt entschieden habe, brauche ich wohl nicht extra erwähnen, oder? 🙂

    Zum Ausprobieren, muss mein Sicherungsordner auf meinem Haupt-PC herhalten, live wird das erst dann genutzt, wenn ich es verstanden habe 😉

    Ok, auf gitlab.com ein neues Projekt erstellen. Einen Project name eingeben, Visibilty Level wählen und unten bei Initialize repository... KEINEN Haken machen! Fertig!

    0d1fc8a3-0cb3-4733-9657-e7911c6baead-image.png

    Wir wechseln in den Ordner wo das Projekt liegt.

    Wichtig

    Wenn man Files im Projekt hat, die evt. sensible Informationen enthalten, dann legt man ein File mit dem Namen

    .gitignore
    

    an. Da schreibt man die Files oder Ordner rein, die nicht hochgeladen werden sollen. Ich habe da mal einen Upload Ordner reingemacht, den kann ich anderweitig sichern. Das würde hier nur stören, vermute ich zu mindestens im Moment.

    Init

    frank@frank-MS-7A34:~/Backup2$ git init
    Leeres Git-Repository in /home/frank/Backup2/.git/ initialisiert
    
    frank@frank-MS-7A34:~/Backup2$ git remote add origin git@gitlab.com:User/projekt.git
    
    frank@frank-MS-7A34:~/Backup2$ git add .
    

    Inital Commit

    frank@frank-MS-7A34:~/Backup2$ git commit -m "Initial commit"
    [master (Basis-Commit) 3ffbd45] Initial commit
     517 files changed, 204920 insertions(+)
     create mode 100644 .gitignore
     create mode 100644 2018.php
     create mode 100644 2019.php
     create mode 100644 abfrage.php
     create mode 100644 auswertung.php
    [gekürzt]
    

    Hochladen

    frank@frank-MS-7A34:~/Backup2$ git push -u origin master
    The authenticity of host 'gitlab.com (35.231.145.151)' can't be established.
    ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'gitlab.com,35.231.145.151' (ECDSA) to the list of known hosts.
    Zähle Objekte: 455, Fertig.
    Delta compression using up to 12 threads.
    Komprimiere Objekte: 100% (450/450), Fertig.
    Schreibe Objekte: 100% (455/455), 1.84 MiB | 7.66 MiB/s, Fertig.
    Total 455 (delta 46), reused 0 (delta 0)
    remote: Resolving deltas: 100% (46/46), done.
    To gitlab.com:Bullet64/falschparker2.git
     * [new branch]      master -> master
    Branch 'master' folgt nun Remote-Branch 'master' von 'origin'.
    

    Danach sind alle Daten auf gitlab.com

    wird fortgesetzt....

  • Wenn Ihr mal folgendes Problem habt...

    root@server:/web# git push -u origin master
    git@gitlab.com: Permission denied (publickey).
    fatal: Konnte nicht vom Remote-Repository lesen.
    
    Bitte stellen Sie sicher, dass die korrekten Zugriffsberechtigungen bestehen
    und das Repository existiert.
    

    dann habt ihr keinen ssh Key erzeugt, oder bei gitlab.com abgelegt. Unter ~/.ssh nachsehen ob die Datei id_rsa.pub vorhanden ist. Wenn nicht dann

    ssh-keygen -t rsa
    

    ausführen. Und ganz wichtig, unter

    muss der Public-Key des Servers hinterlegt sein, sonst hat man logischerweise keinen Zugriff auf den Server.

    Danach sollte dann auch der Befehl

    git push -u origin master
    

    gehen.

    git push -u origin master
    Objekte aufzählen: 448, Fertig.
    Zähle Objekte: 100% (448/448), Fertig.
    Delta-Kompression verwendet bis zu 4 Threads.
    Komprimiere Objekte: 100% (443/443), Fertig.
    Schreibe Objekte: 100% (448/448), 1.86 MiB | 6.98 MiB/s, Fertig.
    Gesamt 448 (Delta 45), Wiederverwendet 0 (Delta 0)
    remote: Resolving deltas: 100% (45/45), done.
    To gitlab.com:xxxxxxxxxxxxxxxxxx.git
     * [new branch]      master -> master
    Branch 'master' folgt nun Remote-Branch 'master' von 'origin'.
    
  • Und mit git pull holt man dann die Änderungen usw.

     git pull
     remote: Enumerating objects: 11, done.
     remote: Counting objects: 100% (11/11), done.
     remote: Compressing objects: 100% (9/9), done.
     remote: Total 9 (delta 6), reused 0 (delta 0)
     Entpacke Objekte: 100% (9/9), Fertig.
     Von gitlab.com:xxxxxxxxxxxxxxxxxxxxxxxxxx
        44b219c..bd2c333  master     -> origin/master
     Aktualisiere 44b219c..bd2c333
     Fast-forward
      backend/gulpfile_DEL.js  | 135 ------------------------------------------------------------------------------------------------------------
      backend/logout.php_DEL   | 126 ----------------------------------------------------------------------------------------------------
      backend/package.json_DEL |  49 ---------------------------------------
      3 files changed, 310 deletions(-)
      delete mode 100644 backend/gulpfile_DEL.js
      delete mode 100644 backend/logout.php_DEL
      delete mode 100644 backend/package.json_DEL
    
  • Forgejo - v11.0.1

    Linux forgejo linux
    1
    0 Stimmen
    1 Beiträge
    70 Aufrufe
    Niemand hat geantwortet
  • AI Bots aussperren

    Linux linux block-ai nginx
    2
    0 Stimmen
    2 Beiträge
    148 Aufrufe
    FrankMF
    Wir können das noch für eine sanfte Methode erweitern, das ist die Datei robots.txt, wo man sich in alten Zeiten mal dran hielt. Einige Bots machen das, andere nicht. Praktisch, das o.g. Projekt bietet diese Datei auch an. Dann werden wir das kurz mal mit einbauen. ai-block.sh #!/bin/bash # Script um AI-Bots zu blocken # https://github.com/ai-robots-txt/ai.robots.txt/tree/main mkdir /root/AI-test cd /root/AI-test ## Daten holen curl -O https://raw.githubusercontent.com/ai-robots-txt/ai.robots.txt/master/nginx-block-ai-bots.conf curl -O https://raw.githubusercontent.com/ai-robots-txt/ai.robots.txt/master/robots.txt ## Daten in nginx einbauen mv nginx-block-ai-bots.conf /etc/nginx/blocklists/ mv robots.txt /var/www/html ## NGINX neustarten systemctl restart nginx.service Damit das in nginx funktioniert. Den Server Block um folgendes erweitern. # Serve robots.txt directly from Nginx location = /robots.txt { root /var/www/html; try_files $uri =404; } Kurzer Test https://<DOMAIN>/robots.txt Ergebnis User-agent: AI2Bot User-agent: Ai2Bot-Dolma User-agent: Amazonbot User-agent: anthropic-ai User-agent: Applebot User-agent: Applebot-Extended User-agent: Brightbot 1.0 User-agent: Bytespider User-agent: CCBot User-agent: ChatGPT-User User-agent: Claude-Web User-agent: ClaudeBot User-agent: cohere-ai User-agent: cohere-training-data-crawler User-agent: Crawlspace User-agent: Diffbot User-agent: DuckAssistBot User-agent: FacebookBot User-agent: FriendlyCrawler User-agent: Google-Extended User-agent: GoogleOther User-agent: GoogleOther-Image User-agent: GoogleOther-Video User-agent: GPTBot User-agent: iaskspider/2.0 User-agent: ICC-Crawler User-agent: ImagesiftBot User-agent: img2dataset User-agent: imgproxy User-agent: ISSCyberRiskCrawler User-agent: Kangaroo Bot User-agent: Meta-ExternalAgent User-agent: Meta-ExternalFetcher User-agent: OAI-SearchBot User-agent: omgili User-agent: omgilibot User-agent: PanguBot User-agent: Perplexity-User User-agent: PerplexityBot User-agent: PetalBot User-agent: Scrapy User-agent: SemrushBot-OCOB User-agent: SemrushBot-SWA User-agent: Sidetrade indexer bot User-agent: Timpibot User-agent: VelenPublicWebCrawler User-agent: Webzio-Extended User-agent: YouBot Disallow: /
  • fail2ban auf einem systemd System (Debian 12)

    Linux linux fail2ban
    2
    0 Stimmen
    2 Beiträge
    133 Aufrufe
    FrankMF
    Auf Debian 13 Trixie fehlt noch folgendes apt install python3-setuptools
  • Dolphin Debian12

    Linux
    1
    0 Stimmen
    1 Beiträge
    68 Aufrufe
    Niemand hat geantwortet
  • Debian Bookworm 12.10 released

    Linux debian linux bookworm
    3
    0 Stimmen
    3 Beiträge
    309 Aufrufe
    FrankMF
    @MikDD Ich kann das Verhalten von Die bei mir nicht erkennen. Habe ein NAS, welches ich mit einem SystemD Dienst einfach einbinde. [Unit] Description=Mount NFS Share from 192.168.3.19:/NAS After=network-online.target Wants=network-online.target [Mount] What=192.168.3.19:/NAS Where=/mnt/NAS Type=nfs Options=defaults,timeo=900 [Install] WantedBy=multi-user.target Dann habe ich das in meinem Dateibrowser drin, suche meinen Videoordner und starte das Video. Einen kleinen Moment später startet das Video. Die Verzögerung wird die Zeitspanne sein, die benötigt wird einen Cache zu füllen. Wäre ja auch blöd, wenn man erst den ganzen Film runter laden muss. Hier, in meinem Forum, sollte man genug Informationen dazu finden. Wenn es irgendwo hakt oder klappt, stelle bitte eine Frage. Achso, Willkommen im Forum
  • Semaphore - Die API

    Verschoben Ansible ansible semaphore linux gitlab
    2
    0 Stimmen
    2 Beiträge
    302 Aufrufe
    FrankMF
    Ich hasse schlecht lesbaren Code, scheint man sich bei Python so anzugewöhnen. Habe da nochmal was mit der langen Zeile getestet. stages: - deploy deploy: stage: deploy script: # $SEMAPHORE_API_TOKEN is stored in gitlab Settings/ CI/CD / Variables - >- curl -v XPOST -H 'Content-Type: application/json' -H 'Accept: application/json' -H "Authorization: Bearer $SEMAPHORE_API_TOKEN " -d '{"template_id": 2}' https://<DOMAIN>/api/project/2/tasks only: - master # Specify the branch to trigger the pipeline (adjust as needed) Hier noch was Dr. ChatGPT dazu schreibt [image: 1692643209159-631de9d4-b04d-4043-bfff-c5f2d1b6eea7-grafik.png] Erledigt - läuft Und verstanden habe ich es auch.
  • nano - Zeilennummern dauerhaft anzeigen

    Linux linux
    3
    2
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF
    @masko Danke für die Ergänzung. Um den Code zu markieren, kannst Du im Texteditor auf </> klicken oder einfach 4 Leerzeichen vor den Code setzen. Dann sieht es besser aus Und Willkommen im Forum!
  • ZFS - Wichtige Befehle

    Linux zfs linux
    3
    0 Stimmen
    3 Beiträge
    887 Aufrufe
    FrankMF
    Heute mal drüber gestolpert, das es auch so was geben kann. root@pve2:~# zpool status pool: pool_NAS state: ONLINE status: Some supported and requested features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(7) for details. scan: scrub repaired 0B in 00:20:50 with 0 errors on Sun Apr 13 00:44:51 2025 config: NAME STATE READ WRITE CKSUM pool_NAS ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520800733 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520801376 ONLINE 0 0 0 errors: No known data errors Was machen? Als erstes mal ein Backup angestoßen. Danach root@pve2:~# zpool get all pool_NAS | grep feature pool_NAS feature@async_destroy enabled local pool_NAS feature@empty_bpobj active local pool_NAS feature@lz4_compress active local pool_NAS feature@multi_vdev_crash_dump enabled local pool_NAS feature@spacemap_histogram active local pool_NAS feature@enabled_txg active local pool_NAS feature@hole_birth active local pool_NAS feature@extensible_dataset active local pool_NAS feature@embedded_data active local pool_NAS feature@bookmarks enabled local pool_NAS feature@filesystem_limits enabled local pool_NAS feature@large_blocks enabled local pool_NAS feature@large_dnode enabled local pool_NAS feature@sha512 enabled local pool_NAS feature@skein enabled local pool_NAS feature@edonr enabled local pool_NAS feature@userobj_accounting active local pool_NAS feature@encryption enabled local pool_NAS feature@project_quota active local pool_NAS feature@device_removal enabled local pool_NAS feature@obsolete_counts enabled local pool_NAS feature@zpool_checkpoint enabled local pool_NAS feature@spacemap_v2 active local pool_NAS feature@allocation_classes enabled local pool_NAS feature@resilver_defer enabled local pool_NAS feature@bookmark_v2 enabled local pool_NAS feature@redaction_bookmarks enabled local pool_NAS feature@redacted_datasets enabled local pool_NAS feature@bookmark_written enabled local pool_NAS feature@log_spacemap active local pool_NAS feature@livelist enabled local pool_NAS feature@device_rebuild enabled local pool_NAS feature@zstd_compress enabled local pool_NAS feature@draid enabled local pool_NAS feature@zilsaxattr disabled local pool_NAS feature@head_errlog disabled local pool_NAS feature@blake3 disabled local pool_NAS feature@block_cloning disabled local pool_NAS feature@vdev_zaps_v2 disabled local Das kommt von neuen Funktionen, die zu ZFS hinzugefügt wurden und bei Erstellung des Pools nicht vorhanden waren. Dann upgraden wir mal root@pve2:~# zpool upgrade pool_NAS This system supports ZFS pool feature flags. Enabled the following features on 'pool_NAS': zilsaxattr head_errlog blake3 block_cloning vdev_zaps_v2 Kontrolle root@pve2:~# zpool status pool: pool_NAS state: ONLINE scan: scrub repaired 0B in 00:20:50 with 0 errors on Sun Apr 13 00:44:51 2025 config: NAME STATE READ WRITE CKSUM pool_NAS ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520800733 ONLINE 0 0 0 ata-WDC_WDS100T1R0A-68A4W0_230520801376 ONLINE 0 0 0 errors: No known data errors Features kontrollieren root@pve2:~# zpool get all pool_NAS | grep feature pool_NAS feature@async_destroy enabled local pool_NAS feature@empty_bpobj active local pool_NAS feature@lz4_compress active local pool_NAS feature@multi_vdev_crash_dump enabled local pool_NAS feature@spacemap_histogram active local pool_NAS feature@enabled_txg active local pool_NAS feature@hole_birth active local pool_NAS feature@extensible_dataset active local pool_NAS feature@embedded_data active local pool_NAS feature@bookmarks enabled local pool_NAS feature@filesystem_limits enabled local pool_NAS feature@large_blocks enabled local pool_NAS feature@large_dnode enabled local pool_NAS feature@sha512 enabled local pool_NAS feature@skein enabled local pool_NAS feature@edonr enabled local pool_NAS feature@userobj_accounting active local pool_NAS feature@encryption enabled local pool_NAS feature@project_quota active local pool_NAS feature@device_removal enabled local pool_NAS feature@obsolete_counts enabled local pool_NAS feature@zpool_checkpoint enabled local pool_NAS feature@spacemap_v2 active local pool_NAS feature@allocation_classes enabled local pool_NAS feature@resilver_defer enabled local pool_NAS feature@bookmark_v2 enabled local pool_NAS feature@redaction_bookmarks enabled local pool_NAS feature@redacted_datasets enabled local pool_NAS feature@bookmark_written enabled local pool_NAS feature@log_spacemap active local pool_NAS feature@livelist enabled local pool_NAS feature@device_rebuild enabled local pool_NAS feature@zstd_compress enabled local pool_NAS feature@draid enabled local pool_NAS feature@zilsaxattr enabled local pool_NAS feature@head_errlog active local pool_NAS feature@blake3 enabled local pool_NAS feature@block_cloning enabled local pool_NAS feature@vdev_zaps_v2 enabled local So, alle neuen Features aktiviert. Jetzt kann der Pool weiterhin seine Arbeit machen.