{"id":18623554,"url":"https://github.com/codica2/mina-multideploy","last_synced_at":"2025-04-11T03:31:44.141Z","repository":{"id":56883745,"uuid":"156722309","full_name":"codica2/mina-multideploy","owner":"codica2","description":":rocket: Parallel deploying on multiple servers with mina.","archived":false,"fork":false,"pushed_at":"2019-10-08T09:37:26.000Z","size":245,"stargazers_count":53,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T09:01:37.333Z","etag":null,"topics":["deploy","deployment","deployment-automation","mina","parallel"],"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/codica2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-08T14:51:33.000Z","updated_at":"2024-08-24T13:13:23.000Z","dependencies_parsed_at":"2022-08-21T00:20:18.394Z","dependency_job_id":null,"html_url":"https://github.com/codica2/mina-multideploy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codica2%2Fmina-multideploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codica2%2Fmina-multideploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codica2%2Fmina-multideploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codica2%2Fmina-multideploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codica2","download_url":"https://codeload.github.com/codica2/mina-multideploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248163434,"owners_count":21057939,"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","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":["deploy","deployment","deployment-automation","mina","parallel"],"created_at":"2024-11-07T04:24:59.104Z","updated_at":"2025-04-11T03:31:39.128Z","avatar_url":"https://github.com/codica2.png","language":"Ruby","readme":"# Mina multideploy\n\nA useful tool for parallel deployment on multiple servers with [mina](https://github.com/mina-deploy/mina).\n\n## How it works\n![How it works](https://raw.githubusercontent.com/codica2/mina-multideploy/master/docs/images/how-it-works.gif)\n\nThis gem will help you to deploy the application on multiple servers simultaneously. It takes original mina `deploy.rb` file, changes `application_name`, `domain` and starts the deployment process.\n\n## Installation\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'mina-multideploy', '~\u003e 1.1.0'\n```\n\nAnd then execute:\n```\nbundle install\n```\n\nOr install it yourself as:\n```bash\ngem install mina-multideploy\n```\n\n## Getting Started\nStart by generating a configuration file:\n```\nbundle exec rails multideploy:init\n```\nIt should give you a file in:\n```\nconfig/initializers/multideploy.rb\n```\nIt should look something like this:\n```ruby\nreturn unless defined? Mina::Multideploy\n\nMina::Multideploy.configure do |config|\n  config.servers = {}\n  # Default velues\n  # config.original = 'config/deploy.rb'\n  # config.w_dir = 'tmp/deploy'\nend\n```\n\n## Configuration\n\n*`servers`* - hash at format `domain` =\u003e `array of application_name's`.\n\nExample:\n```ruby\nconfig.servers = {\n  '84.155.207.209' =\u003e %w[carghana caryange cartanzania]\n  '105.87.69.69'   =\u003e %w[poster]\n  '48.84.207.183'  =\u003e %w[codica timebot]\n}\n```\nIt means that your code will be deployed to 3 servers, and there can be several applications on one server.\n\n*`original`* - path to the original mina `deploy.rb` file which will be taken as a basic.\n\n*`w_dir`* - path to directory where temoporary files and logs will be created.\n\n## Available features\nAfter you have configured servers at `config/initializers/multideploy.rb` you can start deploying in two ways.\n\n### Semi-automatic deploy (recommended for first deploy)\nRun this command:\n```ruby\nbundle exec rails multideploy:prepare\n```\nYou will get file `servers_deploy.rb` at working directory (tmp/deploy by default). Check it and run `ruby ./tmp/deploy/server_deploy.rb`.\n\n### Automatic deploy\nRun this command:\n```ruby\nbundle exec rails multideploy:start\n```\nIt will make the same as `multideploy:prepare`, but the deployment will start automatically.\n\n### Runing mina or rake tasks\n Use command as argument for `multideploy:run`\n\n```ruby\nbundle exec rails \"multideploy:run[rake[db:migrate]]\"\n```\n\n\n## Additional information\n* all scripts are updated according config file before launch `multideploy:prepare` and `multideploy:start`\n* add public SSH key, so you can login to server without password. Run `ssh-copy-id user@$host`\n\n## License\nmina-multideploy is Copyright © 2015-2019 Codica. It is released under the [MIT License](https://opensource.org/licenses/MIT).\n\n## About Codica\n\n[![Codica logo](https://www.codica.com/assets/images/logo/logo.svg)](https://www.codica.com)\n\nmina-multideploy is maintained and funded by Codica. The names and logos for Codica are trademarks of Codica.\n\nWe love open source software! See [our other projects](https://github.com/codica2) or [hire us](https://www.codica.com/) to design, develop, and grow your product.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodica2%2Fmina-multideploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodica2%2Fmina-multideploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodica2%2Fmina-multideploy/lists"}