GitHub
Version Control Kurs wkrotce

GitHub

GitHub & GitHub Actions

Najwieksza platforma do hostingu kodu i wspolpracy developerskiej. GitHub Actions, Pull Requesty i integracja z AWS.

Dlaczego warto sie nauczyc?

GitHub to standard w branzy - wiekszosc projektow open source i firm trzyma kod na GitHub. GitHub Actions to szybko rosnacy system CI/CD z natywna integracja AWS. Pull Requesty to podstawa code review.

GitHub to najwieksza platforma do hostingu repozytoriow Git, wspolpracy developerskiej i automatyzacji CI/CD. Z ponad 100 milionami developerow, GitHub jest de facto standardem w branzy open source i coraz czesciej w enterprise.

Dla Cloud Engineera GitHub to miejsce, gdzie zyje kod infrastruktury - pliki Terraform, Dockerfile, skrypty Ansible, konfiguracje Kubernetes. GitHub Actions to wbudowany system CI/CD, ktory pozwala automatyzowac budowanie, testowanie i wdrazanie infrastruktury bezposrednio z repozytorium.

GitHub oferuje rowniez zaawansowane funkcje bezpieczenstwa - Dependabot automatycznie aktualizuje podatne zaleznosci, Code Scanning wykrywa luki w kodzie, a Secret Scanning zapobiega wyciekowi kluczy API i hasel do repozytorium.

GitHub przechowuje repozytoria Git na serwerach Microsoft i dodaje warstwe wspolpracy, automatyzacji i bezpieczenstwa.

1

Push kodu

Developer pushuje zmiany do brancha. Git przechowuje peina historie zmian z diff kazdego commita.

2

Pull Request

Utworz PR do merge zmian. Automatyczne workflow (Actions) uruchamiaja testy, linting i sprawdzenia.

3

Code Review

Zespol przegladakod, komentuje, sugeruje zmiany. Required reviewers i branch protection zapewniaja jakosc.

4

Merge i deploy

Po approval PR jest merge do main. GitHub Actions automatycznie wdraza zmiany na srodowisko docelowe.

Sprawdzone praktyki pracy z GitHub w kontekscie Cloud Engineering.

Branch protection rules

Wymagaj code review, passing checks i linear history na main. Nikt nie powinien pushowac bezposrednio do main.

Poczatkujacy

OIDC zamiast access keys

Skonfiguruj OIDC federation z AWS IAM. Actions dostaje tymczasowe credentials. Zero dlugozyciowych kluczy w secrets.

Zaawansowany

Reusable workflows

Utworz wspolne workflow w oddzielnym repozytorium. Wszystkie projekty uzyja tego samego standardowego pipeline.

Zaawansowany

Dependabot i security alerts

Wlacz Dependabot dla automatycznych aktualizacji zaleznosci. Secret scanning wykryje wyciekle klucze AWS.

Poczatkujacy

Do czego sluzy GitHub?

01

Zarzadzanie kodem infrastruktury

Przechowuj pliki Terraform, Ansible, Dockerfile w repozytoriach z wersjonowaniem, branchami i code review.

02

CI/CD z GitHub Actions

Automatyzuj terraform plan/apply, budowanie obrazow Docker, testy i wdrazanie na AWS z kazdym pushem.

03

Code review infrastruktury

Pull Requesty z automatycznymi sprawdzeniami (linting, plan, security scan) przed zatwierdzeniem zmian w infrastrukturze.

04

Inner source i wspolpraca

Wspolne repozytoria modulow Terraform, chartow Helm i bibliotek wewnatrz organizacji. Standardy i best practices w jednym miejscu.

Co musisz wiedziec?

Repository

Repozytorium kodu z historia zmian (Git). Moze byc publiczne lub prywatne. Zawiera kod, dokumentacje, Issues i Actions.

Pull Request (PR)

Propozycja zmian z brancha do brancha. Umozliwia code review, dyskusje, automatyczne testy i approval przed merge.

GitHub Actions

Wbudowany system CI/CD. Workflow definiowany w YAML (.github/workflows/). Uruchamiany na push, PR, schedule lub reczne.

GitHub Actions Runner

Maszyna wykonujaca workflow. GitHub-hosted (ubuntu, windows, macos) lub self-hosted na wlasnej infrastrukturze.

OIDC Federation

Bezpieczna integracja z AWS bez access keys. GitHub Actions dostaje tymczasowe credentials przez AWS STS AssumeRoleWithWebIdentity.

Przyklady GitHub CLI

Praca z repozytorium

Podstawowe operacje Git z GitHub

git clone [email protected]:firma/infra.git
git checkout -b feature/nowy-vpc
git add . && git commit -m 'feat: dodaj VPC'
git push -u origin feature/nowy-vpc

GitHub CLI (gh)

Utworz Pull Request z linii komend

gh pr create --title 'feat: nowy VPC' --body 'Terraform VPC z 3 subnetami'
gh pr list
gh pr merge 42 --squash

GitHub Actions - Terraform

Workflow wdrazajacy Terraform z OIDC

# .github/workflows/terraform.yml
name: Terraform
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: read
    steps:
      - uses: actions/checkout@v4
      - uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: arn:aws:iam::123456789012:role/github-actions
          aws-region: eu-central-1
      - run: terraform init && terraform apply -auto-approve

Jak GitHub dziala z AWS?

GitHub + AWS

GitHub Actions integruje sie z AWS przez OIDC federation (bezpieczne tymczasowe credentials), oficjalne akcje AWS (aws-actions/configure-aws-credentials), wdrazanie na ECS, EKS, S3, Lambda i CloudFormation. AWS CodeStar Connections laczy GitHub z CodePipeline. Amazon CodeGuru moze recenzowac Pull Requesty.

Quiz: GitHub

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz - feedback pojawi sie od razu.

Twoj wynik: 0 / 3

1. Co to jest GitHub Actions?

2. Dlaczego OIDC jest lepszy od access keys w GitHub Actions?

3. Co to jest Pull Request?

Chcesz poznac GitHub w praktyce?

Kurs GitHub jest w przygotowaniu. Zapisz sie na newsletter, zeby nie przegapic premiery. W miedzyczasie sprawdz darmowy kurs "AWS od podstaw".

Kurs AWS od podstaw Wszystkie technologie