
Master CI/CD concepts and the software development life cycle from planning to deployment and monitoring, linking DevOps practices with cloud tooling like AWS, GKE, and Kubernetes.
Compare waterfall and agile software development. Waterfall relies on long planning and silos, while agile uses two-week sprints, incremental releases, and continuous integration and deployment with DevOps.
Master continuous integration with automated builds and tests for every commit, including linting and pre-commit formatting, run on a CI server to provide rapid feedback on environment-related failures.
Continuous delivery enables deployment to staging and production with push-button and manual approval; The CI/CD pipeline builds, runs unit and acceptance tests, creates artifacts, and deploys to staging and production.
Continuous delivery enables production deployment by push button after a manual review. Continuous deployment deploys automatically without review; both pursue faster velocity, fewer bugs, and higher customer satisfaction.
Explain how CI/CD differs from DevOps by showing CI building code, integrating, and testing up to deployment, while DevOps includes post deployment monitoring, logging, and alerting with tools like Datadog.
Explore Jenkins, a free open-source CI/CD platform with master and worker architecture, plugin flexibility, and Groovy or shell scripting.
Install Jenkins on Mac, Linux, and AWS EC2, including Amazon Linux 2, Java 1.8 or 11, and port 8080. Configure security groups, SSH, and initial admin to access the dashboard.
Explore Jenkins dashboard overview—the header, breadcrumbs, side navigation, and job list for monitoring pipelines and statuses. Learn creating items, managing credentials, and freestyle versus pipeline, classic and blue ocean views.
Create a freestyle Jenkins job that pulls from a public Git repo and runs npm run build. Learn to configure the Git plugin and read console output for build verification.
Install and manage Jenkins plugins to extend functionality, including blue ocean, with restarts, updates, and enabling or disabling plugins for a stable, enhanced pipeline experience.
Explore how Jenkins security protects your source code, build artifacts, and logs by applying the CIA triad—confidentiality, integrity, and availability.
Discover how CSRF protection guards a Jenkins CI/CD environment from cross-site request forgery, preventing unwanted actions by authenticated users, with protection settings defaulting to a value you need not change.
Explore securing the Jenkins master-agent communication, enabling agent access control to restrict information, and activating protective self-destruction to prevent unauthorized master access.
Prevent malicious JavaScript by setting the markup formatter to plain text by default, disabling unsafe HTML in text inputs, and applying defensive programming to prevent SQL injection and script injections.
Configure Jenkins authentication and authorization by selecting a security realm—Jenkins own user data, servlet container, ldap, or Linux id and group—and implement the role based authorization strategy plugin.
Install the role based authorization strategy plugin in Jenkins, create a developer role with read-only permissions, assign it to a user, and verify access restrictions.
Centralize authentication with the Jenkins credentials plugin, storing a secret text, a secret file, and SSH keys to access private repos, databases, and a kubeconfig file, with redacted outputs.
Demonstrates configuring a Jenkins freestyle job to pull from a private repo using SSH key credentials, including uploading the private key and validating a successful git pull.
Explore how Jenkins freestyle jobs, pipelines, and multi-branch pipelines manage fetching code from version control, building and testing, storing artifacts, and notifying developers in a CI workflow.
Explore the anatomy of a Jenkins job, from general metadata and source code management to build triggers, environment, history, and git with webhooks and pipelines.
Learn to build a Jenkins job that triggers on private git commits, pushes a build status and git tag to GitHub, and uses staging and production checks for deployment.
Configure GitHub webhooks to trigger a Jenkins job whenever a commit is pushed, by using the public ip:8080 payload url with the exact path and trailing slash.
configure the git publisher to push git tags from Jenkins, using origin as the remote, tag names that include the build number, and verify GitHub webhook triggers for builds.
Configure Jenkins to post GitHub commit status via the git publisher post-build action, using a personal access token stored in Jenkins credentials, and verify the green check on success.
Explore the Jenkins pipeline overview and its left-to-right visualization of build, test, and deploy stages, and configure pipelines per Jenkins 2.0+ requirements with the pipeline plugin installed by default.
Learn why aggregating the entire CI/CD workflow into a single Jenkins job harms readability and parallelism, and how modular stages, functions, and manual approvals improve pipeline design.
The lecture shows why separating ci/cd into multiple jobs creates cascading triggers, complicates visualization, and blocks manual approvals and parallelization, advocating the use of pipelines instead.
Compare freestyle vs pipeline, showing how pipelines visualize stages, support complex ci/cd workflows with optional manual approvals, and enable infrastructure as code via a Jenkinsfile.
Master Jenkins pipelines with Blue Ocean by defining stages and steps, and committing a Jenkinsfile to the repo, while learning about GitHub token authentication.
Define Jenkins pipeline terminology and Jenkinsfile concepts, including master, agent, node, stage, and step, and explain infrastructure as code powering CI/CD beyond freestyle jobs and blue ocean.
Master Jenkinsfile anatomy by detailing declarative pipeline syntax—pipeline, stages, stage steps, and agent any—and compare single or multi-stage builds with shell blocks, highlighting declarative as the preferred approach.
Explore the declarative directive generator to create partial declarative pipeline syntax, including stages, steps, environment variables, and inputs for controlled deployments.
Explore Jenkins built-in environment variables such as build ID, build number, job name, and workspace; learn to reference them in pipeline scripts, shell blocks, and steps with echo examples.
Explore custom environment variables in Jenkins pipelines, comparing global and local scope, using the environment syntax with key-value pairs, and printing scoped values in shell blocks.
Learn how to reference Jenkins credentials in pipeline code using the credentials function, manage credential IDs, and securely expose secret text, secret files, and ssh keys.
Explore how to collect user inputs in Jenkins pipelines with parameters, including string or text, boolean, choice, and password types, using blue ocean UI and param references.
Configure Jenkins pipelines to handle errors using local and global post blocks, triggering success or failure actions and Slack or email notifications with build details.
Explore reusing files across stages in a Jenkins CI/CD pipeline by stashing and unstashing a Helm chart file, sharing its name between build and deploy stages.
Learn how multi-branch Jenkins pipelines automatically discover and run per-branch Jenkinsfiles stored at the repo root, using regex or patterns to control branch triggers.
Discover how to use docker as an execution environment in a Jenkins pipeline to guarantee a consistent node build by running npm run build inside a node container.
Master shorthand function syntax in Jenkins pipelines, comparing short hand and long form definitions, with git clone, ssh user private key, and credential steps.
Explore how to implement parallel execution in a Jenkins pipeline by using the parallel directive inside a stage, running multiple Docker images like node 12 and node 14 in parallel.
Explore declarative versus scripted Jenkins pipelines, favoring declarative as the modern approach and scripted for flexibility, with Jenkinsfile syntax, Blue Ocean, and pipeline as code concepts.
Have you heard about CI/CD pipeline before?
You wonder what it is and how it's related to SDLC (Software Development Lifecycle)?
Well, in this course, I will introduce CI/CD pipeline concepts by covering Waterfall and Agile development method, what CI and CD mean, and CICD vs DevOps.
Even if you are not a DevOps engineer, this course will benefit you in understanding what CI/CD pipeline is and how it integrates into a development process.
By the time you finish this FREE course, you will be ready to jump onto my "Jenkins CI/CD Pipeline Masterclass" course!
Who should take this course
you are a software developer/engineer or junior DevOps
you don't know much about CI/CD pipeline
you want to know how to integrate Jenkins with git, bitbucket
you want to know how to define CI/CD pipeline as a IaC using Jenkinsfile
Why you should take this course:
Instructed by a cloud DevOps engineer (with CKA and certified AWS DevOps pro) working at US company in SF
I have been pretty handson with Terraform, AWS, AWS EKS with 7+ industry experience in both North America and Europe.
My background & Education & Career experience
Cloud DevOps Software Engineer with 6.5+ years experience
Bachelor of Science in Computing Science from a Canadian university
Knows Java, C#, C++, Bash, Python, JavaScript, Terraform, IaC
Expert in AWS (holds AWS DevOps Professional certification) and Kubernetes (holds Certified Kubernetes Administrator, CKA, CKS)
I will see you inside!