yuval.guide — Guides and hands-on courses on DevOps, cloud, Linux, Python, Kubernetes, networking and AI.
The project's finished pipeline, played one event at a time. A push to a topic branch runs the branch workflow: quick tests, for the developer; it blocks nothing. A pull request runs the gate: every check, on a trial merge, then the review; a new commit runs the checks again. A merge is a push to main, and runs the …
Read MoreIn this project you build a delivery pipeline for a small web API: a CRUD API in Python, in its own GitHub repository; a GitHub Actions pipeline: a push to your own branch runs the fast tests; a pull request runs more: integration tests, security and code inspection tools; a pull request waits for an approver before it …
Read MoreNew to workflows? Start with GitHub Actions Workflows: an Introduction. A workflow file has three levels, one inside the other: the workflow its jobs each job's steps Every key belongs to one or more of these levels, and a key in the wrong level is an error. The workflows of a repository A repository holds any number …
Read MoreProject Posts A CRUD API from push to production The Plan The Pipeline, Step by Step Task 1: The Application and Its Repository Task 2: The Pipeline, Empty Task 3: Pull Requests and the Approver Task 4: The Container Image Task 5: The Infrastructure on AWS Task 6: The First Deployment Task 7: Tests on Every Push Task …
Read MoreIn this task you create the repository and the app the pipeline will deliver. Create the repository On GitHub, a new public repository: <you>/devops-project. It is your portfolio: a potential employer can read the code, the pipeline and every run. Task 3 protects main with a branch protection rule, and on GitHub's free …
Read MoreIn this task the deployment gets the parts a real one has. Add environments GitHub environments staging and production, each with its own variables and secrets. TODO: a required reviewer on production, or the merge approval only. Deploy to staging first TODO: a second namespace, or a second set of instances. Production …
Read MoreIn this task you remove what costs money and what holds a credential. Remove the AWS resources TODO: terraform destroy, per track; check the load balancers are gone. Remove the credentials The Docker Hub token, the repository's secrets, the IAM role and the OIDC provider. Remove the app installation Uninstall …
Read MoreIn this task you write three workflow files, one per event: Workflow Runs on Its part Branch a push to a topic branch the developer's own loop: fast feedback while they work; it blocks nothing Pull request a pull request to main, and every new commit on it the gate: its checks and the approval decide whether a change …
Read MoreIn this task main stops taking changes directly: a change reaches it only through a pull request that passes its checks and has an approval. The approver is pr-reviewer, the GitHub App from the Git Collaboration course: a stand-in for a senior team member. On a real team, a person reads every pull request, and approves …
Read MoreIn this task the first placeholders become real: the image-build and image-push jobs. The image is built on a GitHub runner, a fresh machine per job, not on your own. Only the merge workflow pushes it to Docker Hub. A pull request builds the image and throws it away; a topic branch builds none. The push needs a Docker …
Read More