The reference JFrog Pipelines executes the following pipelines steps as shown in the JFrog picture below.
DockerBuild: Native JFrog Pipelines step that builds a docker image from a Dockerfile and source code within the githubIntegration repo. This step uses the artifactoryIntegration to connect to the Artifactory instance so that the built image is available to the DockerPush step.
DockerPush: Native JFrog Pipelines step that publishes the Docker image to an Artifactory local Docker repository. Uses theartifactoryIntegration to push the image to the Artifactory instance.
HelmPublish: Native JFrog Pipelines step that uses the Helm chart in the githubIntegrationrepo and modifies it with the desired Docker image and tag to deploy. Pushes the updated Helm Chart to the Artifactory local Helm repository.
HelmDeploy: Native JFrog Pipelines step that installs the published Helm chart to the Kubernetes cluster defined in the k8sIntegration. This step will also output the status of the deployed pods.
AppUpCheck: Using the JFrog Pipelines Bash step type, this step calls a custom bash script that checks whether the passed-in URL is reachable. It will try a few times with a delay between attempts and will return with 'exit 1' if the URL is not reachable.
ConfigureDynatrace: Using the JFrog Pipelines Bash step type, this step calls a custom bash script that will run a Docker image with the Dynatrace monitoring as code CLI. The githubIntegration repo is mounted as a volume so that the monitoring-as-code CLI can access the YAML and JSON configuration files that it will process. Dynatrace credentials are read from the dynatraceIntegration.
ModifyHelmChartProperties: Using the JFrog Pipelines Bash step type, this step calls a custom bash script that calls the JFrog API to add custom properties to Helm chart in the repository. This step uses data from the previous step and adds it to the chart file properties. Artifactory credentials are read from theartifactoryIntegration.
PostDynatraceEvent: Using the JFrog Pipelines Bash step type, this step calls a custom bash script that sends the custom deployment event to the Dynatrace instance using the Dynatrace API. Dynatrace credentials are read from the dynatraceIntegration.