⌨️ Report CI/CD Events
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.
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
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 over 2 years ago