Kort om undervisningen
GitHub er de senere år blevet de-facto platformen for samarbejde omkring kode, fx deling af kodebasen, reviews, issuestyring, dokumentation, kvalitetssikring og udgivelse af nye versioner. Dette kursus giver dig en introduktion til denne omfattende platform og de enkelte produkter i den.
Kursets fokus er at lære dig hvordan du bruger GitHubs produkter til at skabe komplet understøttelse af softwareudviklingscyklussen. Vi bygger sammen et automatiseret workflow for test og deployment af en webapplikation til Github pages i løbet af kurset.
Indhold
- Projektstyring med GitHub projects og issues
- Samarbejde med GitHub issues og review af kode med pull requests
- Sikring af kodekvalitet med automatiserede status checks
- Etablering af CI/CD pipelines med GitHub actions
- Sikker publicering og brug af pakker med GitHub packages/artifacts
- Brug af GitHub pages som test- og driftsmiljø for en SPA (single page application)
- Etablering af dokumentation med GitHub wiki og markdown files
- Introduktion til GitHubs REST API og GraphQL
- Håndtering af hemmeligheder (secrets) i GitHub
- Introduktion til GitHub marketplace (applications/actions)
- Deployment af applikation til forskellige cloud miljøer
Forudsætninger
Deltagerne forventes at have grundlæggende viden om Git, fx clone og push kommandoerne. Det er en fordel også at have kendskab til branchingstrategier, fx GitFlow.
Målgruppe
Kurset henvender sig til udviklere eller hold der skal i gang med GitHub eller som har brugt GitHub noget tid og nu ønsker at forbedre produktivitet og kvalitet ved at benytte flere dele af den omfattende platform til at understøtte en større del af udviklingsprocessen. Et godt sted at starte er vores andet Git kursus Versionsstyring med Git.
Efter kurset kan deltageren
Efter kurset kan deltageren etablere en udviklingsplatform på GitHub til professionel produktion af software og en sikker og automatiseret releaseproces. Deltageren kan anvende de centrale komponenter i GitHub til at etablere en sammenhængende platform som kan anvendes til udvikling og release af (web)applikationer.