Module-09
Module-09
1
GitHub Action
•Automation Tool:
GitHub Actions is a powerful tool provided by GitHub to automate
various tasks within your software development workflows.
•Custom Workflows:
It allows you to create custom workflows tailored to your specific
project needs, directly within your repositories.
•Task Automation:
You can automate tasks like building, testing, and deploying your code.
•Event-Triggered:
These workflows can be triggered by specific events, such as pushing
code to a repository, creating a pull request, or merging a branch.
2
Benefits over traditional CI/CD
1. Tightly Integrated with GitHub: Seamless setup and management directly from
repositories.
2. Event-Driven Workflows: Trigger actions based on specific events for flexible
automation.
3. Diverse Ecosystem: Access to community-contributed actions and workflows.
4. Simplified Configuration: YAML-based workflow definitions for easy customization.
5. Scalability and Cost-Effectiveness: Free for public repositories and flexible pricing
for private ones.
3
Developers merge code into main
Code changes & checks branch, trigger GitHub action for
test & quality check
Integratin
g With
Jenkins, run end to end integration
Jenkins integration &testing tests &provisions environment if
successful
4
Integrating With Jenkins
Hybrid Deployments:
•Leveraging Strengths: Organizations with existing Jenkins-based pipelines can leverage GitHub
Actions for specific deployment stages or new projects. This allows them to take advantage of the
strengths of both tools.
•Task-Based Integration: GitHub Actions can handle specific tasks within the deployment pipeline,
such as building, testing, or deploying specific components, while Jenkins continues to manage the
overall release process.
Multi-Tool Ecosystem:
•Best of Both Worlds: In complex environments, using both Jenkins and GitHub Actions allows you
to benefit from the robustness and flexibility of Jenkins and the seamless integration of GitHub
Actions within GitHub repositories.
•Granular Control: GitHub Actions can be utilized for specific microservices or repositories,
providing more granular control over certain deployment aspects.
Diverse Environment Deployment:
•Tailored Deployments: Deploying applications to multiple environments with varying requirements
can benefit from the combination of Jenkins and GitHub Actions.
•Orchestration and Targeting: Jenkins can manage the overall deployment orchestration, while
GitHub Actions can handle specific environment configurations
5
Continuous deployment process refinement
6
7
8
CD Process Refinement: Continuous
Monitoring & Feedback
9
CD Process Refinement: Security
Considerations
10
CD Process Refinement:
Continuous Improvement
11
Containerization Fundamentals
12
Docker’s Role in Simplifying Development
13
Docker Basics
14
Docker Basics
15
Docker Integration With
Jenkins
16
Terraform
17
IaC with terraform
18
Automated Containerization
19
Automated
Containerization
20
Integration Points
21
Integration Points
22
Benefits of Integration
23
Deployment Strategies:
Canary Deployment
24
25
26
27
28
29
THANK YOU
30