Git Product home page Git Product logo

concourse-tasks's Introduction

concourse-tasks

A versioned catalogue of re-usable and tested Concourse tasks.

Usage

Include the following resource in the pipeline where you wish to consume a task:

- name: concourse-tasks
  type: git
  source:
    uri: https://github.com/EngineerBetter/concourse-tasks.git
    tag_filter: 0.0.16

Always use a specific tag, and do not depend on the main branch.

To use a task, ensure that you get: concourse-tasks earlier in your plan. Remember to perform any input/output mapping from the generic names inside the task (on the left of the colon), to your specific names outside the task (on the right of the colon).

jobs:
  name: do-the-thing
  plan:
  - get: concourse-tasks
    # ...
  - task: tarball-files
    file: concourse-tasks/tar/task.yml
    input_mapping: { input: your-directory }
    output_mapping: { output: name-you-want }
    params:
      INCLUDE: file1 file2
      TARBALL_NAME: my-tarball

Why?

Concourse is trusted to build production software and deploy production infrastructure. Whilst many tasks are seemingly simple, scripting languages like Bash make it very easy for seasoned programmers to make mistakes.

Given:

  • the production workloads that Concourse is entrusted with in enterprises, governments and militaries, all tasks should be tested.
  • how long infrastructure-deploying pipelines can take to run, it is in the interests of productivity to ensure that tasks don't fail.
  • the large number of pipelines that require similar tasks, we should leverage scale by sharing common tasks.

Contributing

Contributions are very welcome!

  1. Create your task in a descriptive directory name. No cute aeronautical puns, please.
  2. Place your task config as a file called task.yml in your task's directory
  3. Consider using the smallest image possible for your task.
  4. When invoking a shell, consider in-lining your script as an argument to the shell executable in your task.yml (see example)
  5. Please provide an ironbird test spec in your directory, with a name ending in _spec.yml. PRs featuring untested tasks will not be merged.

concourse-tasks's People

Contributors

andy-paine avatar will-gant avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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