GithubHelp home page GithubHelp logo

delkyd / screwdriver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from screwdriver-cd/screwdriver

0.0 2.0 0.0 566 KB

Continuous Delivery Services

Home Page: https://hub.docker.com/r/screwdrivercd/screwdriver/

License: Other

JavaScript 94.81% Gherkin 3.82% Shell 0.03% Python 1.35%

screwdriver's Introduction

Screwdriver API

Version Pulls Stars Build Status Open Issues Dependency Status Coverage Vulnerabilities License Slack

API for the Screwdriver CD service

Usage

Prerequisites

  • Node v6.0.0 or higher

From Source

$ git clone [email protected]:screwdriver-cd/screwdriver.git ./
$ npm install
$ vim ./config/local.yaml # See below for configuration
$ npm start
info: Server running at http://localhost:8080

Prebuilt Docker image

$ vim ./local.yaml # See below for configuration
$ docker run --rm -it --volume=`pwd`/local.yaml:/config/local.yaml -p 8080 screwdrivercd/api:latest
info: Server running at http://localhost:8080

In-A-Box

This handy feature will bring up an entire Screwdriver instance (ui, api, and log store) locally for you to play with.

Requires:

$ python <(curl https://raw.githubusercontent.com/screwdriver-cd/screwdriver/master/in-a-box.py)

Configuration

Screwdriver already defaults most configuration, but you can override defaults using a local.yaml or environment variables.

Yaml

Example overriding local.yaml:

executor:
    plugin: k8s
    k8s:
        host: 127.0.0.1
        token: this-is-a-real-token

login:
    oauthClientId: totally-real-client-id
    oauthClientSecret: another-real-client-secret

Environment

Example overriding with environment variables:

$ export K8S_HOST=127.0.0.1
$ export K8S_TOKEN=this-is-a-real-token
$ export SECRET_OAUTH_CLIENT_ID=totally-real-client-id
$ export SECRET_OAUTH_CLIENT_SECRET=another-real-client-secret

All the possible environment variables are defined here.

Plugins

This API comes preloaded with 7 (seven) resources:

One (1) option for datastores:

  • Postgres, MySQL, and Sqlite (sequelize)

Two (2) options for executor:

  • Kubernetes (k8s)
  • Docker (docker)

Two (2) options for SCM:

  • Github (github)
  • Bitbucket (bitbucket)

Testing

Unit Tests

npm test

Functional tests

Update .func_config.json with your own username, github token, access key, and host:

{
    "username": "YOUR-GITHUB-USERNAME",
    "gitToken": "YOUR-ACCESS-TOKEN",
    "accessKey": "YOUR-ACCESS-KEY",
    "host": "YOUR-LOCAL-API-HOST"
}

Then run the cucumber tests:

npm run functional

License

Code licensed under the BSD 3-Clause license. See LICENSE file for terms.

screwdriver's People

Contributors

stjohnjohnson avatar d2lam avatar tkyi avatar minzcmu avatar petey avatar fenrirunbound avatar jer avatar nkatzman avatar catto avatar greenkeeperio-bot avatar filbird avatar nicolaifsf avatar dvdizon avatar jpcollins avatar shruthi-venkateswaran avatar tonytamsf avatar

Watchers

delkyd 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.