GithubHelp home page GithubHelp logo

shinji62 / buildpacks-ci Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cloudfoundry/buildpacks-ci

0.0 4.0 0.0 4.24 MB

Concourse CI pipelines for the buildpacks team

Home Page: https://buildpacks.ci.cf-app.com/

License: Apache License 2.0

Ruby 89.64% Shell 8.05% HTML 2.25% Makefile 0.05%

buildpacks-ci's Introduction

Introduction

This contains the configuration for the Cloud Foundry Buildpacks team Concourse deployment.

Pipelines

Updating all the Pipelines

./bin/update-all-the-pipelines

Configuration

With a proper Concourse deployment, and private.yml containing secrets:

fly set-pipeline -p main -c pipeline.yml -l private.yml

Debugging the build

fly intercept -j $JOB_NAME -t task -n $TASK_NAME

Clearing the git resources

fly intercept -c $RESOURCE_NAME rm -rf /tmp/git-resource-repo-cache

To build a new version of a binary

  1. Check out the binary-builds branch

  2. Edit the YAML file appropriate for the build (e.g. ruby-builds.yml)

  3. Find the version number and package SHA256 of the new binary. For many binaries, the project website provides the SHA256 along with the release (for example, jruby.org/download provides the SHA256 along with each JRuby release). For others (such as Godep), you download the .tar.gz file and run shasum -a 256 <tar_file> to obtain the SHA256.

  4. Add any number of versions and their checksums to the array, e.g.

    ruby:
    - version: 2.2.2
      sha256: 5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44
  5. git commit -am 'Build ruby 2.2.2' && git push

Build should automatically kick off at https://buildpacks.ci.cf-app.com/pipelines/binary-builder and silently upload a binary to the pivotal-buildpacks bucket under concourse-binaries, e.g. https://pivotal-buildpacks.s3.amazonaws.com/concourse-binaries/ruby/ruby-2.2.2-linux-x64.tgz

Note that the array is a stack, which will be emptied as the build succeeds in packaging successive versions.

Orphaned branches

The binary-builds branch is used to instruct the binary-builder pipeline to generate a new version of a CF rootfs-specific binary.

The resource-pools branch is where our pipelines' pool of locks is located. You can read more about Concourse resource pools here:

https://github.com/concourse/pool-resource

Running the Test Suite

If you are running the full test suite, some of the integration tests are dependent on the Lastpass CLI and correctly targeting the fly CLI.

To login to the Lastpass CLI:

lpass login $USERNAME

You will then be prompted for your Lastpass password and Google Authenticator Code.

To login to the Fly CLI and target the buildpacks CI:

fly -t buildpacks login

You will be prompted to select either the Github or Basic Auth authentication methods.

After these are set up, you will be able to run the test suite via:

rspec

buildpacks-ci's People

Contributors

buddhistpirate avatar cf-buildpacks-eng avatar crawsible avatar dannyzen avatar davidjahn avatar dgodd avatar flavorjones avatar foresteckhardt avatar geramirez avatar glide1 avatar jchesterpivotal avatar jtarchie avatar jvshahid avatar kellygerritz avatar mhoran avatar o-orand avatar rochesterinnyc avatar sesmith177 avatar squeedee avatar styeung avatar vito 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.