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