- Core CI/CD concepts and why automation matters
- How GitHub Actions compares to other automation tools
- Creating, testing, and publishing Docker images from workflows
- Orchestrating multi-job pipelines, reusable workflows, and custom actions
- Managing secrets, environments, and self-hosted runners
- Deploying to cloud targets, including uploads to AWS S3 and GitHub Enterprise Cloud
- Theory: clear explanations and best practices.
- Demonstration: real-world examples and live walkthroughs.
- Hands-on labs: practice in pre-provisioned KodeKloud environments.
- Introduction to GitHub Actions workflows, events, and triggers
- Jobs, steps, and runner types (GitHub hosted vs self-hosted)
- Actions marketplace and writing custom actions
- Secrets and environment protection rules
- Artifacts and caching strategies
- Docker image building, testing, and publishing
- Deployment pipelines and progressive delivery strategies
- Workflow: A YAML file that defines automation triggered by events.
- Job: A collection of steps that run on the same runner.
- Step: A single task in a job (action or run command).
- Runner: Machine which executes jobs (github-hosted or self-hosted).
- Action: Reusable unit of automation; can be composite, JavaScript, or Docker-based.
Advanced features and production concerns
- Job orchestration: control job dependencies and concurrency
- Reusable workflows: share common CI/CD logic across repositories
- Self-hosted runners: use your own infrastructure for specialized needs
- Secrets management: securely store credentials and tokens
- Environments: add approvals and protection rules for critical deployments
Never commit secrets or credentials into your repository. Use GitHub Secrets or repository/organization
vars for storing sensitive values, and restrict access with environments and branch protection rules.The KodeKloud labs provide browser-based, pre-configured environments so you can experiment and deploy solutions directly from your browser without local setup.
- Ensure you have a GitHub account
- Create a repository for practice and enable Actions
- Add necessary
secrets(DOCKERHUB, cloud provider credentials) - Start with a simple workflow that runs tests on PRs
- Gradually add build, publish, and deploy steps