
Explore how GitHub Actions automates build, test, and deployment for DevOps teams with no scripting required, and learn CI versus CD, including manual approval in delivery.
Trace the evolution of GitHub from a 2008 git hosting platform to a comprehensive DevSecOps suite, highlighting GitHub Actions, advanced security, container registry, and Copilot.
Explore GitHub Actions workflow structure in a repository, including triggers like manual, PR, and push, and how to run jobs with runners and steps, including build, test, and deployment workflows.
Learn to create your first GitHub Actions workflow with a Hello World example, using a manual workflow_dispatch trigger, a single job on ubuntu latest, and an echo step.
Learn to run multiple shell commands in a single GitHub Actions step using the pipe symbol, with workflows stored under .github/workflows and triggering via workflow dispatch.
Create multiple jobs in a single GitHub Actions workflow with build, test, and deploy on Ubuntu latest runners. Observe them running in parallel across separate runners after triggering the workflow.
Configure GitHub Actions workflows to run jobs sequentially by using needs to enforce dependencies, turning parallel builds into a stepwise pipeline: build, then test, then deploy.
Learn how GitHub Actions uses the on keyword to define triggers and explore four main types: event-based, manual, scheduled, and workflow triggers, to guide your CI/CD workflows.
Explore practical workflow triggers in GitHub Actions by configuring push and pull request events, filtering by branches or regex, and testing triggers via commits and pull requests.
Learn to create and use repository variables in GitHub Actions workflows, distinguish non-sensitive data from secrets, and print a variable with ${{ vars.variableName }} to show hello Hari Kamana.
Store sensitive credentials securely as repository secrets in GitHub Actions, where secrets are encrypted and masked in logs. Learn how to create, access, and reference secrets in workflows using secrets.name.
Learn to use the built-in checkout action in GitHub workflows to check out the repository, print index.html, and understand inputs and outputs from marketplace actions.
Learn to deploy a static website to an S3 bucket with a GitHub Actions workflow. Configure hosting and public access, then sync index.html to S3 using secrets.
Understand environment variables as key-value pairs in the system environment, and see how to pass details to scripts at runtime to connect to different databases without changing code.
Master environment variables in a GitHub workflow by configuring them at workflow, job, and step levels, observe precedence where the step level wins, demonstrated with an env-demo workflow.
Master GitHub Actions inputs and parameters by building a single workflow with a manual trigger and environment and artifact inputs, enabling reusable deployments to dev, test, or prod.
Explore how to use GitHub Actions context variables to access workflow, event, repository, and environment details. Print or reference them in workflows and Docker builds.
Explore sharing data between steps and jobs in GitHub Actions using outputs, with an example workflow that sets version 0.0.1 and accesses it in the next step.
Learn how to share data between GitHub Actions jobs by declaring job outputs, setting a version in the build job, and accessing it in the deploy job using needs.
Learn how to use if conditions in GitHub Actions to control whether steps or jobs run, with examples on triggering on main and using GitHub context refs and ref_name.
Demonstrate using an or condition in GitHub Actions with two pipe symbols, leveraging the context actor, to run a workflow on push when triggered by Hari or Java Home Tech.
Create a two-job GitHub Actions workflow that builds on pull requests and deploys on pushes to main, using job-level if conditions with github.event name and pullrequest.base.ref.
Apply if conditions in GitHub Actions with startsWith, endsWith, contains, success, and failure. Route pushes from feature, develop, and main to static analysis, dev, and production deployments with notifications.
Learn to create and call reusable GitHub Actions workflows in the .github/workflows folder, reducing code duplication and improving maintainability by wiring a caller workflow to a reusable one.
Configure inputs for reusable GitHub Actions workflows by defining input name, description, mandatory flag, and type, and reference them with ${{ inputs.name }} in steps when calling the workflow.
Declare repository secrets in a reusable workflow, reference them as secrets.mysecret, and test in actions to observe masking and secure handling.
Learn how to declare and propagate outputs in reusable workflows, store them in the GitHub output file, pass to jobs and workflows, and access them via needs.
Master GitHub Actions CI/CD workflows by configuring AWS access with OpenID Connect, replacing long-lived keys, and creating a web identity role in IAM for secure Terraform deployments.
Deploy a Terraform VPC module with a GitHub Actions workflow, using dev and prod folders with dev.tfvars and prod.tfvars to manage environments, and explore Terragrant to DRY provider blocks.
Configure an S3 backend for Terraform state to provide a safe, centralized remote state for a team. Create an S3 bucket, set the key dev/terraform.tfstate, and use region ap-south-1.
Automate Terraform plan on pull requests to the dev branch with GitHub Actions. Deploy changes to the dev environment using Terraform apply on develop with AWS OIDC credentials.
Implement a production GitHub Actions workflow to automate Terraform apply in the prod folder with prod.tfvars, using AWS access and dev-to-main deployment sequencing.
Create an Amazon EKS cluster with eksctl, install Argo CD in a dedicated namespace, expose the Argo CD dashboard with a load balancer, and retrieve the initial admin password.
Build a Flask app, containerize with Docker, and manually deploy from the local machine to an EKS cluster via Kubernetes deployment and service.
Automate ci for a flask app with GitHub Actions, build a Docker image, push to Docker Hub with a commit-id tag, and update Kubernetes deployment via yq for Argo CD.
Deploy a Flask application to Amazon EKS using Argo CD in a GitOps workflow with automatic sync from the Kubernetes folder, automating image tag updates and deployments.
Combine docker build and push into one GitHub Actions step, building from folder and tagging with short shop for Docker Hub, then use the yq action to update deployment YAML.
Integrate vulnerability scanning into ci/cd pipelines with Trivi from Aquasec to verify docker images before production deployment. Build locally, scan for critical or high issues, then push once clear.
Set up Slack notifications for GitHub Actions by using an existing workspace, creating a public channel named GitHub Actions Alerts Demo, and configuring an incoming webhook.
Learn to configure a GitHub Actions workflow to send Slack notifications after vulnerability scans, using a secret Slack webhook URL and a conditional that triggers on scan failures.
Deploy Java apps on an Elastic Kubernetes cluster using GitHub Actions for CI and Argo CD for CD, including SonarQube analysis, multi-stage Maven build, TriviScan, and Docker Hub push.
Explore a simple java web app built with maven, using com.xml for dependency management and build lifecycle, producing a war file deployed on tomcat with docker image setup.
Provision an AWS EC2 instance, install Docker, and deploy a SonarQube container; configure Docker access, open port 9000, and log in as admin to create a project.
Set up a GitHub Actions workflow to run SolrQube static code analysis on a Java project, checking for XSS, SQL injection, blockers, and maintainability before production.
Demonstrate how to enforce CI/CD quality gate by failing a GitHub Actions workflow when SonarQube quality gate fails, using the SonarSource built-in action and a report file.
Write a multi-stage dockerfile that builds a java warfile in the first stage using a jdk and maven, caching pom.xml to speed dependency installation. In the second stage, use a lightweight tomcat image, remove the default webapps, copy the generated root.war to webapps, and start tomcat on port 8080.
Learn how to build a Docker image in a GitHub Actions workflow using docker/build-push-action v6, scan with Trivy, and tag with the short commit id before pushing.
Integrate Trivy vulnerability scanning into a GitHub Actions workflow using Aqua Security built-in action and Copilot-generated code, and control exit codes to fail or bypass the scan for demonstration.
Demonstrates pushing a Docker image to Docker Hub via GitHub Actions by logging in with secrets, including Docker Hub username and access token, and triggering the workflow.
Create Kubernetes manifest files to deploy on an elastic Kubernetes cluster using Argo CD, with a deployment and a load balancer service labeled java-app and image tied to a commit.
Update the Kubernetes deployment YAML with the new docker image tag using yq, reading from an environment variable, apply inline, then commit and push via GitHub Actions for Argo CD.
Deploy an application with Argo CD by creating a GitHub-connected app, enabling automatic syncing, and deploying Kubernetes manifests from the k8s folder to the default namespace.
Ready to become a DevOps pro and automate your software delivery like a boss? This course teaches you how to master GitHub Actions CI/CD workflows, taking you from code to deployment with hands-on real-world examples, practical exercises, and proven best practices.
You’ll start with the essentials—workflows, triggers, actions, and environment variables—then dive into building robust CI/CD pipelines that automatically build, test, and deploy applications. Learn how to deploy containerized apps to Kubernetes EKS, ensuring your cloud-native deployments are smooth, reliable, and highly scalable across multiple environments.
This course goes beyond the basics. Implement Docker image scanning to secure your containers, perform static code analysis with SonarQube to maintain high-quality, maintainable code, and integrate Terraform for automated infrastructure provisioning. You’ll also explore best practices for managing secrets, configuring environments, and debugging workflows so your pipelines are production-ready, efficient, and resilient.
Automate CI/CD pipelines with security and quality checks, deploy apps seamlessly to Kubernetes EKS, integrate Docker, Terraform, and cloud services into workflows, and optimize pipelines for speed, reliability, and scalability. Gain the skills to simplify complex processes, reduce manual work, and increase deployment confidence across projects of any size.
Stop doing repetitive tasks manually. Accelerate deployments, enforce code quality, and become the DevOps engineer every team wants. Enroll now and transform your CI/CD skills today!