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 Python
and Django
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 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?"
test_the_code:
image: python:slim
commands:
- python -m unittest composeexample.utils
The image
field states which image should be used when creating the container (Similar to Travis CI’s language
or circleci`s 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_the_image:
type: build
image_name: codefreshdemo/djanga
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!).
This is where it gets real! Let’s use Codefresh’s Launch Composition step to run our composition within Codefresh!
Launching compositions within Codefresh means you have your very own staging area, at a click of a button!
launch_the_composition:
type: launch-composition
composition: docker-compose.yml
Using the composition
field, we direct Codefresh to the location if the docker-compose
file in our repository.
Once the Launch Composition step has completed successfully, you’ll be able to review and share your running composition in the Environments page.
Now that we’ve gotten a grip on the flow, let’s get cracking!