GitHub
GitHub & GitHub Actions
Najwieksza platforma do hostingu kodu i wspolpracy developerskiej. GitHub Actions, Pull Requesty i integracja z AWS.
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.
Push kodu
Developer pushuje zmiany do brancha. Git przechowuje peina historie zmian z diff kazdego commita.
Pull Request
Utworz PR do merge zmian. Automatyczne workflow (Actions) uruchamiaja testy, linting i sprawdzenia.
Code Review
Zespol przegladakod, komentuje, sugeruje zmiany. Required reviewers i branch protection zapewniaja jakosc.
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.
PoczatkujacyOIDC zamiast access keys
Skonfiguruj OIDC federation z AWS IAM. Actions dostaje tymczasowe credentials. Zero dlugozyciowych kluczy w secrets.
ZaawansowanyReusable workflows
Utworz wspolne workflow w oddzielnym repozytorium. Wszystkie projekty uzyja tego samego standardowego pipeline.
ZaawansowanyDependabot i security alerts
Wlacz Dependabot dla automatycznych aktualizacji zaleznosci. Secret scanning wykryje wyciekle klucze AWS.
PoczatkujacyDo czego sluzy GitHub?
Zarzadzanie kodem infrastruktury
Przechowuj pliki Terraform, Ansible, Dockerfile w repozytoriach z wersjonowaniem, branchami i code review.
CI/CD z GitHub Actions
Automatyzuj terraform plan/apply, budowanie obrazow Docker, testy i wdrazanie na AWS z kazdym pushem.
Code review infrastruktury
Pull Requesty z automatycznymi sprawdzeniami (linting, plan, security scan) przed zatwierdzeniem zmian w infrastrukturze.
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 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.
1. Co to jest GitHub Actions?
2. Dlaczego OIDC jest lepszy od access keys w GitHub Actions?
3. Co to jest Pull Request?
Serwisy AWS powiazane z GitHub
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".