Groundskeeper
The goal of this gem is to manage the workflow related to releasing and deploying Rails applications.
Installation
Install this gem globally via:
gem install groundskeeper-bitcore -P HighSecurity
The HighSecurity trust profile will verify signed gems and require that all dependencies are signed.
Note: if you have multiple versions of Ruby installed (via RVM e.g.), you will need to install this gem for each of them.
Additionally, to integrate with Jira you will need to set some environment
variables. One standard place to do this is in the ~/.bash_profile
:
export JIRA_USERNAME="my-username"
export JIRA_PASSWORD="my-password"
export JIRA_SITE="https://cbit123.atlassian.net"
Jira integration also depends on a repository that contains metadata for projects. Clone it as follows:
git clone [email protected]:NU-CBITS/project_details.git ~/.project_details
Usage
To display tag/release information about a Rails project, use the info
command within a Rails application directory:
ground info
To create a new release tag, use the release
command within a Rails
application directory:
ground release
To prepare the server (only required the first time) for deployment:
tag=0.0.0 stage=production ground predeploy
To deploy the release (note that stage
is optional and will be set to staging
by default):
tag=0.0.0 stage=production ground deploy
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run
rake test
to run the tests. You can also run bin/console
for an interactive
prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To
release a new version, update the version number in version.rb
, and then run
bundle exec rake release
, which will create a git tag for the version, push
git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/NU-CBITS/groundskeeper. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Groundskeeper project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.