This document discusses Prow, an open source Kubernetes-based CI/CD system for GitHub repositories. It provides an overview of Prow's architecture and components including Hook, Plank, Tide, Deck, and others. The document also describes Prow's CI/CD process from opening a PR through merging. It concludes with instructions for setting up Prow on GCP or manually, and adding ProwJobs to repositories.
23. CLOUD NATIVE ASTURIAS JAN’21
CI/CD PROCESS
1. Open a PR
2. Hook receives webhook and trigger some plugins.
24. CLOUD NATIVE ASTURIAS JAN’21
CI/CD PROCESS
3. Reviewer comments PR with “/ok-to-test”.
4. Hook route webhook to trigger plugin.
25. CLOUD NATIVE ASTURIAS JAN’21
CI/CD PROCESS
5. Trigger plugin create presubmit Prowjob.
6. The Prowjob is run and the PR is updated based on the exit code.
26. CLOUD NATIVE ASTURIAS JAN’21
CI/CD PROCESS
7. Approver approves the PR, “approve” label is applyed.
8. Tide checks if merge conditions are met.
9. Tide merges PR.
29. CLOUD NATIVE ASTURIAS JAN’21
GITHUB SETUP
1. Create a GitHub account for the bot.
2. Create a personal access token.
3. Fork kubernetes/test-infra repository.
30. CLOUD NATIVE ASTURIAS JAN’21
DEPLOYING ON GCP
1. Install Bazel.
2. Run bazel run //prow/cmd/tackle