Visão Geral
Este Curso CI/CD With Jenkins visa capacitar os participantes a utilizarem o Jenkins, uma das ferramentas mais populares para integração contínua (CI) e entrega contínua (CD). Os alunos aprenderão a configurar pipelines automatizados, integrando o Jenkins com repositórios de código, ferramentas de teste e ambientes de deploy. Além disso, o curso abordará práticas recomendadas para garantir a eficiência e a qualidade no ciclo de vida de desenvolvimento de software.
Conteúdo Programatico
Module 1: Introduction to CI/CD and Jenkins
- Overview of Continuous Integration and Continuous Delivery
- Importance of Automation in Software Development
- Introduction to Jenkins: Features and Use Cases
- Jenkins Installation and Setup (Linux/Windows)
Module 2: Jenkins Basics
- Jenkins Interface and Key Components
- Configuring Jenkins: Jobs, Nodes, and Plugins
- Working with Jenkins Plugins: Installing and Managing Plugins
- Creating and Running Your First Jenkins Job
Module 3: Version Control System Integration
- Integrating Jenkins with Git for CI/CD
- Configuring Jenkins to Monitor Repository Changes
- Automating Code Fetching and Building from Git
Module 4: Pipeline as Code (Jenkinsfile)
- Introduction to Jenkins Pipelines
- Declarative vs. Scripted Pipelines
- Writing Jenkinsfiles: Syntax and Structure
- Building Simple and Complex Pipelines
Module 5: Build Automation and Testing
- Integrating Build Tools: Maven and Gradle
- Running Automated Unit Tests in Jenkins Pipelines
- Working with Code Quality Tools (SonarQube, Checkstyle)
- Generating Test Reports and Notifications
Module 6: Jenkins and Docker Integration
- Introduction to Docker and Containers in CI/CD
- Running Jenkins in a Docker Container
- Automating Containerized Builds with Jenkins
- Creating and Managing Docker Images in Jenkins Pipelines
Module 7: Continuous Delivery and Deployment
- Automating Deployment with Jenkins
- Integration with Application Servers (Tomcat, Kubernetes)
- Environment-based Deployments (Staging, Production)
- Rollbacks and Blue-Green Deployments
Module 8: Jenkins Security and Monitoring
- Securing Jenkins: Users, Roles, and Permissions
- Managing Credentials in Jenkins
- Monitoring Jenkins Jobs and System Performance
- Troubleshooting and Debugging Jenkins Pipelines
Module 9: Notifications and Reporting
- Setting up Email Notifications for Build Status
- Integrating Jenkins with Slack and Other Notification Systems
- Generating and Sharing Build Reports
- Real-time Monitoring of Builds and Pipelines
Module 10: Advanced Jenkins Features
- Distributed Builds: Configuring Jenkins Master and Slave Nodes
- Parallel and Sequential Builds
- Pipeline as Code for Complex Deployments
- Best Practices for Managing Jenkins at Scale
Module 11: CI/CD in Practice: Real-World Scenarios
- Case Study: CI/CD Pipeline for a Web Application
- Case Study: Deploying Microservices with Jenkins and Docker
- Case Study: Jenkins Integration with Cloud Platforms (AWS, Azure)
Module 12: Course Review and Final Project
- Review of Key Concepts and Techniques
- Hands-on Final Project: Building a Full CI/CD Pipeline
- Q&A and Best Practices Discussion