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:
- Initialisere et nytt Git-repositorium hvis det ikke allerede finnes.
- Addere alle filer til staging-området.
- Lage en commit med en standard eller spesifisert melding.
- Sette opp riktig remote for både hovedrepoen og wiki-repoen.
- Pushe endringene til GitHub.
Her er et eksempel på et slikt skript:
Hvordan bruke skriptet:
- Plassering: Lagre skriptet i en
.sh
-fil, for eksempelpush_to_github.sh
. - 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 avbackup_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:
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:
- Sjekke og installere nødvendige avhengigheter: Sikre at
GitPython
er installert. - Definere konfigurasjonsparametere: Spesifisere lokale kataloger, GitHub-URLer og kommitteringsmeldinger.
- Kloning eller oppdatering av repositorier: Hvis repositoriene ikke finnes lokalt, klone dem; ellers hente siste endringer.
- Legge til og kommitere endringer: Legge til nye eller endrede filer og lage passende kommitteringsmeldinger.
- Pushe endringer til GitHub: Pushe de lokale endringene til de respektive fjernrepositoriene.
- 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:
2. Opprett og kjør Python-skriptet
Opprett en ny Python-fil, for eksempel git_automation.py
, og kopier inn følgende kode:
3. Forklaring av skriptet
Importerer nødvendige moduler
os
: For håndtering av filstier og operativsystemfunksjoner.git
: FraGitPython
-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:
- Kloner eller oppdaterer repoet
- Legger til og kommitterer endringer
- Pusher endringer til GitHub
4. Kjøring av skriptet
-
Naviger til katalogen der skriptet ligger: Se skriptet her
-
Kjør skriptet: Se skriptet her
-
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!