Continuous Integration / Continuous Delivery (CI/CD) with Python Training Course
Continuous Integration and Continuous Delivery (CI/CD) is a software development methodology that enables application development and deployment to occur more frequently through smaller, incremental updates. This approach facilitates the seamless integration of code changes while automating the processes of building, testing, and deploying applications.
This instructor-led live training, available either online or onsite, is designed for developers and DevOps engineers who aim to construct automation pipelines using CI/CD practices with Python.
Upon completing this training, participants will be capable of:
- Configuring the essential development environment required to begin constructing CI/CD pipelines with Python.
- Developing automated pipelines for testing and publishing Python packages via Travis-CI.
- Automating the deployment of containerised applications using Docker and Heroku.
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practical activities.
- Hands-on implementation within a live-lab environment.
Course Customisation Options
To request a tailored training version for this course (for instance, exploring alternatives to Heroku or Travis-CI), please contact us to make arrangements.
This course is available as onsite live training in Botswana or online live training.Course Outline
Introduction
- Overview of core CI/CD concepts and their benefits
- Understanding CI services (such as Travis-CI, CircleCI, Semaphore, etc.)
Preparing the Development Environment
- Setting up GitHub repositories
- Integrating Travis-CI with GitHub
Building a Python Package
- Creating application logic
- Packaging the code locally
Automating Package Deployment
- Adding the PyPI token to Travis-CI
- Creating and defining the CI/CD pipeline
- Activating dependencies
- Running and testing the code
- Publishing the Python package
Deploying Containerised Applications
- Creating a Python web application
- Containerising the application
- Deploying the application using Docker
- Automating deployment with Heroku
Troubleshooting
Summary and Conclusion
Requirements
- Experience with Git or GitHub
- Proficiency in Python programming
Target Audience
- Developers
- DevOps engineers
Need help picking the right course?
southafrica@nobleprog.co.za or +27 (0)10 005 5793
Continuous Integration / Continuous Delivery (CI/CD) with Python Training Course - Enquiry
Testimonials (3)
Engaging, and hands on practise.
Balavignesh Elumalai - Scottish Power
Course - SonarQube for DevOps
Trainer has in depth experince and well narreated in deed. The depth of the knowledge and the passion for teaching is highly appriciated.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Course - Jenkins 2: Building CI/CD Pipelines
The instructor. I understood what he was teaching which was surprising given my lack of knowledge. If he could teach me, he can teach anyone!!!!
April - OIT
Course - Test Automation with Selenium and Jenkins
Related Courses
Agile Software Testing with Continuous Integration
28 HoursAgile Software Testing involves a set of testing practices that deliver timely and ongoing feedback on software quality issues, adhering to the principles of agile development.
Continuous Integration (CI) entails developers within a team merging their work multiple times throughout the day.
Argo CD
7 HoursThis instructor-led, live training in Botswana (online or onsite) is aimed at system administrators and developers who wish to use Argo CD to automate the deployment and lifecycle management of applications.
By the end of this training, participants will be able to automate, monitor, audit, and roll back their Kubernetes systems using Argo CD.
CI/CD with Bitbucket Pipelines
14 HoursThis instructor-led, live training in Botswana (online or onsite) is designed for developers who wish to build, test, deploy, and monitor containerized software in the cloud, without having to provision or manage infrastructure.
By the end of this training, participants will be able to:
- Understand and apply a configuration-as-code approach to setting up infrastructure.
- Create custom configured Docker containers for deploying software applications to the cloud.
- Deploy software to multiple environments.
- Monitor deployments via the Bitbucket Pipelines Deployment Dashboard.
Continuous Integration for JavaScript
14 HoursContinuous Integration (CI) is a development practice in which developers merge their code changes as frequently as possible to detect and locate errors quickly.
In this instructor-led live training, participants will learn the fundamentals of Continuous Integration for JavaScript while stepping through the process of setting up a Continuous Integration workflow for a JavaScript project.
By the end of this training, participants will be able to:
- Understand the fundamentals of Continuous Integration
- Build their own Continuous Integration system for their JavaScript projects
Audience
- Developers
- IT Professionals
- DevOps Engineers
- Business Managers
Format of the course
- A blend of lectures, discussions, exercises, and extensive hands-on practice
Continuous Integration (CI) for Java
14 HoursThis instructor-led live training in Botswana (online or onsite) is designed for developers who wish to learn and apply the basics of Continuous Integration for Java.
By the end of this training, participants will be able to:
- Learn and understand CI for a Java project.
- Build a CI system for Java.
Jenkins: Continuous Integration for Agile Development
14 HoursThis instructor-led, live training in Botswana covers the concepts, tools and techniques needed to carry out continuous integration of your software projects in an Agile environment. Participants carry out a series of hands-on exercises throughout the course to apply their knowledge in real situations. Interaction among instructor and participants is encouraged. Real-world cases are discussed and specific issues and questions are addressed and resolved in class.
Jenkins 2: Building CI/CD Pipelines
14 HoursThis instructor-led live training in Botswana (online or onsite) is aimed at engineers who wish to use Jenkins 2 to build pipelines that automate the process of moving an application from development to production.
By the end of this training, participants will be able to:
- Install and configure Jenkins 2.
- Adopt a script approach to automating every step of the software deployment process.
- Automatically generate application builds when software is checked into a version control system.
- Automatically kick off the compiling, testing, and packaging of a software application.
- Quickly respond to notifications and reports when things go wrong.
- Install additional plugins to extend Jenkins.
Jenkins Advanced
14 HoursThis instructor-led, live training in Botswana (online or onsite) covers advanced Jenkins configurations, security, and scaling techniques, and is aimed at DevOps engineers and software architects who wish to gain expertise in customizing Jenkins for complex software projects.
By the end of this training, participants will be able to:
- Optimize Jenkins for enterprise-level software projects.
- Implement advanced security measures.
- Build complex and scalable pipelines.
- Troubleshoot and maintain Jenkins installations effectively.
Jenkins for .Net Continuous Integration (CI)
14 HoursOnce developers have completed writing code, they typically integrate it into an application, copy the application to a folder, run the installer, and initialise the application to verify it functions as expected. This manual method does not scale well, is tedious, highly prone to errors, and lacks a mechanism for tracking changes during the process.
A superior approach involves automating this workflow through Continuous Integration. Continuous Integration encompasses the processes, tools, and infrastructure required to automate the building, deployment, and testing of software applications.
In this instructor-led, live training (available onsite or remotely), participants will learn how to transform a traditional, manual (or semi-manual) software deployment approach into an agile, Continuous Integration (CI) model using Jenkins. Participants engage in a series of hands-on, live-lab exercises throughout the course, applying their new knowledge to various software development and deployment challenges at every step. Interaction between the instructor and participants is encouraged. Real-world case studies are discussed, and specific issues and questions are addressed and resolved throughout the training. The training is particularly focused on .Net application development.
By the end of this training, participants will be able to:
- Install and configure Jenkins for .Net application development
- Use Jenkins to automate the process of checking in and merging .Net source code into a code repository
- Use Jenkins to automate the process of downloading, compiling, and deploying an application to a release server
- Integrate Jenkins with other software development tools such as issue trackers and
Audience
- .Net developers
- Build engineers
- QA engineers
- Project managers
- Release managers
- DevOps engineers
Format of the Course
- Part lecture, part discussion, exercises and heavy hands-on practice
Note
- To request a customized training for this course, please contact us to arrange.
Jenkins Fundamentals
14 HoursThis instructor-led, live training in Botswana (online or onsite) covers the fundamental concepts and usage of Jenkins, and is aimed at software developers and DevOps engineers who wish to set up Jenkins, create and configure jobs, and automate key aspects of the software development process.
By the end of this training, participants will be able to:
- Understand the principles of continuous integration and continuous delivery (CI/CD).
- Install and configure Jenkins for software automation.
- Create and manage Jenkins jobs for building and testing applications.
- Set up and customize automated pipelines for software deployment.
Building CI/CD Pipelines with Jenkins X
21 HoursThis instructor-led, live training in Botswana (online or onsite) is aimed at engineers who wish to use Jenkins X to create automated, cloud-ready CI/CD pipelines on Kubernetes.
By the end of this training, participants will be able to:
- Install and configure Jenkins X.
- Code resilient CI/CD pipelines using a versatile DSL (Domain Specific Language).
- Create CI/CD pipelines that leverage popular technologies such as GitHub, Kubernetes and Docker containers.
- Combine Jenkins X with other popular tools such as Helm, Prow, and Skaffold.
- Deploy applications to any environment, whether in the cloud or on-premises.
Test Automation with Selenium and Jenkins
21 HoursThis course offers training on managing testing projects through the Selenium test suite and implementing continuous testing with Jenkins.
Target Audience:
- Software test engineers
- Software developers engaged in agile development
- Release managers
- QA engineers
Upon completion of the Selenium training, participants will be able to:
- Apply the Selenium test suite effectively in real-world projects
- Conduct cross-browser testing using Selenium
- Distribute tests via Selenium Grid
- Execute regression tests with Selenium in Jenkins
- Generate test reports and periodic reports using Jenkins
SonarQube for DevOps
14 HoursThis instructor-led live training in Botswana (online or onsite) is tailored for DevOps engineers and developers who wish to utilise SonarQube to perform code reviews fully integrated into development toolchains such as Jenkins, GitHub, and Azure DevOps.
By the end of this training, participants will be able to:
- Set up the required development environment to begin running automated code reviews.
- Integrate SonarQube with continuous integration tools such as Jenkins and Azure DevOps.
- Carry out continuous code inspections to eradicate bugs and security vulnerabilities.
- Collect and analyse data to drive improvements in code cleanup, maintenance, and security.
SonarQube for Secure SDLC and Azure DevOps
21 HoursSonarQube serves as a platform dedicated to the continuous inspection of code quality and security, leveraging static analysis and developer-centric reporting.
This instructor-led live training, available either online or onsite, is designed for intermediate-level developers, DevOps engineers, and security professionals who aim to implement static code analysis, integrate SonarQube into Azure DevOps pipelines, and reinforce secure development practices.
Upon completing this training, participants will be capable of:
- Describing SonarQube's architecture, core functionalities, and security-oriented rule sets.
- Setting up SonarScanner in conjunction with popular build tools like Maven, Gradle, and Ant.
- Integrating SonarQube into Azure DevOps pipelines and importing Azure Repos for continuous analysis.
- Defining and optimising analysis parameters, introducing custom rules via the SonarQube API, and interpreting security reports.
- Implementing improvements in secure development methodologies and mapping responsibilities within the CI/CD process.
- Conducting hands-on analyses across sample repositories (Java + Quarkus and Angular) and addressing identified issues.
Course Format
- Interactive lectures and discussions.
- Guided, practical hands-on labs utilising real repositories.
- Live configuration, testing, and troubleshooting within an Azure DevOps and SonarQube environment.
Course Customisation Options
- To request a bespoke version of this training (featuring different language stacks, deeper DevOps integration, or expanded labs), please contact us to arrange.