⌨️ Report CI/CD Events
![image.png 800](https://files.readme.io/aee4bc5-image.png)
We provide Faros Events CLI for reporting CI/CD events to Faros CE platform. The CLI currently supports sending two types of events: CI Event and CD Event.
![events.png 2250](https://files.readme.io/31326a3-events.png)
Usage
Instrumenting your CI/CD pipelines is as easy as adding a single command at the end. E.g sending CI event:
./faros_event.sh CI \
--community_edition \
--url "http://localhost:8080" \
--run "<run_source>://<run_org>/<run_pipeline>/<run_id>" \
--commit "<commit_source>://<commit_org>/<commit_repo>/<commit_sha>" \
--artifact "<artifact_source>://<artifact_org>/<artifact_repo>/<artifact_id>" \
--run_status "Success" \
--run_start_time "1626804346000" \
--run_end_time "1626804358000"
./faros_event.sh CD \
--community_edition \
--url "http://localhost:8080" \
--artifact "<artifact_source>://<artifact_organization>/<artifact_repository>/<artifact_id>" \
--deploy "<deploy_source>://<deploy_application>/<deploy_environment>/<deploy_id>" \
--deploy_status "Success" \
--deploy_start_time "1626804356000" \
--deploy_end_time "1626804357000"
Download & read more usage examples in Faros Events CLI repository or in the Recipes link below.
Entity Overview
![Faros_CI_CD_Events.png 1820](https://files.readme.io/5dd80d2-Faros_CI_CD_Events.png)
CI Event
Use CI events to instrument code build pipelines. E.g report the result of a successful code build pipeline execution.
The main entity written by a CI event is a cicd_Artifact which is associated to a cicd_ArtifactCommitAssociation that ties the artifact to the code version (vcs_Commit) it was built with. The cicd_Artifact is also optionally tied to a cicd_Build to get timing and status information.
CD Event
Use CD events to instrument deployment pipelines. E.g report the result of a successful application deployment to prod.
The main entity written by a CD event is a cicd_Deployment which is associated to a cicd_ArtifactDeployment and points to a compute_Application. The cicd_Deployment is also optionally tied to a cicd_Build to get timing and status information about the pipeline execution that triggered the deployment. In a CD event, one can either pass:
- an artifact URI (for which Faros may have received a CI event already)
- or a commit representing the code version of what is being deployed; in this case, a dummy cicd_Artifact and cicd_ArtifactCommitAssociation will be created
Detailed Entity Reference
Entity | Description | Related Entities |
---|---|---|
vcs_Commit | A commit in an VCS | - Belongs to exactly 1 vcs_Repository - Is the code version used to build 0-n cicd_Artifact (relation captured in cicd_ArtifactCommitAssociation) |
cicd_ArtifactCommitAssociation | Entity linking a vcs_Commit and a cicd_Artifact | |
cicd_Artifact | An artifact, like a Docker image. Built from your code, and deployed as part of an application | - Is built from 0-n vcs_Commit (relation captured in cicd_ArtifactCommitAssociation) - Its built is captured in 1 cicd_Build for status and timing details - Is stored in 1 cicd_Repository - Is part of 0-n cicd_Deployment (relation captured in cicd_ArtifactDeployment) |
cicd_ArtifactDeployment | Entity linking a cicd_Artifact and a cicd_Deployment | |
cicd_Deployment | A deployment of one ore more artifacts for an application in an environment. | - Made of 0-n cicd_Artifact (relation captured in cicd_ArtifactDeployment) - About exactly 1 compute_Application - Its deployment captured in 1 cicd_Build for status and timing details |
vcs_Repository | The VCS repository that contains commits | - Contains 0-n vcs_Commit - Belongs to exactly 1 vcs_Organization |
vcs_Organization | The organization that owns the VCS repository | - Has 0-n vcs_Repository |
cicd_Build | A run of a pipeline (that builds an artifact, deploys code, ...). Top-most entity that has a status for CI/CD systems. | - Can link to 0-n cicd_Artifact or 0-n cicd_Deployment for status and timing details - Belongs to 1 cicd_Pipeline |
cicd_Pipeline | The "template" of a cicd_Build | - Has 0-n "runs" captured as cicd_Build - Belongs to exactly 1 cicd_Organization |
cicd_Repository | The repository that contains artifacts | - Contains 0-n cicd_Artifact - Belongs to exactly 1 cicd_Organization |
cicd_Organization | The organization that owns the (CI/CD) repository or pipeline | - Links to 0-n cicd_Repository or 0-n cicd_Pipeline |
Updated about 2 years ago