{"id":27670,"date":"2017-06-08T00:43:32","date_gmt":"2017-06-07T22:43:32","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27670"},"modified":"2017-06-08T00:43:32","modified_gmt":"2017-06-07T22:43:32","slug":"deploy-and-maintain-redmine-the-right-way","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/06\/08\/deploy-and-maintain-redmine-the-right-way\/","title":{"rendered":"Deploy and Maintain Redmine, the Right Way"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/jkraemer.net\/\">Jens Kr\u00e4mer<\/a> wrote this nice guide to <a href=\"https:\/\/jkraemer.net\/2016\/03\/deploy-and-maintain-redmine-the-right-way\">deploying and maintaining Redmine the right way<\/a>. \u00a0This is basically a combination of the <a href=\"https:\/\/redmine.org\/projects\/redmine\/wiki\/RedmineInstall\">official Redmine documentation<\/a> with a variety of guides on deploying and running a generic Ruby on Rails application. \u00a0The solution is rightfully focusing on git, combining the upstream patches with your own changes. \u00a0And given that this is &#8220;the right way&#8221;, you don&#8217;t even have to have any of your own changes. \u00a0Just being prepared for some is good.<\/p>\n<p>Once you&#8217;ve setup the proper environment, you can further <a href=\"https:\/\/jkraemer.net\/2016\/04\/deploying-redmine-with-capistrano\">automate the deployment of Redmine with Capistrano<\/a>. \u00a0If you don&#8217;t use <a href=\"http:\/\/capistranorb.com\/\">Capistrano<\/a>\u00a0for whatever reason &#8211; no worries, the process is easily adoptable to whatever build\/deploy tool you are using.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Jens Kr\u00e4mer wrote this nice guide to deploying and maintaining Redmine the right way. \u00a0This is basically a combination of the official Redmine documentation with a variety of guides on deploying and running a generic Ruby on Rails application. \u00a0The solution is rightfully focusing on git, combining the upstream patches with your own changes. \u00a0And &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/06\/08\/deploy-and-maintain-redmine-the-right-way\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Deploy and Maintain Redmine, the Right Way<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Deploy and Maintain Redmine, the Right Way #SysAdmin #Redmine #Ruby","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,6,133,62,1334],"tags":[3532,1586,2265,3145,3062,1588],"keyring_services":[],"class_list":["post-27670","post","type-post","status-publish","format-standard","hentry","category-general","category-linux","category-sysadmin","category-technology","category-web-work","tag-capistrano","tag-deployment","tag-git","tag-redmine","tag-ruby","tag-version-control"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":25021,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/12\/07\/infrastructure-update-github-bitbucket-hipchat-teamworkpm-and-redmine\/","url_meta":{"origin":27670,"position":0},"title":"Infrastructure update : GitHub, BitBucket, HipChat, TeamworkPM and Redmine","author":"Leonid Mamchenkov","date":"December 7, 2015","format":false,"excerpt":"It's been a while since I posted an update on our infrastructure tools, so here goes one. \u00a0(I know, ideally, it should be on our company's blog, but we haven't finished that part of the site yet). First things first - migration from GitHub to BitBucket. \u00a0I have said many\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24007,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/27\/candycane-redmine-ticketing-system-port-to-cakephp\/","url_meta":{"origin":27670,"position":1},"title":"CandyCane &#8211; Redmine ticketing system port to CakePHP","author":"Leonid Mamchenkov","date":"April 27, 2015","format":"link","excerpt":"CandyCane - Redmine ticketing system port to CakePHP","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18073,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/04\/26\/i-just-patched-up-my-first-ruby-application-redmi\/","url_meta":{"origin":27670,"position":2},"title":"I just patched up my first Ruby application (Redmi&#8230;","author":"Leonid Mamchenkov","date":"April 26, 2013","format":"status","excerpt":"I just patched up my first Ruby application (Redmine). \u00a0Made it do what I wanted, but didn't enjoy any of it.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29253,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/01\/24\/redmine-estimated-time-as-mandatory-field\/","url_meta":{"origin":27670,"position":3},"title":"Redmine: Estimated Time as mandatory field","author":"Leonid Mamchenkov","date":"January 24, 2019","format":false,"excerpt":"At work, we are using Redmine for all our project management needs. It is a flexible and powerful system that allows flexible configuration for the processes of most companies. Recently, we have decided to make the Estimated Time field mandatory for all the tickets. Configuring this turned out to be\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":17835,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/03\/08\/redmine-email-notifications-with-exim\/","url_meta":{"origin":27670,"position":4},"title":"Redmine email notifications with Exim","author":"Leonid Mamchenkov","date":"March 8, 2013","format":false,"excerpt":"When configuring Redmine project management to send email notifications, using Exim MTA, you might end up with test emails bouncing due to no\u00a0recipients\u00a0specified. \u00a0It's a bit tricky to debug, but, fortunately, quite easy to fix. \u00a0The problem comes from different implementations of \"-t\" option handling for \/usr\/sbin\/sendmail. \u00a0Redmine uses this\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26778,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/10\/23\/using-tables-with-markdown-in-redmine\/","url_meta":{"origin":27670,"position":5},"title":"Using tables with Markdown in Redmine","author":"Leonid Mamchenkov","date":"October 23, 2016","format":false,"excerpt":"We use Redmine for our project management needs in the office. \u00a0It works pretty well, but there are, as with anything, a few rough corners. \u00a0One thing in particular that I was trying to figure out is how to use tables in Wiki pages, issues, etc. The official documentation says\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27670","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=27670"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27670\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27670"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}