Giter VIP home page Giter VIP logo

blueprints's Introduction

XebiaLabs Blueprints

Travis Build Status

Blueprint definitions for xl-cli. These files will be synced to https://dist.xebialabs.com/public/blueprints/ and can be used as xl-cli blueprint repository (set by default).

Adding new blueprint

Simply create a folder and add required files & templates along with the blueprint.yaml file. Refer the CONTRIBUTING.md file at the root of of this repository for more details.

Publish

Any changes that are dependent on a new XL CLI version should be done only on the development branch. Master branch should only contain published changes. Development branch needs to be synced to master during every official XL-CLI release

The official blueprints are hosted on our distribution site and are published using the internal Jenkins Job which is triggered manually.

Generate index.json file manually

In the publish step of the release, index.json file will be generated automatically based on the directory structure. If needed, generate_index.py script can be run manually to generate the index.json file on the root of the repository.

Blueprint Testing

Every blueprint has a subfolder called __test__ for CI tests. The tests are run in Travis for pull requests.

How to add testing to your blueprint

  1. Create a __test__ directory in your blueprint's directory
  2. Create a .yaml file that starts with test (e.g. test01.yaml)
  3. Create a .yaml answers file containing key/value pairs (For the format of an answers file, see Blueprint Answers File in xl-cli blueprints.md)

Blueprint test file YAML definition file structure

Root Fields

Field Name Expected value Examples Required Explanation
answers-file โ€” answers01.yaml โœ” The name of the answers file
expected-files Array dir/file01.txt - Full path of file produced by blueprint
not-expected-files Array dir/file02.txt - Full path of file not produced because of writeIf
expected-xl-values Dictionary Varname: val - Expected values in values.xlvals
expected-xl-secrets Dictionary Varname: val - Expected values in secrets.xlvals

Example of a testxxx.yaml file:

answers-file: answers01.yaml
expected-files:
- file01.txt
- dir1/file02.txt
non-expected-files:
- dir2/needsdependency.txt
expected-xl-values:
  Variable1: value1
  Variable2: value2
expected-xl-secrets:
  Variable3: value3

See the xl-cli documentation link above for information on the usage and format of the answers file

Example of a blueprint directory with __test__ directory:

aws/
\-- datalake/
    |-- __test__/
    |   |-- test01.yaml
    |   \-- answers01.yaml
    |-- blueprint.yaml
    \-- xebialabs/

When committed, Travis will test your blueprint along with all the others.

blueprints's People

Contributors

deepu105 avatar sffortytwo avatar jkrieger-xl avatar jasonxebia avatar erincinci avatar ikarlashov avatar jedoherty avatar eltonkevani avatar vpugar-digital avatar sebastian-ziegler avatar amyjohnston avatar dllz avatar ielshal avatar julianosk avatar mayur9991 avatar tbezuidenhout avatar vlussenburg 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.