Create powerful pipelines based on DinD as a service
Automatically or manually self-serve Helm Charts into any connected Kubernetes cluster.
Spin up, update, rollback and monitor your applications deployed to Kubernetes.
Use Codefresh's built-in registry and Helm Repos, or connect your own.
We've designed Codefresh to be easy to start using without putting a limit on what's possible. We obsessively refine the pipeline to take advantage of containers and the native entities in Kubernetes. Because we eliminate needless complexity, you can setup a full deployment pipeline with Codefresh in just a couple of minutes.
version: '1.0' steps: BuildingDockerImage: #Supports multi-stage Dockerfiles title: Building Docker Image type: build image_name: containers101/demochat working_directory: ./ dockerfile: Dockerfile tag: '${{CF_BRANCH_TAG_NORMALIZED}}' RunningUnitTests: title: Running Unit Tests image: '${{BuildingDockerImage}}' working_directory: IMAGE_WORK_DIR entry_point: - /bin/sh - /codefresh/volume/cf-generated/unit_test_script create_file: path: /codefresh/volume/cf-generated name: unit_test_script content: npm test on_success: metadata: set: - '${{BuildingDockerImage.imageId}}': #Add image metadata for this quality check - CF_QUALITY: true #Supports boolean, strings, and percentages on_fail: metadata: set: - '${{BuildingDockerImage.imageId}}': - CF_QUALITY: false PromoteToArtifactory: #Standard step for pushing to an external registry. Codefresh supports any Docker registry and has a free one built-in. type: push title: Push image to artifactory description: So we can get scanning from xray candidate: ${{BuildingDockerImage}} tag: ${{CF_BRANCH_TAG_NORMALIZED}} image_name: containers101/demochat registry: docker-virtual2.ocpapps.ocpaws.jfrog.team DeployWithHelm: image: codefresh/plugin-helm:2.7.2 #Standard Codefresh plugin for deploying Helm packages to Kubernetes working_directory: ./ environment: - CHART_NAME=./deploy/demochat/ #References chart in Git repo - RELEASE_NAME=demochat - KUBE_CONTEXT=helmdemo@jFrog-Helm #References a Kubernetes cluster already connected to Codefresh. All auth will be handled automatically. - NAMESPACE=demochat - custom_image_repository=docker-virtual2.ocpapps.ocpaws.jfrog.team/containers101/demochat #values with custom prefix overwrite chart values. - custom_imagePullSecret=codefresh-generated-docker-virtual2.ocpapps.ocpaws.jfrog.team-artifactory-docker-virtual-demochat #Secret previously created - custom_replicaCount=1 - custom_image_tag=${{CF_BRANCH_TAG_NORMALIZED}} - custom_commit_sha=${{CF_SHORT_REVISION}} helm_package: image: devth/helm commands: - cf_export PACKAGE=$(helm package ./deploy/demochat | cut -d " " -f 8) #Creates the package and writes it to the pipeline volume pushHelmpackage: image: r.cfcr.io/jfrog-azure-demo/jfrogdev/jfrogcligo:master #Replace with your jfrogcli docker image. commands: - jfrog rt config helm-rt --url https://artifactory-artifactory-ha-nfs.ocpapps.ocpaws.jfrog.team/artifactory --user admin --password ${{artifactorypassword}} - jfrog rt u "$PACKAGE" helm-prod-local