The source code repository provides a single source of truth for the software code and manages code versions, branches and users who can update the code.
A build process may generate several artifacts that are needed for the CI/CD pipeline or for deploying software.
The CI is a software development process where new code changes are regularly built, tested and merged into source code repository by the engineering team. The code checkin to the source code kicks an automated process to validate build using automated tests to identify bugs and integration issues. Thus, it reduces amount of time for manual testing and expedites shipping high quality code to the production environment.
The continuous delivery & deployment automates the release to production instead of manual approval and deployment process.
You can implement CI/CD by defining a job configuration and then uploading it to the server.
The steps in a build processes can be mapped to the tasks in the job configuration where each task can map to the stage
in build process such as compile
, test
, deploy
, etc.
See Variables and Request Parameters for setting up variables and parameters for the job configuration and request parameters, e.g.
job_variables:
Target: world
The job configuration uses GO templates, so you can use parameters or variables to replace the values, e.g.
- echo "{{.Target}}" > world.txt
See Environment Variables for configuring environment variables that you can access them inside the container, e.g.
environment:
REGION: seattle
See Job / Organization Configs for managing secure configurations at job and organization level.
See Accessing Source Code Repositories for accessing source code repositories.
See Scheduling Manually for scheduling job manually. You can submit a job as follows:
See Job Scheduling for submitting a job at scheduled.
See Job Filtering for scheduling job at a regular interval.
See Github-Webhooks for scheduling job using GitHub webhooks.
See Post-commit hooks for scheduling job using git post-commit hooks.
See Job Filtering for filtering scheduled job.
Following examples show how you can use artifact-store, docker/kubernetes and directed acyclic graph support in formicary to build CI/CD solutions: