{"id":13580876,"url":"https://github.com/railsware/capistrano-multiconfig","last_synced_at":"2025-10-26T15:06:38.639Z","repository":{"id":1766375,"uuid":"2683369","full_name":"railsware/capistrano-multiconfig","owner":"railsware","description":"Capistrano extension that allows to use multiple configurations","archived":false,"fork":false,"pushed_at":"2023-05-22T20:52:54.000Z","size":30,"stargazers_count":65,"open_issues_count":6,"forks_count":19,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-10-25T16:39:44.916Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/railsware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2011-10-31T20:19:54.000Z","updated_at":"2024-07-31T17:33:40.000Z","dependencies_parsed_at":"2023-07-05T19:16:54.455Z","dependency_job_id":null,"html_url":"https://github.com/railsware/capistrano-multiconfig","commit_stats":{"total_commits":38,"total_committers":4,"mean_commits":9.5,"dds":0.07894736842105265,"last_synced_commit":"ab0191c733a8aa55f7a597e7ad8c7e1c7084b2fd"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/railsware/capistrano-multiconfig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fcapistrano-multiconfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fcapistrano-multiconfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fcapistrano-multiconfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fcapistrano-multiconfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/railsware","download_url":"https://codeload.github.com/railsware/capistrano-multiconfig/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fcapistrano-multiconfig/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281122064,"owners_count":26447294,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T15:01:55.886Z","updated_at":"2025-10-26T15:06:38.592Z","avatar_url":"https://github.com/railsware.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# capistrano-multiconfig\n\n[![Build Status](https://travis-ci.org/railsware/capistrano-multiconfig.png)](https://travis-ci.org/railsware/capistrano-multiconfig)\n\n## Description\n\nCapistrano extension that allows to use multiple configurations.\n\nMulticonfig extension is similar to [multistage](https://github.com/capistrano/capistrano-ext) extenstion.\nBut it's not only about 'stage' configurations. It's about any configuration that you may need.\nExtension recursively builds configuration list from configuration root directory.\nEach configuration loads recursively configuration from it namespace files and own configuration file.\n\n## Purpose\n\nExtension was specially created to implement [Caphub](https://github.com/railsware/caphub) concept.\n[Read more](http://railsware.com/blog/2011/11/18/caphub-multiple-applications-deployment-with-capistrano/).\n\n## Usage\n\nInstall gem\n\n    $ gem install capistrano-multiconfig\n\n\n## Capistrano3\n\nUse multiconfig v3.x.x\n\nReplace `capistrano/setup` with `capistrano/multiconfig` in your `Capfile`:\n\n    # set :stages_root, 'config/deploy'\n    require 'capistrano/multiconfig'\n\nOptionally you may set another path to your multistages configurations with *:stages_root*.\n\n## Capistrano2\n\nFor legacy capistrano v2.x.x use multiconfig gem v0.0.x\n\nAdd to `Capfile`\n\n    set :config_root, 'path/to/your/configurations'\n    require 'capistrano/multiconfig'\n\n\n## Example\n\nAssume we need next configurations:\n\n* services:billing:production\n* services:billing:qa\n* blog:production\n* blog:staging\n* dev:wiki\n\nChoose configuration root directory for example `config/deploy`\n\nCreate configuration files:\n\n    config/deploy/services/billing/production.rb\n    config/deploy/services/billing/qa.rb\n    config/deploy/blog/production.rb\n    config/deploy/blog/staging.rb\n    config/deploy/dev/wiki.rb\n\nAdd to `Capfile`:\n\n    require 'capistrano/multiconfig'\n\nPut related capistrano configuration to each file according to file meaning.\n\nCheck tasks:\n\n    $ cap -T\n    cap services:billing:production # Load services:billing:production configuration\n    cap services:billing:qa         # Load services:billing:qa configuration\n    cap blog:production             # Load blog:production configuration\n    cap blog:staging                # Load blog:staging configuration\n    cap wiki                        # Load wiki configuration\n    cap invoke                      # Invoke a single command on the remote servers.\n    cap shell                       # Begin an interactive Capistrano session.\n\nLet's try to run task without specified configuration:\n\n    $ cap shell\n    triggering start callbacks for `shell'\n      * executing `multiconfig:ensure'\n    No configuration specified. Please specify one of:\n      * wiki:production\n      * wiki:staging\n      * blog:production\n      * blog:staging\n    (e.g. `cap wiki:production shell')\n\n\nSo we must provide configuration as first task:\n\n    $ cap services:billing:qa shell\n\n## Configuration Loading\n\nConfiguration task loads not only configuration associated with it filename.\nIt also recursively load configurations from all namespaces.\n\nFor example task `cap apps/blog/qa.rb` loads with **order** next configuration files (if they exist):\n\n* config/deploy/apps.rb\n* config/deploy/apps/blog.rb\n* config/deploy/apps/blog/qa.rb\n\nSo it's easy to put shared configuration.\n\n## Custom stages configuration location\n\nSpecify in `Capfile`:\n\n    set :stages_root, 'deployment'\n    require 'capistrano/multiconfig'\n\n## Testing\n\n    $ bundle install\n    $ rspec -fs spec\n\n## Authors\n\n* [Andriy Yanko](http://ayanko.github.io)\n\n## License\n\n* Copyright (c) 2013 Railsware [www.railsware.com](http://www.railsware.com)\n* [MIT](www.opensource.org/licenses/MIT)\n\n## References\n\n* [capistrano](https://github.com/capistrano/capistrano)\n* [caphub](https://github.com/railsware/caphub)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frailsware%2Fcapistrano-multiconfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frailsware%2Fcapistrano-multiconfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frailsware%2Fcapistrano-multiconfig/lists"}