项目作者: troykinsella

项目描述 :
A Concourse CI resource for Ruby gems
高级语言: Shell
项目地址: git://github.com/troykinsella/concourse-rubygems-resource.git
创建时间: 2018-11-09T20:37:43Z
项目社区:https://github.com/troykinsella/concourse-rubygems-resource

开源协议:MIT License

下载


Concourse RubyGems Resource

A Concourse CI resource for manipulating RubyGems.

Resource Type Configuration

  1. resource_types:
  2. - name: rubygem
  3. type: docker-image
  4. source:
  5. repository: troykinsella/concourse-rubygems-resource
  6. tag: latest

Source Configuration

  • credentials: Optional. The contents of the ~/.gem/credentials file.
  • gem_name: Required. The name of the RubyGem.
  • prerelease: Optional. Default: false. true to include prerelease versions in checks and gets.
  • source_url: Optional. The URL of the RubyGem host. Unless specified,
    this resource operates on the default RubyGem host: https://rubygems.org.
  • apt_keys: Optional. During gets, add this list of apt keys. Each entry is a URL at which the apt key can be fetched.
  • apt_sources: Optional. During gets, configure this list of apt sources. Each entry is a line in the /etc/apt/sources.list file.
  • deb_packages: Optional. During gets, install this list of deb packages prior to installing the gem.
    Useful for when the gem requires native extensions.

Example

  1. resources:
  2. - name: gem
  3. type: rubygem
  4. source:
  5. source_url: https://artifactory.example.com/api/gems/gems-local
  6. gem_name: wickedizer
  7. credentials: |
  8. :rubygems_api_key: Basic fKtpr1kRTNBdn...V3aVdZTTlhFUmpTdno=
  9. deb_packages:
  10. - whacky-dev

Behaviour

check: Check for new RubyGems

The latest version of the RubyGem is queried from the configured source.

in: Install the RubyGem

Performs a gem install of the RubyGem name.

Parameters

  • install_options: Optional. Additional command line arguments to pass to the
    gem install command. The following options are managed and should not be
    supplied in repeat through this parameter:
    • --install-dir
    • --[no-]prerelease
    • --remote
    • --source
    • --version
  • skip_download: Optional. Default: false. true to skip installing the RubyGem.

Example

  1. jobs:
  2. - name: gem-integration
  3. plan:
  4. - get: gem
  5. - task: integration test
  6. file: ...

out: Push a RubyGem

Publishes a RubyGem file to a repository using gem push.

Parameters

  • gem_dir: Required. The directory in which the built RubyGem file is located.
  • gem_regex: Optional. A RegEx that can match the RubyGem file name to publish.
  • key_name: Optional. The name of the API key in ~/.gem/credentials to use.

Example

  1. jobs:
  2. - name: publish-gem
  3. plan:
  4. - task: build gem
  5. file: ...
  6. - put: gem
  7. params:
  8. gem_dir: built-gem
  9. get_params:
  10. skip_download: true

License

MIT © Troy Kinsella