Giter Site home page Giter Site logo

kyemaloy97 / generator-ibm-cloud-enablement Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ibm-developer/generator-ibm-cloud-enablement

0.0 1.0 0.0 862 KB

IBM Cloud Enablement Yeoman Generator

License: Apache License 2.0

Shell 9.03% JavaScript 83.46% Dockerfile 1.67% Python 1.73% Groovy 0.27% Makefile 0.67% HCL 3.16%

generator-ibm-cloud-enablement's Introduction

IBM Cloud Enablement Generator

IBM Cloud powered Travis Coveralls Codacy Version DownloadsMonthly DownloadsTotal License Conventional Commits

Creates the files required to deploy projects to Kubernetes (using Helm Charts) and/or Cloud Foundry (using a generated manifest). Also, provides scripts to initiate IBM Cloud’s DevOps Toolchain.

Pre-requisites

Install Yeoman Install Helm

  • Required to run unit tests
npm install -g yo

Installation

npm install -g generator-ibm-cloud-enablement

Usage

yo ibm-cloud-enablement

Following command line arguments are supported:

  • --bluemix {stringified-json} - used by Scaffolder to supply project information from pman. You can also supply a local file containing compatible JSON object by using --bluemix file:path/to/file.json. Other options include --bluemix='{"name":"<project-name>","backendPlatform":"<platform>"}'
  • --services {stringified-array} - used to add an extra service container for docker-compose.
  • --nodeCFMinMemory - used to defined a minimum requirement for node CF deployment. (e.g 384M)

Note: Adding the --services option will generate and use docker-compose and docker-compose-tools for docker containers.

Artifacts

Here is a list of the files and folders you receive after executing the generator:

File Purpose
Dockerfile Configuration file for the run container.
docker-compose.yml Configuration for the run container if services option is added
Dockerfile-tools Configuration file for the tools container
docker-compose-tools.yml Configuration file for the tool container, if services option is added
Jenkinsfile Groovy script used in conjunction with deploying to Cloud Foundry
chart/* Folder containing all the Helm yaml files required to deploy to Kubernetes
cli-config.yml Yaml file containing mappings for various commands, files, and settings, utilized by the cli commands
manifest.yml Yaml file with configuration to deploy to Cloud Foundry

Development Environment

Clone this repository and link it via npm

git clone https://github.com/ibm-developer/generator-ibm-cloud-enablement
cd generator-ibm-cloud-enablement
npm link

In a separate directory invoke the generator via

yo ibm-cloud-enablement 

Supported Docker-Compose Services

You can use Docker images to create instances for somes services services. By passing in the --services option the generator will create the docker-compose and docker-compose-tools.yml. Below is the services using docker-compose.

Service Name Key Name Example
Mongo mongodb --services "[\"mongodb\"]"

Note: Currently only supported by Node, Swift, and Python.

Testing

To run the unit tests. Remember to install Helm if you have not already before running the tests.

npm test

Publishing Changes

In order to publish changes, you will need to fork the repository or branch off the master branch.

Make sure to follow the conventional commit specification before contributing. To help you with commit a commit template is provide. Run config.sh to initialize the commit template to your .git/config or use commitizen

Once you are finished with your changes, run npm test to make sure all tests pass.

Do a pull request against master, make sure the build passes. A team member will review and merge your pull request. Once merged to master an auto generated pull request will be created against master to update the changelog. Make sure that the CHANGELOG.md and the package.json is correct before merging the pull request. After the auto generated pull request has been merged to master the version will be bumped and published to public npm.

generator-ibm-cloud-enablement's People

Contributors

a-roberts avatar aal80 avatar akihikokuroda avatar alembe avatar andrew-lees11 avatar bclarke95 avatar chuckcox avatar davidcurrie avatar dingwilson avatar dtadcox avatar enriquel8 avatar gabe-terrell avatar ibmcloudtools avatar katheris avatar marknsweep avatar mblume97 avatar mfpanaly avatar mikerott avatar ndibbern avatar patricktiu avatar paulben avatar quanvo87 avatar rolivieri avatar shihabmehboob avatar sjc-code avatar tchengus avatar theodoracheng avatar tobespc avatar triceam avatar tunniclm avatar

Watchers

 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.