Code Monkey home page Code Monkey logo

cf-cli-run-composition'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, testing and building Docker images.

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

Compiling and testing

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?"

cf-cli-run-composition:
    image: node:latest
    commands:
      - bash -c 'npm install -g @codefresh-io/cf-cli && cf-cli login --token ${{TOKEN}} -u ${{USER}} && cf-cli compositions run --id "${{NAME_COMPOSITION}}" '

The 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

Codefresh command line manager

This package provides a unified command line interface to Codefresh.

Installation

$ npm install -g @codefresh-io/cf-cli

Compositions

$ cf-cli compositions <sub-command> [options]
Sub-command Description
ls list of compositions
create create a new composition
remove delete composition
run launch a composition
$ cf-cli compositions ls [options]
Option Alias Demand Type Description
--token string access token
--tofile string save result to file
--table boolean output as table to console
--tokenFile string access token file, default: "$HOME.codefresh/accessToken.json"
--logLevel --log string choices: "error", "info", "debug"; default: "error"
--help -h boolean show list of options for command
$ cf-cli compositions create [options]
Option Alias Demand Type Description
--token string access token
--tofile string save result to file
--file required string path to .json. Content of the file in the format {"isAdvanced":false,"vars":[{"key":"test_key","value":"test_value"}],"yamlJson":"path to your composition.yml","name":"string"}
--tokenFile string access token file, default: "$HOME.codefresh/accessToken.json"
--logLevel --log string choices: "error", "info", "debug"; default: "error"
--help -h boolean show list of options for command
$ cf-cli compositions remove [options]
Option Alias Demand Type Description
--token string access token
--id required string id of composition
--tokenFile string access token file, default: "$HOME.codefresh/accessToken.json"
--logLevel --log string choices: "error", "info", "debug"; default: "error"
--help -h boolean show list of options for command
$ cf-cli compositions run [options]
Option Alias Demand Type Description
--token string access token
--id required string id or name of composition
--vars string composition variables. Format [{"key":"","value":""}]; default: []
--tokenFile string access token file, default: "$HOME.codefresh/accessToken.json"
--logLevel --log string choices: "error", "info", "debug"; default: "error"
--help -h boolean show list of options for command

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.
  • Go to compositions and create a composition with name "cf-cli-composition" and context of
version: '2'
services:
  express-angular-master:
    image: 'codefreshio/express-angular:master'
    ports:
      - 9000
  • Save this composition
  • Click the Add Service button.
  • Select the forked repository.
  • Select the I have a Codefresh.yml file option.
  • Complete the wizard.
  • Go to the pipeline and provide the environment variables

  • Rejoice!

cf-cli-run-composition's People

Contributors

nivanovp avatar ncodefresh avatar

Watchers

Oleg Verhovsky avatar James Cloos avatar Raziel avatar Itai Gendler avatar  avatar Alon Diamant 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.