Git Product home page Git Product logo

cf-example-scala-hello-world's Introduction

Welcome

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, and building Docker images.

This project uses Scala 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 build descriptor and it describes the different steps that comprise our process. Let's quickly review the contents of this file:

Building

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.

generate_dockerfile:
    image: noamt/pre-cached-sbt
    working_directory: ${{main_clone}}
    commands:
      - sbt -mem 4096 clean compile package
      - sbt docker:stage

  build_step:
    type: build
    image_name: codefresh/example-scala
    working_directory: ${{main_clone}}/service/target/docker/stage
    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!).

Launching

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_composition:
    title: Launch Composition
    type: launch-composition
    composition: docker-compose.yml
    environment_name: 'scala-example'
    entry_point: scala

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.

Just add the path '/hello' to application url. Something like that http://cf-aue1-docker-node-0008.cf-cd.com:32943/hello

Now that we've gotten a grip on the flow, let's get cracking!

Using This Example

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 Service button.
  • Select the forked repository.
  • Select the I have a Codefresh.yml file option.
  • Complete the wizard.
  • Rejoice!

Using this example locally

This is a simple example of how to create Docker image for a Scala application.

To build the Docker image, run following commands in sbt

> compile
> docker:publishLocal

To run the docker image, run following command in terminal

$ docker run -p 8080:8080 example/example-service:0.1.0

Open http://localhost:8080/hello in browser and you'll see a hello page.

cf-example-scala-hello-world's People

Contributors

neerajgangwar avatar nivanovp avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.