Github actions is an automation tool integrated directly into GitHub repositories. It allows you to create workflows that automatically build, test and deploy your code.
Key Features:
- Triggered by GitHub events (eg, push, pull request)
- Runs in Virtual machines or containers
- Used for CI/CD pipelines
CI/CD is a set of practices and tools that automate the process of software delivery.
Continuous Integration (CI)
- Developers frequently merge code changes into a central repository
- Automated builds and tests are run
- Goals: detect problems early, improve software quality
Continous Deployment (CD)
- Automatically deploy all code changes to a testing or production environment
- Requires a robest automated testing environment
- Goals: faster release cycles, reduced manual errors
Github Actions for CI/CD
- Trigger: push to main branch
- Build: compile code, create docer image
- Test: Run unit tests, integration tests
- Deploy: Push to staging/production environments