CleanUpWiki_v7 - itnett/FTD02N GitHub Wiki

For å automatisere prosessen med å addere, branche og pushe kode til GitHub, kan vi lage et skript som utfører disse operasjonene. Skriptet kan kjøre etter at backup- og forberedelsesskriptet er ferdig. Skriptet vil:

  1. Initialisere et nytt Git-repositorium hvis det ikke allerede finnes.
  2. Addere alle filer til staging-området.
  3. Lage en commit med en standard eller spesifisert melding.
  4. Sette opp riktig remote for både hovedrepoen og wiki-repoen.
  5. Pushe endringene til GitHub.

Her er et eksempel på et slikt skript:

Se skriptet her

Hvordan bruke skriptet:

  1. Plassering: Lagre skriptet i en .sh-fil, for eksempel push_to_github.sh.
  2. Kjøring: Kjør skriptet etter at backup_and_prepare_v02.py er kjørt, eller legg til et kall til dette skriptet på slutten av backup_and_prepare_v02.py hvis du ønsker å kjøre alt i ett.

Viktige bemerkninger:

  • Du må kanskje logge på GitHub første gang du pusher, avhengig av autentiseringsmetoden du bruker (for eksempel SSH eller personal access token).
  • Hvis du kjører på nytt etter en backup, sørg for at skriptet kjøres i det oppdaterte miljøet.

Integrering med Python-skriptet:

Hvis du ønsker å kjøre dette skriptet automatisk fra Python etter at backup og forberedelser er gjort, kan du legge til følgende i Python-skriptet:

Se skriptet her

Dette vil sikre at alt utføres automatisk i én sekvens. Husk å tilpasse filbanene og eventuelle detaljer etter behov.

For å automatisere prosessen med å legge til, kommitere og pushe endringer til både hovedrepoet og wiki-repoet på GitHub, kan vi skrive et Python-skript som håndterer hele arbeidsflyten. Vi kan bruke GitPython-biblioteket for å interagere med Git på en mer kontrollert og programmatisk måte.

Oversikt over hva skriptet vil gjøre:

  1. Sjekke og installere nødvendige avhengigheter: Sikre at GitPython er installert.
  2. Definere konfigurasjonsparametere: Spesifisere lokale kataloger, GitHub-URLer og kommitteringsmeldinger.
  3. Kloning eller oppdatering av repositorier: Hvis repositoriene ikke finnes lokalt, klone dem; ellers hente siste endringer.
  4. Legge til og kommitere endringer: Legge til nye eller endrede filer og lage passende kommitteringsmeldinger.
  5. Pushe endringer til GitHub: Pushe de lokale endringene til de respektive fjernrepositoriene.
  6. Håndtere autentisering: Bruke personlige tilgangstokens (PAT) for sikker autentisering mot GitHub.

Forutsetninger:

  • Python 3.x installert på systemet ditt.
  • Git installert og konfigurert på systemet ditt.
  • Personlig tilgangstoken (PAT) fra GitHub med nødvendige rettigheter for å pushe til repositoriene.

Steg-for-steg guide:

1. Installer nødvendige avhengigheter

Først må vi installere GitPython-biblioteket. Dette kan gjøres ved å kjøre følgende kommando i terminalen:

Se skriptet her

2. Opprett og kjør Python-skriptet

Opprett en ny Python-fil, for eksempel git_automation.py, og kopier inn følgende kode:

Se skriptet her

3. Forklaring av skriptet

Importerer nødvendige moduler

Se skriptet her

  • os: For håndtering av filstier og operativsystemfunksjoner.
  • git: Fra GitPython-biblioteket for å interagere med Git.
  • getpass: For sikker innhenting av GitHub PAT uten å vise det i klartekst.
Konfigurasjonsseksjon

Her definerer du alle nødvendige konfigurasjoner som lokale stier, GitHub-URLer, commit-meldinger og hvilke filer som skal legges til i hvert repo.

Autentisering

Skriptet ber om ditt GitHub PAT og legger det til i repo-URLene for autentisering. Se skriptet her

Funksjoner
  • clone_or_pull_repo: Kloner repoet hvis det ikke finnes lokalt, ellers henter siste endringer.
  • add_and_commit: Legger til spesifiserte filer og lager en commit hvis det er endringer.
  • push_changes: Pusher lokale commits til fjernrepoet.
Hovedprosess

Skriptet kjører gjennom følgende steg for begge repositoriene:

  1. Kloner eller oppdaterer repoet
  2. Legger til og kommitterer endringer
  3. Pusher endringer til GitHub

4. Kjøring av skriptet

  1. Naviger til katalogen der skriptet ligger: Se skriptet her

  2. Kjør skriptet: Se skriptet her

  3. Når du blir bedt om det, skriv inn ditt GitHub Personal Access Token. Dette vil ikke vises i terminalen for sikkerhet.

5. Forberedelse av GitHub Personal Access Token (PAT)

  • Gå til GitHub Personal Access Tokens.
  • Klikk på "Generate new token".
  • Gi tokenet et beskrivende navn og sett passende utløpsdato.
  • Under "Scopes", sørg for at du gir tilstrekkelige rettigheter, vanligvis repo for full tilgang til repositorier.
  • Generer tokenet og kopier det et sikkert sted.

6. Håndtering av sensitiv informasjon

Siden PAT brukes for autentisering, er det viktig å ikke hardkode dette i skriptet. Ved å bruke getpass blir du bedt om å skrive det inn hver gang skriptet kjøres. Alternativt kan du lagre det som en miljøvariabel for å unngå å skrive det inn hver gang:

Eksempel med miljøvariabel: Se skriptet her Sette miljøvariabelen i terminalen: Se skriptet her

7. Feilhåndtering

Skriptet inkluderer grunnleggende feilhåndtering ved bruk av try-except blokker. Hvis det oppstår feil under kloning, kommitering eller pushing, vil disse bli fanget opp og skrevet ut i konsollen.


Oppsummering

Dette skriptet automatiserer hele prosessen med å synkronisere lokale endringer til GitHub for både hovedrepoet og wiki-repoet. Du kan utvide og tilpasse skriptet etter dine spesifikke behov, for eksempel ved å legge til logging til en fil, mer avansert feilhåndtering, eller integrere det i en større arbeidsflyt.

Merk: Sørg for at nettverkstilkoblingen din tillater tilgang til GitHub, og at firewall-innstillinger ikke blokkerer nødvendige porter. Hvis du bruker to-faktor autentisering på GitHub, er bruk av PAT nødvendig for autentisering via skript.


Trenger du ytterligere assistanse eller tilpasninger? Gi meg beskjed, så hjelper jeg gjerne videre!