New Feature: YAML Support

New Feature: YAML Support

2 min read

Codefresh has always let you to easily automate and manage your complete build, test and deploy pipeline, but now you can customize the entire flow even more with a YAML file.

Before this new feature, you had the ability to configure and save pipelines in the pipeline view of your services module. You could configure your pipeline to execute a series of tasks (unit test, Docker image build, push to Docker Registry, integration tests, etc) on every commit, and run each step as a stand alone image or as part of a composition. This enabled you to run integration tests on each change you make, together with the full application, before promoting your changes to staging. You can choose from the steps provided in the pipeline view, for quick and easy setup.

Now we’ve also added YAML support, so you can further customize your pipeline steps. The Codefresh yml file allows you to add an unlimited number of steps to be executed each time the pipeline is triggered. You can go beyond the pre-defined steps in the Codefresh pipeline view and add composition/environment variables, external services, networks, keys and frameworks.

You can configure Codefresh to instantly spin up a Docker image with every step and test it against the full application using frameworks such as Blazemeter and Selenium, or your own scripts. You can set your successful builds to be automatically pushed to staging, production, shared with your team, or deployed to your registry.

How to Get Started:

Define your pipeline steps in a yml file. This file needs to be named codefresh.yml and saved in the root directory of your repository. In order to use the codefresh yml file, turn on the YAML build option in the pipeline settings.

2016-09-06_20-56-15

 

For step-by-step instructions on how to use the Codefresh yml file, check out our documentation.

Example of codefresh.yml file

version: '1.0'
steps:
  clone-jim:
    type: git-clone
    repo: github.com/codefresh/jim
    credentials:
      username: ${{username}}
      password: ${{password}}

  unit-test-jim:
    image: go:onbuild
    working-directory: ${{clone-jim}}
    commands: 
      - go test

  build-jim:
    type: build
    description: It builds the Jim Service
    dockerfile: Dockerfile
    image-name: codefresh/jim
    tag: develop
    working-directory: ${{clone-jim}}
    environment:
      - PORT=9000
    build-arguments:
      - key=value

  push-dockerhub:
    type: push
    candidate: ${{build-jim}}
    tag: latest
    credentials:
      username: ${{username}}
      password: ${{password}}
    fail-fast: false

  deploy-jim:
    image: tutum/curl:latest
    commands:
      - curl http://webhook.io
    description: codefresh example

Codefresh is a continuous delivery and collaboration platform for Docker. Don’t have an account yet? Get Codefresh now, sign up for free.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Build your GitOps skills and credibility today with a GitOps Certification.

Get GitOps Certified

Ready to Get Started?
  • safer deployments
  • More frequent deployments
  • resilient deployments