Continuous integration and continuous delivery (CI/CD) are two software engineering approaches used to produce software in an efficient, repeatable way. In this video, learn how to plan a CI/CD pipeline with GitHub Actions.
- [Instructor] Now let's take a look at setting up a CI/CD pipeline with GitHub Actions. The main goal of continuous integration is to find and resolve problems early in the development cycle. With continuous integration, developers work on their code in a local environment, and commit their changes to a shared repository. Their code can then be combined, or in other words, integrated with code from other members of the team or any existing code. Continuous delivery follows continuous integration. In this part of the development cycle the integrated code is compiled into artifacts and stored. To further improve the quality of the product, the artifacts can be used for additional testing before they're made available for deployment. And in a full continuous deployment cycle, artifacts are deployed to live environments, which can be used for further testing or even production use. We can implement a CI/CD pipeline using a GitHub Actions workflow that gets triggered on each push to the master branch of the repository. After being triggered, the workflow will run a series of jobs, steps, and actions. First, we'll need to lint the code and run pre-defined tests. Then we'll build a Docker image using a Docker file in the repo. To make the new image available for deployment, we'll upload the image to a package registry. Then we can test the image in a virtual environment to make sure all is well before deploying. Once we're confident the image is ready, we can deploy to a staging or production environment. To explore this scenario, we'll use the code from a Python web application. It has Python scripts, data files, and a Docker file for packaging the web app into a Docker image. In the next lesson we'll see the workflow file for this project and the first stage of our pipeline.
- Creating an action
- Creating a workflow
- Adding actions to a workflow
- Using an action from a repository
- Developing a CI/CD pipeline with GitHub Actions
- Building custom actions
- Publishing an action to the GitHub Marketplace