Launch Compositions

Create a dynamic environment to preview your feature

Using this repository, we will help you get up to speed with basic functionality such as: building Docker images and launching compositions. This project uses Node JS to build an application which will eventually become a distributable Docker image.

Looking around

In the root of this repository you’ll find a file named codefresh.yml. This is our pipeline definition and it describes the different steps that comprise our process. Let’s quickly review the contents of this file:


version: '1.0'
  - prepare
  - package
  - launch
      title: 'Cloning main repository...'
      type: git-clone
      repo: codefreshdemo/cf-example-launch-composition
      revision: 'master'
      git: github
      stage: prepare
      title: Building Image
      type: build
      #Important: rename this image to to a valid repository in your registry. For example: myUserName/vote
      image_name: example-launch-compose
      #Dockerfile location should be relative to the working directory
      dockerfile: Dockerfile
      tag: master
      stage: package
      title: Launch Composition
      type: launch-composition
        version: '2'
            image: example-launch-compose:master
            - 3000
      environment_name: 'cf-example-launch-composition'
      entry_point: app
      fail_fast: false
      stage: launch 

The pipeline clones the source code, builds a docker image and then creates a preview environment with that image.

Your environments are limited
Be aware that the number of environments you can run is limited. When using the same environment, define that the old one would terminate before launching the new environment. That way you can control the number of environments running in your account.


Just head over to the example repository in GitHub and follow the instructions there.

Here is the end result:

Launch composition example

Launch composition example

CI pipeline examples
Unit tests
Integration tests with MySQL
Preview environments