CapsuleCD is made up of a series of scripts/commands that make it easy for you to package and release a new version of your library artifact (Ruby gem, Npm package, Chef cookbook.. ) while still following best practices:
- bumping
semvartags - regenerating any
*.lockfiles - validates all dependencies exist and are free of vulnerabilities
- runs unit tests & linters
- uploads versioned artifact to community hosting service (rubygems/supermarket/pypi/etc)
- creating a new git tag
- pushing changes back to source control & creating a release
- and others..
While CapsuleCD was a series of scripts, with the release of v2 that’s no longer the case.
CapsuleCD has been re-written, and is now available as a static binary
on macOS and
Linux
(Windows and NuGet support is hopefully coming soon)
You no longer need to worry that the version of Ruby used by your library & gemspec is different than the
version required by CapsuleCD. If you maintain any Python or NodeJS libraries, this also means that a Ruby
runtime for just for CapsuleCD is unnecessary. The CapsuleCD Docker
images for other languages are much slimmer, and based off the standard community images with minimal changes.
Releasing a new version of your Ruby library hasn’t changed, it’s as easy as downloading the binary and running:
CAPSULE_SCM_GITHUB_ACCESS_TOKEN=123456789ABCDEF \
CAPSULE_SCM_REPO_FULL_NAME=AnalogJ/gem_analogj_test \
CAPSULE_SCM_PULL_REQUEST=4 \
CAPSULE_RUBYGEMS_API_KEY=ASDF12345F \
capsulecd start --scm github --package_type ruby
Click below to watch a screencast of CapuleCD in action: