So, you've decided to try Codefresh? Welcome on board!
Using this repository we'll help you get up to speed with basic functionality such as: compiling, testing and building Docker images.
This project uses Node Js to build an application which will eventually become a distributable Docker image.
In the root of this repository you'll find a file named codefresh.yml, this is our build descriptor and it describes the different steps that comprise our process.
Let's quickly review the contents of this file:
To compile and test our code we use Codefresh's Freestyle step.
The Freestyle step basically let's you say "Hey, Codefresh! Here's a Docker image. Create a new container and run these commands for me, will ya?"
unit_test:
image: node:latest
commands:
- npm -v
- echo start test # command to start unit testThe image field states which image should be used when creating the container (Similar to Travis CI's language or circlecis machine`).
The commands field is how you specify all the commands that you'd like to execute
To bake our application into a Docker image we use Codefresh's Build step.
The Build is a simplified abstraction over the Docker build command.
build_prj:
type: build
description: UC - build step
image_name: codefreshio/yaml-example-unit-test
dockerfile: Dockerfile
tag: ${{CF_BRANCH}}Use the image_name field to declare the name of the resulting image (don't forget to change the image owner name from codefreshdemo to your own!).
To use this example:
- Fork this repository to your own [INSERT_SCM_SYSTEM (git, bitbucket)] account.
- Log in to Codefresh using your [INSERT_SCM_SYSTEM (git, bitbucket)] account.
- Click the
Add Servicebutton. - Select the forked repository.
- Select the
I have a Codefresh.yml fileoption. - Complete the wizard.
- Rejoice!