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.
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.
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.
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
|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 7 months ago