Use this guide to familiarize yourself with basic Codefresh functionality, and to get started quickly and easily.

Codefresh is a workflow platform for development teams that streamlines the entirety of the Docker images lifecycle. Codefresh allows teams to realize the benefits of improved workflow with Docker, including easy collaboration, streamlined testing, and a simplified deployment process. Although system administrators and Devops have been quick to adopt Docker, developers face a significant learning curve when trying to realize the benefits in their own swim lanes. By stitching together the entire workflow of the Docker ecosystem in an easily-consumed web interface, CodeFresh allows all stakeholders to benefit from Docker. In this way, CodeFresh brings Docker to the masses.

Services can be spun up easily from a Dockerfile in an existing repo, or from a Codefresh template that is customized to your technology stack. Because services are deployed in a production-like environment, Codefresh compositions include all of the same components your live deployment environment uses. Codefresh environments can be shared among all stakeholders by simply sharing a URL, allowing everyone from the developer, to QA, to product and project managers to instantly see the effects of each individual commit against the production stack.

Setting Up Your Codefresh Account

  1. Register with Codefresh for FREE with your GitHub or Bitbucket account. Codefresh will link your repository information, and you’ll be able to add services from your current codebase.

    Welcome to Codefresh! Please have a look around the platform, and e-mail us with feedback. We appreciate all feature requests, comments, and questions.

cf signup

Quickstart Demo Using Node.js

  1. Fork (or clone+push) our sample app repo for the purposes of this demo, or use your own repository.

  2. From the Codefresh console, click the SERVICES option on the left.

  3. Click ADD SERVICE.

cf getting started 1

  1. Choose your existing or forked Repository from step 1, as well as your Branch, and then click NEXT.

cf getting started 2

  1. If you forked the sample app repo, choose the Dockerfile from the Repository under YES, IN MY REPO. If not, choose the Node.js (or the appropriate technology for your repository) template Dockerfile from NO, I DON’T HAVE A DOCKERFILE.

  2. Click NEXT.

cf getting started 3

-or-

cf getting started 4

  1. Review the results and click Close & Build.

cf getting started 5

cf getting started 6

  1. Click on +'s to see more information from the logs.

cf getting started 7

+ Congratulations! You’ve got your first service automatic image build set up. Whenever you push to the repository, Codefresh will automatically build your Docker image, as well as notify of any failures in the process.

  1. Click on your avatar in the upper right corner to pull down the menu.

  2. Click ACCOUNT MANAGEMENT to access your account settings.

cf getting started 22

  1. Click INTEGRATION.

cf getting started 23

  1. Click the CHECKBOX next to the DOCKER ICON, labeled Enable in order to activate docker hub integration.

  2. Enter your Docker Hub username and password.

cf getting started 24

  1. Click on SERVICES on the left, in the sidebar navigation.

  2. Click on the settings.sprocket (gear icon) for your new Service.

cf getting started 8

  1. Make sure IMAGE NAME matches your docker hub username and repo path (e.g. docker_hub_user/repo)

cf getting started 21

  1. Click Push to Docker Registry and then click Docker Hub.

  2. Scroll down and click SAVE.

    Great news! Your image will now be pushed to the Docker Hub registry on every successful build.

  3. Click BUILDS on the left, in the sidebar navigation.

cf getting started 9

+ *From here, you can view the repository triggers that have been built into containers. 1. Click IMAGES on the left, in the sidebar navigation.

cf getting started 10

  1. Click on the rocket icon to launch your newly built image in a container.

cf getting started 11

  1. Click the + icons to see more information about the container launch.

    *You will notice that the container has failed to build, because DemoChat is expecting an instance of MongoDB to be running.

  2. Click COMPOSITIONS on the left, in the sidebar navigation.

cf getting started 12

  1. Click ADD NEW COMPOSITION.

cf getting started 13

  1. Name the new composition demochat by typing it into the Name box.

cf getting started 14

  1. Click the + icon to add a service to the composition.

cf getting started 15

  1. Select the demochat service from the Pre-configured service option.

  2. Click ADD.

cf getting started 16

+ *Codefresh will add a basic configuration for demochat to the composition.

containers101_demochat:
  image: YOUR_DOCKER_HUB_USERNAME/YOUR_DOCKER_HUB_REPO:master
  ports:
    - 3000
  1. Click the + icon to add another service to the composition.

cf getting started 17

  1. Click Pre-built image.

  2. Type mongo into the field.

  3. Click ADD.

cf getting started 18

+ *Codefresh will add a basic configuration for mongo to the composition.

containers101_demochat:
  image: YOUR_DOCKER_HUB_USERNAME/YOUR_DOCKER_HUB_REPO:master
  ports:
    - 3000
mongo:
  image: mongo
  1. Click in the text of the composition to edit it.

  2. Change the ports value to 5000.

  3. Add a links line with the value of mongo.

    *Your composition will look like the one below:

demochat:
  image: YOUR_DOCKER_HUB_USERNAME/YOUR_DOCKER_HUB_REPO:master
  ports:
    - 5000
  links:
    - mongo
mongo:
  image: mongo

cf getting started 19

  1. Click SAVE.

  2. Click the rocket icon to LAUNCH your composition.

cf getting started 20

  1. Click +'s to see the logs and if the launch succeeded.

  2. Click Open App and see your app running at the URL provided.

cf getting started 25

  1. Back in the Codefresh admin, click ENVIRONMENTS, in the sidebar navigation.

cf getting started 26

+ From here, you can see all running Environments, and share the URLs with other stakeholders in your organization.

flying superfresh