# Groundskeeper The goal of this gem is to manage the workflow related to releasing and deploying Rails applications. ## Installation Groundskeeper is cryptographically signed. To be sure this gem hasn't been tampered with, add the following public key if you have not already: ```bash gem cert --add <(curl -Ls https://raw.github.com/NU-CBITS/groundskeeper/master/certs/ericcf.pem) ``` Install this gem globally via: ```bash gem install groundskeeper -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. In this example, your Rails application directory and the groundskeeper source are in the same parent directory: ```bash gem install ../groundskeeper/groundskeeper-.gem ``` Additionally, to integrate with Jira you will need to set some environment variables. One standard place to do this is in the `~/.bash_profile`: ```bash 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: ```bash git clone git@github.com: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: ```bash ground info ``` To create a new release tag, use the `release` command within a Rails application directory: ```bash ground release ``` ## 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](https://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](http://contributor-covenant.org) code of conduct. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). ## 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](https://github.com/NU-CBITS/groundskeeper/blob/master/CODE_OF_CONDUCT.md).