<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Redmine 專案管理｜林鼎淵 Dean Lin</title>
    <link>https://deanlin.net/series/redmine/</link>
    <image><url>https://deanlin.net/images/author_hu_aa256fc934e9a932.jpg</url><title>Redmine 專案管理｜林鼎淵 Dean Lin</title><link>https://deanlin.net/series/redmine/</link><width>144</width><height>144</height></image>
    <description>從安裝、外掛、管理者設定到一般使用者操作與教育訓練，完整導入 Redmine 專案管理系統。</description>
    <generator>Hugo</generator>
    <language>zh-tw</language>
    <copyright>© 2020–2026 林鼎淵 Dean Lin</copyright>
    <lastBuildDate>Mon, 08 Mar 2021 17:25:42 +0800</lastBuildDate>
    <atom:link href="https://deanlin.net/series/redmine/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Redmine 教育訓練 — 依角色權限說明</title>
      <link>https://deanlin.net/blog/202103/redmine-training-by-role/</link>
      <pubDate>Mon, 08 Mar 2021 17:25:42 +0800</pubDate>
      <guid>https://deanlin.net/blog/202103/redmine-training-by-role/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>這篇是 Redmine 系列的最後一篇，把每個角色及操作要注意的細節整合起來，如果想把 Redmine 用來專案管理看這篇就非常夠了，本篇目標是讓專案中的三種角色(管理人員、開發人員、測試人員)了解如何使用這個系統。</description>
      <media:content url="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-og_hu_69bceeaf6c9d3990.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>這篇是 Redmine 系列的最後一篇，把每個角色及操作要注意的細節整合起來，如果想把 Redmine 用來專案管理看這篇就非常夠了，本篇目標是讓專案中的三種角色(<strong>管理人員、開發人員、測試人員)了解如何使用這個系統。</strong></p>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-01.webp" width="1400" height="784" alt="image form:LINE Sticker" fetchpriority="high" decoding="async">
  <figcaption>image form:<a href="https://store.line.me/stickershop/author/1/zh-Hant">LINE Sticker</a></figcaption>
</figure>

<pre tabindex="0"><code>管理人員
➤ 依照公司團隊建立根目錄的專案
➤ 在用戶清單中加入團隊成員
➤ 依照團隊默契建立問題樣板(或是直接使用全域問題樣板)
➤ 依據團隊建立大群組，依據職權建立小群組
➤ 建立子專案
➤ 建立新議題
開發人員
➤ 開發人員收到議題
➤ 新增子議題、相關議題
➤ 在看板調整工作進度
➤ 編輯議題
測試人員
➤ 驗證議題功能正確性
➤ 建立發現錯誤的議題並分派給相關群組
</code></pre><h2 id="管理人員">管理人員<a class="h-anchor" href="#%e7%ae%a1%e7%90%86%e4%ba%ba%e5%93%a1" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>通常都是由 team leader 擔任這個角色，如果公司允許讓管理人員擁有『管理者』的權限會更理想；因為管理團隊用戶/群組這些事情 team leader 會比較清楚，不需要一直麻煩 MIS 人員做處理。</p>
</blockquote>
<h2 id="-依照公司團隊建立根目錄的專案">依照公司團隊建立根目錄的專案<a class="h-anchor" href="#-%e4%be%9d%e7%85%a7%e5%85%ac%e5%8f%b8%e5%9c%98%e9%9a%8a%e5%bb%ba%e7%ab%8b%e6%a0%b9%e7%9b%ae%e9%8c%84%e7%9a%84%e5%b0%88%e6%a1%88" aria-label="這個段落的連結"></a></h2>
<p>每個案子都需要新增一個專案，但如果全都放在專案清單會造成視覺上的錯亂，所以這裡會建議用團隊來區分案子。</p>
<p><strong>STEP 1</strong>：網站管理 &gt; 專案清單 &gt; 建立新專案</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-02.webp" width="1400" height="668" alt="依照公司團隊建立根目錄的專案（圖 2）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong> ：填寫專案基礎資訊 &gt; 建立</p>
<ul>
<li><strong>名稱</strong>：請填寫大家都看得懂的，如果專案有英文縮寫請放在代碼</li>
<li><strong>代碼：這個欄位儲存後無法修改</strong>，請謹慎填寫</li>
<li><strong>公開</strong>：除非是全公司都能看到的專案，不然<strong>請勿打勾</strong></li>
<li><strong>模組</strong>：建議全選</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-03.webp" width="1400" height="911" alt="依照公司團隊建立根目錄的專案（圖 3）" loading="lazy" decoding="async"></p>
<h2 id="-在用戶清單中加入團隊成員">在用戶清單中加入團隊成員<a class="h-anchor" href="#-%e5%9c%a8%e7%94%a8%e6%88%b6%e6%b8%85%e5%96%ae%e4%b8%ad%e5%8a%a0%e5%85%a5%e5%9c%98%e9%9a%8a%e6%88%90%e5%93%a1" aria-label="這個段落的連結"></a></h2>
<p>需要用『管理者』的身份才能建立新用戶</p>
<p><strong>STEP 1</strong>：網站管理 &gt; 用戶清單 &gt; 建立新用戶</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-04.webp" width="1400" height="668" alt="在用戶清單中加入團隊成員（圖 4）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：填寫用戶基礎資訊 &gt; 建立</p>
<ul>
<li><strong>管理者</strong>：跟『管理人員』的角色意義是不同的，有管理者權限的才能使用『網站管理』</li>
<li><strong>產生密碼 &amp; 必須在下次登入時變更密碼</strong>：建議都打勾避嫌</li>
<li><strong>寄送帳戶資訊電子郵件給用戶</strong>：不寄信給對方他也不知道你幫他建好帳號了</li>
<li><strong>電子郵件提醒選項</strong>：依照範例的選擇會收到最完整的 Email</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-05.webp" width="1090" height="851" alt="在用戶清單中加入團隊成員（圖 5）" loading="lazy" decoding="async"></p>
<h2 id="-依照團隊默契建立問題樣板">依照團隊默契建立問題樣板<a class="h-anchor" href="#-%e4%be%9d%e7%85%a7%e5%9c%98%e9%9a%8a%e9%bb%98%e5%a5%91%e5%bb%ba%e7%ab%8b%e5%95%8f%e9%a1%8c%e6%a8%a3%e6%9d%bf" aria-label="這個段落的連結"></a></h2>
<p>為了保證議題的格式有相同的 Style ，所以建議團隊要建立問題的樣板，以確保每個議題的內容都有精準描述減少來回溝通的成本。</p>
<p><strong>STEP 1</strong>：在專案清單選擇專案 &gt; 問題樣板 &gt; 新增樣板</p>
<ul>
<li><strong>問題樣板</strong>：<em>專門為這個專案</em>設計的問題樣板</li>
<li><strong>全域問題樣板</strong>：<em>所有專案</em>都能夠使用的問題樣板</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-06.webp" width="1400" height="886" alt="依照團隊默契建立問題樣板（圖 6）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：填寫問題樣板內容 &gt; 建立</p>
<ul>
<li><strong>追蹤標籤</strong>：這個樣板是給哪個追蹤標籤使用的</li>
<li><strong>預設值</strong>：建議打勾，最後真正的預設值還是看排序，另外子專案設計的問題樣板會蓋過全域問題樣板</li>
<li><strong>啟用</strong>：打勾後才能讓使用者選用</li>
<li><strong>在專案樹狀結構中分享</strong>：建議打勾，因為模板通常都會共享</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-07.webp" width="1400" height="917" alt="依照團隊默契建立問題樣板（圖 7）" loading="lazy" decoding="async"></p>
<h2 id="-依據團隊建立大群組依據職權建立小群組">依據團隊建立大群組，依據職權建立小群組<a class="h-anchor" href="#-%e4%be%9d%e6%93%9a%e5%9c%98%e9%9a%8a%e5%bb%ba%e7%ab%8b%e5%a4%a7%e7%be%a4%e7%b5%84%e4%be%9d%e6%93%9a%e8%81%b7%e6%ac%8a%e5%bb%ba%e7%ab%8b%e5%b0%8f%e7%be%a4%e7%b5%84" aria-label="這個段落的連結"></a></h2>
<p>每個專案都有獨立的成員列表，並賦予成員不同的角色；建議群組由大到小會分成三個層次：</p>
<ul>
<li><strong>全公司</strong>：有些專案或是資訊是要給全公司的人都知道的</li>
<li><strong>部門團隊</strong>：比如網頁負責的是一個 Team，android app、windows app 是另外一個 Team</li>
<li><strong>功能團隊</strong>：網頁團隊下會有不同的小組，有些負責 UI/UX 設計、有些負責後端 api 撰寫；這的層次是依造職權的分類</li>
</ul>
<p><strong>STEP 1</strong>：網站管理 &gt; 群組清單 &gt; 建立新群組</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-08.webp" width="1400" height="575" alt="依據團隊建立大群組，依據職權建立小群組（圖 8）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：填寫群組名稱 &gt; 建立</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-09.webp" width="1092" height="288" alt="依據團隊建立大群組，依據職權建立小群組（圖 9）" loading="lazy" decoding="async"></p>
<p><strong>STEP 3</strong>：選擇剛剛建立的群組 &gt; 用戶清單 &gt; 建立新用戶 &gt; 選擇要加入的用戶 &gt; 新增</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-10.webp" width="1092" height="750" alt="依據團隊建立大群組，依據職權建立小群組（圖 10）" loading="lazy" decoding="async"></p>
<p><strong>STEP 4</strong>：專案清單 &gt; 加入專案 &gt; 選擇欲加入的專案 &amp; 加入的角色 &gt; 新增</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-11.webp" width="1092" height="785" alt="依據團隊建立大群組，依據職權建立小群組（圖 11）" loading="lazy" decoding="async"></p>
<h2 id="-建立子專案">建立子專案<a class="h-anchor" href="#-%e5%bb%ba%e7%ab%8b%e5%ad%90%e5%b0%88%e6%a1%88" aria-label="這個段落的連結"></a></h2>
<p>子專案才是真正的放專案資訊的地方</p>
<ul>
<li><strong>代碼</strong>：因為是子專案，建議代碼也要有關聯性方便識別</li>
<li><strong>父專案</strong>：記得選擇</li>
<li><strong>繼承父專案成員</strong>：建議打勾，通常成員的角色都是固定的，不太可能今天是『開發人員』明天就轉職成『測試人員』</li>
</ul>
<p><strong>STEP 1</strong>：網站管理 &gt; 專案清單 &gt; 建立新專案 &gt; 填寫專案基礎資訊 &gt; 建立</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-12.webp" width="1400" height="906" alt="建立子專案（圖 12）" loading="lazy" decoding="async"></p>
<h3 class="h-nomark" id="專案重要設定說明">🌟專案重要設定說明🌟<a class="h-anchor" href="#%e5%b0%88%e6%a1%88%e9%87%8d%e8%a6%81%e8%a8%ad%e5%ae%9a%e8%aa%aa%e6%98%8e" aria-label="這個段落的連結"></a></h3>
<ul>
<li><strong>成員</strong>：除了繼承父專案成員外，你還可以在這裡做角色權限調整，<strong>一個用戶可以有多重角色</strong></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-13.webp" width="1400" height="578" alt="🌟專案重要設定說明🌟（圖 13）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>版本</strong>：專案一定會有版本的更迭，每項議題如果都有對應的版本在<strong>管理及追蹤上可以容易釐清責任</strong></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-14.webp" width="1400" height="353" alt="🌟專案重要設定說明🌟（圖 14）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>議題分類清單</strong>：新人剛加入團隊時可能對成員的職權並不是很了解，如果在這裡建立分類的防可以<strong>快速幫助不熟悉團隊的人了解每個人的職權分配</strong></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-15.webp" width="1400" height="418" alt="🌟專案重要設定說明🌟（圖 15）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>issue columns</strong>：設定議題的<strong>子議題要呈現哪些欄位</strong></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-16.webp" width="780" height="494" alt="🌟專案重要設定說明🌟（圖 16）" loading="lazy" decoding="async"></p>
<h2 id="-建立新議題">建立新議題<a class="h-anchor" href="#-%e5%bb%ba%e7%ab%8b%e6%96%b0%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h2>
<p>專案基礎配置完成後開始分配每個成員的任務，這裡先從 UI/UX 的設計圖開始</p>
<p><strong>STEP 1</strong>：議題清單 &gt; 建立新議題</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-17.webp" width="1400" height="562" alt="建立新議題（圖 17）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：填寫議題內容 &gt; 建立</p>
<ul>
<li><strong>追蹤標籤＆問題樣板</strong>：問題樣板會跟著追蹤標籤顯示；用戶依照樣板填寫的資料填入必須資訊即可</li>
<li><strong>概述</strong>：圖片可以用複製貼上，但上面只會顯示『!xxx.png!』，需要去<strong>『預覽』</strong>才能看到實際的結果</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-18.webp" width="1362" height="519" alt="建立新議題（圖 18）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>提及(memtion)</strong>：在撰寫議題概述的時候很長會提到其他同事(ex:這項決議是哪位長官決定、這塊功能會由誰負責…)，可以用 <code>@</code> 來操作喔</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-19.webp" width="794" height="407" alt="建立新議題（圖 19）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>被分派者＆分類</strong>：調整分類就會自動填入被分派者，能幫助不熟悉用戶職權的人輕鬆的做議題分配</li>
</ul>
<div class="gallery-row cols-2">

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-20.webp" width="668" height="211" alt="建立新議題（圖 20）" fetchpriority="high" decoding="async">
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-21.webp" width="668" height="211" alt="建立新議題（圖 21）" loading="lazy" decoding="async">
</figure>


</div>

<ul>
<li><strong>Checklist</strong>：作為議題的輔助，讓你紀錄要完成的細項</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-22.webp" width="532" height="107" alt="建立新議題（圖 22）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>監看者(watcher)</strong>：與任務相關的同事，<em>通常會將直屬長官設為監看者</em></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-23.webp" width="615" height="137" alt="建立新議題（圖 23）" loading="lazy" decoding="async"></p>
<hr>
<h2 id="開發人員">開發人員<a class="h-anchor" href="#%e9%96%8b%e7%99%bc%e4%ba%ba%e5%93%a1" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>開發人員的涵蓋範圍很廣，包含前端、後端、硬體工程師…UI/UX 設計師等，通常會在收到管理人員分配的議題後開始作業</p>
</blockquote>
<h2 id="-開發人員收到議題">開發人員收到議題<a class="h-anchor" href="#-%e9%96%8b%e7%99%bc%e4%ba%ba%e5%93%a1%e6%94%b6%e5%88%b0%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h2>
<p>原則上只要用戶<strong>被分配議題、mention提及、設定為監看者</strong>，就會收到類似的 email 通知如下：</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-24.webp" width="1214" height="670" alt="開發人員收到議題（圖 24）" loading="lazy" decoding="async"></p>
<h2 id="-新增子議題相關議題">新增子議題、相關議題<a class="h-anchor" href="#-%e6%96%b0%e5%a2%9e%e5%ad%90%e8%ad%b0%e9%a1%8c%e7%9b%b8%e9%97%9c%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h2>
<p>在信箱點擊連結會直接前往該議題，但收到的信件一多還是要依照以下步驟找出自己要負責的項目</p>
<p><strong>STEP 1</strong>：專案清單 &gt; 選擇專案 &gt; 議題追蹤</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-25.webp" width="1400" height="814" alt="新增子議題、相關議題（圖 25）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：在篩選條件中使用追蹤標籤找到由自己負責的議題</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-26.webp" width="1400" height="545" alt="新增子議題、相關議題（圖 26）" loading="lazy" decoding="async"></p>
<p><strong>STEP 3</strong>：新增子任務</p>
<p>閱讀完議題的需求後再依據自己實際的工作項目去細分子議題，操作方式非常直覺就不再多做介紹</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-27.webp" width="1400" height="814" alt="新增子議題、相關議題（圖 27）" loading="lazy" decoding="async"></p>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-28.webp" width="1400" height="814" alt="之前管理人員設定的 issue columns 就這在這裡顯示的" loading="lazy" decoding="async">
  <figcaption>之前管理人員設定的 <strong>issue columns </strong>就這在這裡顯示的</figcaption>
</figure>

<h2 id="-在看板調整工作進度">在看板調整工作進度<a class="h-anchor" href="#-%e5%9c%a8%e7%9c%8b%e6%9d%bf%e8%aa%bf%e6%95%b4%e5%b7%a5%e4%bd%9c%e9%80%b2%e5%ba%a6" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>請注意這裡只能調整議題的『狀態』、『進度』，並不會紀錄工作時間</p>
</blockquote>
<p>一個一個議題點進去更新真的很慢，所以我們可以在『看板』用拖拉議題的方式改變他的『狀態』，且能於此『更新進度』的百分比</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-29.webp" width="1307" height="897" alt="在看板調整工作進度（圖 29）" loading="lazy" decoding="async"></p>
<h2 id="-編輯議題">編輯議題<a class="h-anchor" href="#-%e7%b7%a8%e8%bc%af%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p><em>被分配到議題時要記得編輯啊！不然主管以為你沒做事😞</em></p>
</blockquote>
<ul>
<li><strong>狀態</strong>：可調整為『實作中』、『已解決』</li>
<li><strong>預估工時＆完成百分比</strong>：會有報表產出，所以請認真填寫</li>
<li><strong>紀錄時間</strong>：為了好看的工作報表就好好填寫吧</li>
<li><strong>筆記</strong>：因為『概述』完成後就不能修改，我們要用『筆記』做後續議題的討論和紀錄</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-30.webp" width="912" height="969" alt="編輯議題（圖 30）" loading="lazy" decoding="async"></p>
<hr>
<h2 id="測試人員">測試人員<a class="h-anchor" href="#%e6%b8%ac%e8%a9%a6%e4%ba%ba%e5%93%a1" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>測試人員是系統的守護者，通常會接收到由『開發人員』、『管理人員』分配的測試任務，如果在測試過程中遇到了其他的錯誤可以自行在新增議題做分配</p>
</blockquote>
<h2 id="-驗證議題功能正確性">驗證議題功能正確性<a class="h-anchor" href="#-%e9%a9%97%e8%ad%89%e8%ad%b0%e9%a1%8c%e5%8a%9f%e8%83%bd%e6%ad%a3%e7%a2%ba%e6%80%a7" aria-label="這個段落的連結"></a></h2>
<p><strong>STEP 1</strong>：先找出清單中自己被指派的任務</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-31.webp" width="1400" height="704" alt="驗證議題功能正確性（圖 31）" loading="lazy" decoding="async"></p>
<p><strong>STEP 2</strong>：依照議題概述去完成相關測試</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-32.webp" width="1400" height="917" alt="驗證議題功能正確性（圖 32）" loading="lazy" decoding="async"></p>
<p><strong>STEP 3</strong>：依據測試結果給予議題回應</p>
<ul>
<li>測試成功：狀態改為『已結束』</li>
<li>測試失敗：狀態改為『測試不符合預期』，並增加『筆記』做說明</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-33.webp" width="1080" height="971" alt="驗證議題功能正確性（圖 33）" loading="lazy" decoding="async"></p>
<h2 id="-建立發現錯誤的議題並分派給相關群組">建立發現錯誤的議題並分派給相關群組<a class="h-anchor" href="#-%e5%bb%ba%e7%ab%8b%e7%99%bc%e7%8f%be%e9%8c%af%e8%aa%a4%e7%9a%84%e8%ad%b0%e9%a1%8c%e4%b8%a6%e5%88%86%e6%b4%be%e7%b5%a6%e7%9b%b8%e9%97%9c%e7%be%a4%e7%b5%84" aria-label="這個段落的連結"></a></h2>
<p>如果是在測試項目外發現錯誤，就是自己建立新議題，並指派議題給負責的群組，如果不清楚該功能由誰負責請使用『分類』來做自動分派。</p>
<p><img src="https://deanlin.net/blog/202103/redmine-training-by-role/images/redmine-training-by-role-34.webp" width="1400" height="920" alt="建立發現錯誤的議題並分派給相關群組（圖 34）" loading="lazy" decoding="async"></p>
<hr>
<pre tabindex="0"><code>以下是我整理 Redmine 的相關資源，想更進一步了解的朋友可以參考看看：
👍 Redmine 超詳細安裝教學：Redmine 4.1.1 on Ubuntu 16.04
👍 如何用 Redmine 做專案管理＆體驗心得
👍 Redmine Plugins &amp; Themes 介紹：那些我成功擴充的外掛
👍 用 Redmine 做專案管理 — 管理者不可不知的設定
👍 用 Redmine 做專案管理 — 一般用戶不可不知的基礎功能
</code></pre><hr>
<h3 class="h-nomark" id="-讀完這篇文章後">🙂 讀完這篇文章後<a class="h-anchor" href="#-%e8%ae%80%e5%ae%8c%e9%80%99%e7%af%87%e6%96%87%e7%ab%a0%e5%be%8c" aria-label="這個段落的連結"></a></h3>
]]></content:encoded>
    </item>
    <item>
      <title>用 Redmine 做專案管理 — 一般用戶不可不知的基礎功能</title>
      <link>https://deanlin.net/blog/202103/redmine-basics-for-users/</link>
      <pubDate>Fri, 05 Mar 2021 11:57:12 +0800</pubDate>
      <guid>https://deanlin.net/blog/202103/redmine-basics-for-users/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>了解基礎操作，其他細節的功能自己慢慢熟悉就可以了，這篇文章會分享讓專案順利運行的基礎功能。</description>
      <media:content url="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-og_hu_6ebbf2d01c787061.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>了解基礎操作，其他細節的功能自己慢慢熟悉就可以了，這篇文章會分享讓專案順利運行的基礎功能。</p>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-01.webp" width="1400" height="784" alt="image form:LINE Sticker" fetchpriority="high" decoding="async">
  <figcaption>image form:<a href="https://store.line.me/stickershop/author/1/zh-Hant">LINE Sticker</a></figcaption>
</figure>

<pre tabindex="0"><code>一、專案清單
二、專案概覽
  ➤ 議題清單
  ➤ 建立新議題
  ➤ 編輯議題
  ➤ 看板
</code></pre><h2 id="一專案清單">一、專案清單<a class="h-anchor" href="#%e4%b8%80%e5%b0%88%e6%a1%88%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h2>
<ul>
<li><strong>專案分類邏輯</strong>：以<em>團隊</em>做區分，子專案才是實際進行的專案</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-02.webp" width="1357" height="792" alt="一、專案清單（圖 2）" loading="lazy" decoding="async"></p>
<h2 id="二專案概覽">二、專案概覽<a class="h-anchor" href="#%e4%ba%8c%e5%b0%88%e6%a1%88%e6%a6%82%e8%a6%bd" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>這裡介紹實際上專案高頻使用功能</p>
</blockquote>
<h3 id="-議題清單">議題清單<a class="h-anchor" href="#-%e8%ad%b0%e9%a1%8c%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h3>
<div class="gallery-row cols-2">

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-03.webp" width="1362" height="792" alt="議題清單（圖 3）" fetchpriority="high" decoding="async">
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-04.webp" width="1362" height="810" alt="可以選擇扁平結構或是樹狀檢視" loading="lazy" decoding="async">
  <figcaption>可以選擇<strong>扁平結構</strong>或是<strong>樹狀檢視</strong></figcaption>
</figure>


</div>

<h3 id="-建立新議題">建立新議題<a class="h-anchor" href="#-%e5%bb%ba%e7%ab%8b%e6%96%b0%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h3>
<ul>
<li><strong>追蹤標籤＆問題樣板</strong>：問題樣板會跟著追蹤標籤顯示；用戶依照樣板填寫的資料填入必須資訊即可</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-05.webp" width="1362" height="519" alt="建立新議題（圖 5）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>提及(memtion)</strong>：在撰寫議題概述的時候很長會提到其他同事(ex:這項決議是哪位長官決定、這塊功能會由誰負責…)，可以用 <code>@</code> 來操作喔</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-06.webp" width="794" height="407" alt="建立新議題（圖 6）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>被分派者＆分類</strong>：調整分類就會自動填入被分派者，能幫助不熟悉用戶職權的人輕鬆的做議題分配</li>
</ul>
<div class="gallery-row cols-2">

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-07.webp" width="668" height="211" alt="建立新議題（圖 7）" fetchpriority="high" decoding="async">
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-08.webp" width="668" height="211" alt="不清楚由誰負責，就直接分配給一個Team，讓他們內部討論" loading="lazy" decoding="async">
  <figcaption>不清楚由誰負責，就直接分配給一個Team，讓他們內部討論</figcaption>
</figure>


</div>

<ul>
<li><strong>Checklist</strong>：作為議題的輔助，讓你紀錄要完成的細項</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-09.webp" width="532" height="107" alt="建立新議題（圖 9）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>監看者(watcher)</strong>：與任務相關的同事，<em>通常會將直屬長官設為監看者</em></li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-10.webp" width="615" height="137" alt="建立新議題（圖 10）" loading="lazy" decoding="async"></p>
<h3 id="-編輯議題">編輯議題<a class="h-anchor" href="#-%e7%b7%a8%e8%bc%af%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>被分配到議題時要記得編輯啊！不然主管以為你沒做事😞</p>
</blockquote>
<ul>
<li><strong>狀態</strong>：可調整為『實作中』</li>
<li><strong>預估工時＆完成百分比</strong>：會有報表產出，所以請認真填寫</li>
<li><strong>紀錄時間</strong>：為了好看的工作報表就好好填寫吧</li>
<li><strong>筆記</strong>：因為『概述』完成後就不能修改，我們要用『筆記做後續議題的討論』和紀錄</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-11.webp" width="912" height="969" alt="編輯議題（圖 11）" loading="lazy" decoding="async"></p>
<h3 id="-看板">看板<a class="h-anchor" href="#-%e7%9c%8b%e6%9d%bf" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>請注意這裡只能調整議題的『狀態』、『進度』，並不會紀錄工作時間</p>
</blockquote>
<p>一個一個議題點進去更新真的很慢，所以我們可以在『看板』用拖拉的方式改變議題的『狀態』，且能於此『更新進度』</p>
<p><img src="https://deanlin.net/blog/202103/redmine-basics-for-users/images/redmine-basics-for-users-12.webp" width="1307" height="897" alt="看板（圖 12）" loading="lazy" decoding="async"></p>
<hr>
<blockquote class="pullquote"><p>原本以為用戶需要知道很多操作，但發現只要會上面的基礎操作後，其他延伸的功能都可以舉一反三。</p>
</blockquote>
<pre tabindex="0"><code>以下是我整理 Redmine 的相關資源，想更進一步了解的朋友可以參考看看：
👍 Redmine 超詳細安裝教學：Redmine 4.1.1 on Ubuntu 16.04
👍 如何用 Redmine 做專案管理＆體驗心得
👍 Redmine Plugins &amp; Themes 介紹：那些我成功擴充的外掛
👍 用 Redmine 做專案管理 — 管理者不可不知的設定
👍 Redmine 教育訓練 — 依角色權限說明
</code></pre><hr>
<h3 class="h-nomark" id="-讀完這篇文章後">🙂 讀完這篇文章後<a class="h-anchor" href="#-%e8%ae%80%e5%ae%8c%e9%80%99%e7%af%87%e6%96%87%e7%ab%a0%e5%be%8c" aria-label="這個段落的連結"></a></h3>
]]></content:encoded>
    </item>
    <item>
      <title>用 Redmine 做專案管理 — 管理者不可不知的設定</title>
      <link>https://deanlin.net/blog/202103/redmine-admin-settings/</link>
      <pubDate>Wed, 03 Mar 2021 17:10:00 +0800</pubDate>
      <guid>https://deanlin.net/blog/202103/redmine-admin-settings/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>Redmine 的功能非常多，尤其是管理者在專案創建初期需要做非常多細節的設定；對於專案成員來說他們只需依造管理員制訂的規範操作即可。</description>
      <media:content url="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-og_hu_edd32889e7fed311.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>Redmine 的功能非常多，尤其是管理者在專案創建初期需要做非常多細節的設定；對於專案成員來說他們只需依造管理員制訂的規範操作即可。</p>
<blockquote>
<p>注：本篇文章<a href="https://deanlin.net/blog/202103/redmine-plugins-and-themes/">新增外掛如文章</a></p>
</blockquote>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-01.webp" width="1400" height="786" alt="image from:https://sites.google.com/site/quanqiufengline/home/line" fetchpriority="high" decoding="async">
  <figcaption>image from:<a href="https://sites.google.com/site/quanqiufengline/home/line">https://sites.google.com/site/quanqiufengline/home/line</a></figcaption>
</figure>

<pre tabindex="0"><code>🌐 網站管理
  ➤ 專案清單
  ➤ 用戶清單
  ➤ 群組清單
  ➤ 角色與權限
  ➤ 追蹤標籤清單
  ➤ 議題狀態清單
  ➤ 流程
  ➤ 設定
  ➤ 全域問題樣板
  ➤ 外掛程式
</code></pre><h2 class="h-nomark" id="-網站管理">🌐 網站管理<a class="h-anchor" href="#-%e7%b6%b2%e7%ab%99%e7%ae%a1%e7%90%86" aria-label="這個段落的連結"></a></h2>
<p>只有用戶『<strong>管理者</strong>』權限開啟時才能操作『網站管理』</p>
<div class="gallery-row cols-2">

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-02.webp" width="1400" height="619" alt="🌐 網站管理（圖 2）" fetchpriority="high" decoding="async">
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-03.webp" width="1400" height="745" alt="管理者權限需要特別設置，而不會特別給哪個角色擁有，這塊權限需要謹慎給予" loading="lazy" decoding="async">
  <figcaption>管理者權限需要特別設置，而不會特別給哪個角色擁有，<strong>這塊權限需要謹慎給予</strong></figcaption>
</figure>


</div>

<h2 id="-專案清單">專案清單<a class="h-anchor" href="#-%e5%b0%88%e6%a1%88%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h2>
<p>你可以設定某些角色有『建立新專案』的權限，但只有管理者可以做：</p>
<ul>
<li><strong>封存</strong>：被封存的專案將不予顯示，通常是專案完成後不希望有人再做更動時使用，若要恢復可以用『取消封存』</li>
<li><strong>複製</strong>：有很多專案細節的選項可以自己微調做複製</li>
<li><strong>刪除</strong>：按下去就真的會刪除了，除非是建立錯誤，否則建議用『封存即可』</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-04.webp" width="1400" height="735" alt="專案清單（圖 4）" loading="lazy" decoding="async"></p>
<h2 id="-用戶清單">用戶清單<a class="h-anchor" href="#-%e7%94%a8%e6%88%b6%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h2>
<p>用來<strong>新增/管理</strong>用戶，除了設定基礎資訊外，還可管理他們所屬的『群組』、『專案』</p>
<ul>
<li><strong>管理者</strong>：有打勾的才能做『網站管理』</li>
<li><strong>鎖定</strong>：當員工離職時建議使用鎖定，這樣只會讓他無法登入但仍可保留使用者的過往紀錄</li>
<li><strong>刪除</strong>：除非真的建立錯誤的用戶，不然不建議使用</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-05.webp" width="1400" height="593" alt="用戶清單（圖 5）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>電子郵件提醒選項</strong>：建議選擇『只提醒我觀察中或參與中的事物』，這樣收到的資訊最為完整</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-06.webp" width="1400" height="955" alt="用戶清單（圖 6）" loading="lazy" decoding="async"></p>
<ul>
<li><strong>專案清單 &amp; 角色</strong>：如果你只創建用戶，但沒有把他加入到專案當中，他是完全沒有功能的。</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-07.webp" width="751" height="391" alt="用戶清單（圖 7）" loading="lazy" decoding="async"></p>
<h2 id="-群組清單">群組清單<a class="h-anchor" href="#-%e7%be%a4%e7%b5%84%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h2>
<p>適當的建立群組可以加快『任務派發』、『選擇專案成員』的速度</p>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-08.webp" width="1400" height="615" alt="群組清單（圖 8）" loading="lazy" decoding="async"></p>
<h2 id="-角色與權限">角色與權限<a class="h-anchor" href="#-%e8%a7%92%e8%89%b2%e8%88%87%e6%ac%8a%e9%99%90" aria-label="這個段落的連結"></a></h2>
<ul>
<li><strong>建立新角色</strong>：根據公司規模的不同，實際上可能需要更多的角色分割權限</li>
<li><strong>權限報表</strong>：管理每個角色的權限細節</li>
</ul>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-09.webp" width="1400" height="400" alt="角色列表" loading="lazy" decoding="async">
  <figcaption>角色列表</figcaption>
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-10.webp" width="1400" height="845" alt="權限列表" loading="lazy" decoding="async">
  <figcaption>權限列表</figcaption>
</figure>

<h2 id="-追蹤標籤清單">追蹤標籤清單<a class="h-anchor" href="#-%e8%bf%bd%e8%b9%a4%e6%a8%99%e7%b1%a4%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h2>
<p>你可以把他當成『議題種類』的區分，標籤名稱越明確，日後管理會越精確</p>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-11.webp" width="1400" height="327" alt="追蹤標籤清單（圖 11）" loading="lazy" decoding="async"></p>
<h2 id="-議題狀態清單">議題狀態清單<a class="h-anchor" href="#-%e8%ad%b0%e9%a1%8c%e7%8b%80%e6%85%8b%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h2>
<p>這個是『議題流程』會經過的『狀態』，每個角色可以使用的議題狀態是不同的，ex：只有『測試人員』才能將議題狀態改為『測試不符合』預期</p>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-12.webp" width="1400" height="458" alt="議題狀態清單（圖 12）" loading="lazy" decoding="async"></p>
<h2 id="-流程">流程<a class="h-anchor" href="#-%e6%b5%81%e7%a8%8b" aria-label="這個段落的連結"></a></h2>
<p>這塊就是用來設定每個<strong>角色</strong>在<strong>不同追蹤標籤</strong>下可以操作<strong>流程的狀態；這塊</strong>設定起來有點繁瑣，建議流程上卡關再來這裡調整會比較方便</p>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-13.webp" width="1400" height="959" alt="流程（圖 13）" loading="lazy" decoding="async"></p>
<h2 id="-設定">設定<a class="h-anchor" href="#-%e8%a8%ad%e5%ae%9a" aria-label="這個段落的連結"></a></h2>
<h3 class="h-nomark" id="-一般">★ 一般<a class="h-anchor" href="#-%e4%b8%80%e8%88%ac" aria-label="這個段落的連結"></a></h3>
<ul>
<li><strong>歡迎詞</strong>：如果你覺得『網站首頁』空白很難看，可以在這裡編輯</li>
<li><strong>主機名稱</strong>：可以填寫網站的 ip 或者是 Domain name</li>
<li><strong>協定</strong>：建議使用『HTTPS』</li>
<li><strong>文字格式</strong>：建議選擇『Markdown』讓工程師方便協作（直接貼上 .md 類型的資訊）</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-14.webp" width="1400" height="993" alt="★ 一般（圖 14）" loading="lazy" decoding="async"></p>
<h3 class="h-nomark" id="-顯示">★ 顯示<a class="h-anchor" href="#-%e9%a1%af%e7%a4%ba" aria-label="這個段落的連結"></a></h3>
<ul>
<li><strong>畫面主題</strong>：你可以在這裡改變 Redmine 的顯示主題</li>
<li><strong>預設語言</strong>：你之後創建使用者時都會默認選擇</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-15.webp" width="1400" height="990" alt="★ 顯示（圖 15）" loading="lazy" decoding="async"></p>
<h3 class="h-nomark" id="-驗證">★ 驗證<a class="h-anchor" href="#-%e9%a9%97%e8%ad%89" aria-label="這個段落的連結"></a></h3>
<ul>
<li><strong>需要驗證</strong>：建議選擇『是』，否則公開的專案會被陌生人看光光</li>
<li><strong>註冊選項</strong>：建議選擇『停用』，儘管要管理者審核才能正式登入系統，但如果有人瘋狂亂註冊也會造成管理上的困難。</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-16.webp" width="1400" height="990" alt="★ 驗證（圖 16）" loading="lazy" decoding="async"></p>
<h3 class="h-nomark" id="-專案清單-1">★ 專案清單<a class="h-anchor" href="#-%e5%b0%88%e6%a1%88%e6%b8%85%e5%96%ae-1" aria-label="這個段落的連結"></a></h3>
<ul>
<li><strong>新建立之專案預設為「公開」</strong>：不要打勾，因為個組織間如果有要合作將成員加入專案是比較好的做法</li>
<li><strong>新專案預設啟用的模組、新專案預設使用的追蹤標籤</strong>：基本上都是全選，要不要用還是看自己</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-17.webp" width="1400" height="967" alt="★ 專案清單（圖 17）" loading="lazy" decoding="async"></p>
<h3 class="h-nomark" id="-議題追蹤">★ 議題追蹤<a class="h-anchor" href="#-%e8%ad%b0%e9%a1%8c%e8%bf%bd%e8%b9%a4" aria-label="這個段落的連結"></a></h3>
<ul>
<li><strong>允許關聯至其它專案的議題</strong>：因為跨組合作是可預期的，所以會打勾</li>
<li><strong>允許議題被分派至群組</strong>：有些議題可能會需要需要小組討論、內部分配，所以會打勾</li>
</ul>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-18.webp" width="1400" height="782" alt="★ 議題追蹤（圖 18）" loading="lazy" decoding="async"></p>
<h2 id="-全域問題樣板">全域問題樣板<a class="h-anchor" href="#-%e5%85%a8%e5%9f%9f%e5%95%8f%e9%a1%8c%e6%a8%a3%e6%9d%bf" aria-label="這個段落的連結"></a></h2>
<p>讓用戶在『建立議題』時有統一的格式，避免用戶依照自己喜好建立議題導致必要信息缺失造成溝通成本增加。</p>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-19.webp" width="1400" height="692" alt="全域問題樣板（圖 19）" loading="lazy" decoding="async"></p>
<div class="gallery-row cols-2">

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-20.webp" width="1400" height="577" alt="全域問題樣板（圖 20）" fetchpriority="high" decoding="async">
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-21.webp" width="1400" height="737" alt="建立好的議題模板會顯示如右" loading="lazy" decoding="async">
  <figcaption>建立好的<strong>議題模板</strong>會顯示如右</figcaption>
</figure>


</div>

<h2 id="-外掛程式">外掛程式<a class="h-anchor" href="#-%e5%a4%96%e6%8e%9b%e7%a8%8b%e5%bc%8f" aria-label="這個段落的連結"></a></h2>
<p>這裡會顯示安裝成功的 Plugins，『檢查更新』的按鈕參考就好，因為有些外掛不是直接關連到官方的。</p>
<p><a href="https://www.redmine.org/plugins"><strong>官方網站</strong></a>有提供許多的 Plugins，但安裝需要注意 Ruby、Redmine 的版本，如果沒有相容通常會安裝失敗，<strong>安裝失敗會導致整個 Redmine 的網站掛掉</strong>，所以在擴充外掛前最好向全公司發個通知，並且盡量於工作作業離峰期做擴充。</p>
<p><img src="https://deanlin.net/blog/202103/redmine-admin-settings/images/redmine-admin-settings-22.webp" width="1400" height="803" alt="外掛程式（圖 22）" loading="lazy" decoding="async"></p>
<hr>
<pre tabindex="0"><code>以下是我整理 Redmine 的相關資源，想更進一步了解的朋友可以參考看看：
👍 Redmine 超詳細安裝教學：Redmine 4.1.1 on Ubuntu 16.04
👍 如何用 Redmine 做專案管理＆體驗心得
👍 Redmine Plugins &amp; Themes 介紹：那些我成功擴充的外掛
👍 用 Redmine 做專案管理 — 一般用戶不可不知的基礎功能
👍 Redmine 教育訓練 — 依角色權限說明
</code></pre><hr>
<h3 class="h-nomark" id="-讀完這篇文章後">🙂 讀完這篇文章後<a class="h-anchor" href="#-%e8%ae%80%e5%ae%8c%e9%80%99%e7%af%87%e6%96%87%e7%ab%a0%e5%be%8c" aria-label="這個段落的連結"></a></h3>
]]></content:encoded>
    </item>
    <item>
      <title>Redmine Plugins &amp; Themes 介紹：那些我成功安裝的外掛</title>
      <link>https://deanlin.net/blog/202103/redmine-plugins-and-themes/</link>
      <pubDate>Tue, 02 Mar 2021 15:11:01 +0800</pubDate>
      <guid>https://deanlin.net/blog/202103/redmine-plugins-and-themes/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>Redmine 的擴充性相當強，但是擴充性強是一回事，你能不能成功安裝是另外一回事；Redmine 版本不斷更新的同時，有許多的 plugins 也成為時代的眼淚，今天就來分享幾個我成功擴充並且實用的幾個 plugins & Theme。</description>
      <media:content url="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-og_hu_e4161308cec0720d.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>Redmine 的擴充性相當強，但是擴充性強是一回事，你能不能成功安裝是另外一回事；Redmine 版本不斷更新的同時，有許多的 plugins 也成為時代的眼淚，這篇文章將分享幾個我成功擴充並且實用的幾個 plugins &amp; Theme。</p>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-01.webp" width="1400" height="717" alt="這篇文章會介紹上面成功安裝的 plugins" fetchpriority="high" decoding="async">
  <figcaption>這篇文章會介紹上面成功安裝的 plugins</figcaption>
</figure>

<pre tabindex="0"><code>一、Redmine Dashboard plugin
二、Redmine Checklists plugin (Light version)
三、Redmine Issues Tree plugin
四、Redmine Issue Templates plugin
五、Redmine Issue View Columns
六、Redmine Lightbox 2
七、Redmine Mentions
八、Redmine A1 theme
九、備註
</code></pre><p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-02.webp" width="1400" height="782" alt="Redmine Plugins &amp; Themes 介紹：那些我成功安裝的外掛（圖 2）" loading="lazy" decoding="async"></p>
<h3 id="提供安裝套件時的參數給大家參考">提供安裝套件時的參數給大家參考：<a class="h-anchor" href="#%e6%8f%90%e4%be%9b%e5%ae%89%e8%a3%9d%e5%a5%97%e4%bb%b6%e6%99%82%e7%9a%84%e5%8f%83%e6%95%b8%e7%b5%a6%e5%a4%a7%e5%ae%b6%e5%8f%83%e8%80%83" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>rvm version：1.29.12</p>
<p>ruby version：2.6.6</p>
<p>Redmine version：4.1.1</p>
<p>這篇文章是介紹套件為主，如果你想知道怎麼安裝可以<a href="https://deanlin.net/blog/202102/redmine-installation-ubuntu/">參考『Redmine 超詳細安裝教學』的 STEP 9</a></p>
</blockquote>
<h2 id="一redmine-dashboard-plugin">一、Redmine Dashboard plugin<a class="h-anchor" href="#%e4%b8%80redmine-dashboard-plugin" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>Resource：<a href="https://github.com/jgraichen/redmine_dashboard">https://github.com/jgraichen/redmine_dashboard</a></p>
<p>推薦程度：⭐⭐⭐⭐⭐</p>
</blockquote>
<p>這是一款必須安裝的套件！透過 <strong>看板的呈現 讓</strong>使用者更能全盤掌握專案的進度、利用<strong> Filter 條件</strong>篩選出想要的議題、直覺的 <strong>拖拉議題</strong> 改變狀態</p>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-03.webp" width="1400" height="747" alt="卡片版" loading="lazy" decoding="async">
  <figcaption>卡片版</figcaption>
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-04.webp" width="1400" height="597" alt="精簡版" loading="lazy" decoding="async">
  <figcaption>精簡版</figcaption>
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-05.webp" width="1400" height="597" alt="可以做進度更新、指派任務的動作" loading="lazy" decoding="async">
  <figcaption>可以做進度更新、指派任務的動作</figcaption>
</figure>

<h2 id="二redmine-checklists-plugin-light-version">二、Redmine Checklists plugin (Light version)<a class="h-anchor" href="#%e4%ba%8credmine-checklists-plugin-light-version" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>Resource：<a href="https://www.redmineup.com/pages/plugins/checklists">https://www.redmineup.com/pages/plugins/checklists</a></p>
<p>推薦程度：⭐⭐⭐⭐⭐</p>
</blockquote>
<p>有時一個議題內容比較複雜的時候，除了新增子議題外，你也可以用 Checklist 的方式來提醒自己有哪些任務需要完成。</p>
<p>另外<strong>對於測試人員來說這個 Checklist 的功能是非常有幫助的</strong>，可以用來幫助他們紀錄已經測試過的項目及更精準的追蹤測試進度。</p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-06.webp" width="1400" height="767" alt="二、Redmine Checklists plugin (Light version)（圖 6）" loading="lazy" decoding="async"></p>
<p><strong>備註</strong>：套件可設定除非 <strong>Checklist 全部打勾 </strong>才能關閉議題</p>
<h2 id="三redmine-issues-tree-plugin">三、Redmine Issues Tree plugin<a class="h-anchor" href="#%e4%b8%89redmine-issues-tree-plugin" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>Resource：<a href="https://github.com/Loriowar/redmine_issues_tree">https://github.com/Loriowar/redmine_issues_tree</a></p>
<p>推薦程度：⭐⭐⭐⭐</p>
</blockquote>
<p>這個套件在一個專案議題數量很多的時候幫助很大，透過樹狀圖的顯示每個議題之間的關係讓使用者找到所需資源</p>
<p><strong>Before</strong>：在系統預設的畫面會顯得有點混亂</p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-07.webp" width="1400" height="627" alt="三、Redmine Issues Tree plugin（圖 7）" loading="lazy" decoding="async"></p>
<p><strong>After</strong>：樹狀圖檢視降低閱讀壓力</p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-08.webp" width="1400" height="627" alt="三、Redmine Issues Tree plugin（圖 8）" loading="lazy" decoding="async"></p>
<h2 id="四redmine-issue-templates-plugin">四、Redmine Issue Templates plugin<a class="h-anchor" href="#%e5%9b%9bredmine-issue-templates-plugin" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>Resource：<a href="https://github.com/agileware-jp/redmine_issue_templates">https://github.com/Loriowar/redmine_issues_tree</a></p>
<p>推薦程度：⭐⭐⭐⭐⭐</p>
</blockquote>
<p>專案進行時最害怕開議題時每個人的風格都不一樣，並且對於議題的描述不夠精準忘東忘西；本套件就是為了減少這部分的溝通成本，<strong>讓每個參與者都必須依照特定格式來新增議題/筆記</strong>。</p>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-09.webp" width="1268" height="332" alt="管理者可以決定問題樣板的作用範圍" loading="lazy" decoding="async">
  <figcaption>管理者可以決定問題樣板的<strong>作用範圍</strong></figcaption>
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-10.webp" width="1400" height="770" alt="使用者可以依照專案去新增樣板，並設定是否要成為預設值" loading="lazy" decoding="async">
  <figcaption>使用者可以<strong>依照專案</strong>去新增樣板，並設定是否要成為<strong>預設值</strong></figcaption>
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-11.webp" width="1400" height="386" alt="使用者可以去調整樣板的優先順序" loading="lazy" decoding="async">
  <figcaption>使用者可以去調整樣板的<strong>優先順序</strong></figcaption>
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-12.webp" width="1400" height="408" alt="這樣新增議題時便會有統一的格式" loading="lazy" decoding="async">
  <figcaption>這樣新增議題時便會有<strong>統一的格式</strong></figcaption>
</figure>

<h2 id="五redmine-issue-view-columns">五、Redmine Issue View Columns<a class="h-anchor" href="#%e4%ba%94redmine-issue-view-columns" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>Resource：<a href="https://github.com/kenan3008/redmine_issue_view_columns">https://github.com/kenan3008/redmine_issue_view_columns</a></p>
<p>推薦程度：⭐⭐⭐⭐</p>
</blockquote>
<p>這個套件是設定議題下面<strong>子議題要呈現哪些欄位</strong>的 Plugin</p>
<p><strong>Before</strong>：原本呈現的資訊不符合使用者的實際需求，且有些欄位不清楚作用</p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-13.webp" width="1400" height="451" alt="五、Redmine Issue View Columns（圖 13）" loading="lazy" decoding="async"></p>
<p><strong>After</strong>：自訂想要呈現的欄位，欄位功能清晰</p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-14.webp" width="780" height="494" alt="五、Redmine Issue View Columns（圖 14）" loading="lazy" decoding="async"></p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-15.webp" width="1400" height="471" alt="五、Redmine Issue View Columns（圖 15）" loading="lazy" decoding="async"></p>
<h2 id="六redmine-lightbox-2">六、Redmine Lightbox 2<a class="h-anchor" href="#%e5%85%adredmine-lightbox-2" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>Resource：<a href="https://github.com/paginagmbh/redmine_lightbox2">https://github.com/paginagmbh/redmine_lightbox2</a></p>
<p>推薦程度：⭐⭐⭐</p>
</blockquote>
<p>有時議題會附加一些照片、PDF 做為參考資料，原本預設這些附加檔案都需要下載或是開新分頁才能閱讀，安裝這個外掛後就能透過<strong>預覽檢視照片、PDF</strong></p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-16.webp" width="749" height="243" alt="六、Redmine Lightbox 2（圖 16）" loading="lazy" decoding="async"></p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-17.webp" width="1400" height="758" alt="六、Redmine Lightbox 2（圖 17）" loading="lazy" decoding="async"></p>
<h2 id="七redmine-mentions">七、Redmine Mentions<a class="h-anchor" href="#%e4%b8%83redmine-mentions" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>Resource：<a href="https://github.com/arkhitech/redmine_mentions">https://github.com/arkhitech/redmine_mentions</a></p>
<p>推薦程度：⭐⭐⭐⭐⭐</p>
</blockquote>
<p>我們在<strong>撰寫議題描述/筆記</strong>時常常需要提到某些人(會議決策者、功能開發人員…)，讓這些人了解目前議題執行的進度，或是紀錄他們說過的話。</p>
<p>加入這個套件之後可以透過 <code>@someone_name</code> 的方式標記對方</p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-18.webp" width="1272" height="832" alt="七、Redmine Mentions（圖 18）" loading="lazy" decoding="async"></p>
<p>如果希望被標記時也會收到信件，要調整帳號設定如下</p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-19.webp" width="1400" height="622" alt="七、Redmine Mentions（圖 19）" loading="lazy" decoding="async"></p>
<figure class="figure"><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-20.webp" width="1220" height="464" alt="會收到長這個樣子的信件" loading="lazy" decoding="async">
  <figcaption>會收到長這個樣子的信件</figcaption>
</figure>

<h2 id="八redmine-a1-theme">八、Redmine A1 theme<a class="h-anchor" href="#%e5%85%abredmine-a1-theme" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>Resource：<a href="https://www.redmineup.com/pages/zh/themes">https://www.redmineup.com/pages/zh/themes</a></p>
<p>推薦程度：⭐⭐⭐⭐⭐</p>
</blockquote>
<p>如果覺得系統預設的主題(Theme)太醜，可以到<a href="https://www.redmineup.com/pages/zh/themes">這個網站</a>上找自己喜歡的主題</p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-21.webp" width="1400" height="771" alt="八、Redmine A1 theme（圖 21）" loading="lazy" decoding="async"></p>
<p>我這次選擇的是 <a href="https://www.redmineup.com/pages/themes/a1">A1主題</a> ，如果要<strong>更換主題需要由管理者做設定喔</strong>！</p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-22.webp" width="1400" height="441" alt="八、Redmine A1 theme（圖 22）" loading="lazy" decoding="async"></p>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-23.webp" width="1400" height="521" alt="八、Redmine A1 theme（圖 23）" loading="lazy" decoding="async"></p>
<h2 id="九備註">九、備註<a class="h-anchor" href="#%e4%b9%9d%e5%82%99%e8%a8%bb" aria-label="這個段落的連結"></a></h2>
<p>今天所操作的這些 plugins <strong>有些是默認全域作用、有些是針對專案作用</strong>，如果你發現 Plugin 安裝成功但是沒看到功能時請依照下面的步驟打開 Plugin：</p>
<h3 id="step-1進入專案清單">STEP 1：進入專案清單<a class="h-anchor" href="#step-1%e9%80%b2%e5%85%a5%e5%b0%88%e6%a1%88%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h3>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-24.webp" width="1400" height="526" alt="STEP 1：進入專案清單（圖 24）" loading="lazy" decoding="async"></p>
<h3 id="step-2選擇你要設定的專案">STEP 2：選擇你要設定的專案<a class="h-anchor" href="#step-2%e9%81%b8%e6%93%87%e4%bd%a0%e8%a6%81%e8%a8%ad%e5%ae%9a%e7%9a%84%e5%b0%88%e6%a1%88" aria-label="這個段落的連結"></a></h3>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-25.webp" width="1400" height="526" alt="STEP 2：選擇你要設定的專案（圖 25）" loading="lazy" decoding="async"></p>
<h3 id="step-3設定專案">STEP 3：設定專案<a class="h-anchor" href="#step-3%e8%a8%ad%e5%ae%9a%e5%b0%88%e6%a1%88" aria-label="這個段落的連結"></a></h3>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-26.webp" width="1400" height="526" alt="STEP 3：設定專案（圖 26）" loading="lazy" decoding="async"></p>
<h3 id="step-4滑到下面選擇啟用模組並儲存">STEP 4：滑到下面選擇啟用模組並儲存<a class="h-anchor" href="#step-4%e6%bb%91%e5%88%b0%e4%b8%8b%e9%9d%a2%e9%81%b8%e6%93%87%e5%95%9f%e7%94%a8%e6%a8%a1%e7%b5%84%e4%b8%a6%e5%84%b2%e5%ad%98" aria-label="這個段落的連結"></a></h3>
<p><img src="https://deanlin.net/blog/202103/redmine-plugins-and-themes/images/redmine-plugins-and-themes-27.webp" width="1400" height="747" alt="STEP 4：滑到下面選擇啟用模組並儲存（圖 27）" loading="lazy" decoding="async"></p>
<hr>
<pre tabindex="0"><code>以下是我整理 Redmine 的相關資源，想更進一步了解的朋友可以參考看看：
👍 Redmine 超詳細安裝教學：Redmine 4.1.1 on Ubuntu 16.04
👍 如何用 Redmine 做專案管理＆體驗心得
👍 用 Redmine 做專案管理 — 管理者不可不知的設定
👍 用 Redmine 做專案管理 — 一般用戶不可不知的基礎功能
👍 Redmine 教育訓練 — 依角色權限說明
</code></pre><hr>
<h3 class="h-nomark" id="-讀完這篇文章後">🙂 讀完這篇文章後<a class="h-anchor" href="#-%e8%ae%80%e5%ae%8c%e9%80%99%e7%af%87%e6%96%87%e7%ab%a0%e5%be%8c" aria-label="這個段落的連結"></a></h3>
]]></content:encoded>
    </item>
    <item>
      <title>如何用 Redmine 做專案管理＆體驗心得</title>
      <link>https://deanlin.net/blog/202102/redmine-project-management-review/</link>
      <pubDate>Tue, 23 Feb 2021 11:31:14 +0800</pubDate>
      <guid>https://deanlin.net/blog/202102/redmine-project-management-review/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>在 UI 上如果沒有嚴苛要求的話，Redmine 算是一套非常棒的專案管理系統了，即使跟 Jira 相比也沒有差得太多(因為很多高階功能根本用不太到😅)，這篇文章會分成三大主題說明：管理者在專案創建前的準備、專案管理的實際應用、個人使用心得。</description>
      <media:content url="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-og_hu_b89baded098d7e73.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>在 UI 上如果沒有嚴苛要求的話，Redmine 算是一套非常棒的專案管理系統了，即使跟 Jira 相比也沒有差得太多(因為很多高階功能根本用不太到😅)，這篇文章會分成三大主題說明：管理者在專案創建前的準備、專案管理的實際應用、個人使用心得。</p>
<pre tabindex="0"><code>一、管理者在專案創建前的準備
  ➤ 角色與權限
  ➤ 議題狀態清單
  ➤ 追蹤標籤清單
  ➤ 設定
二、專案管理的實際應用
  STEP 1：建立新專案
  STEP 2：分配議題(issue)
  STEP 3：組員收到議題的分配通知，根據需求細分子議題
  STEP 4：UIUX 完成設計，PM 分配後續工作給前端工程師
  STEP 5：前端工程師細分子議題，並開 api 需求給後端工程師
  STEP 6：後端工程師回復議題
  STEP 7：PM 規劃測試流程
  STEP 8：SIT 測試新系統功能
  🤔 流程總結
三、個人使用心得
</code></pre><p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-01.webp" width="1400" height="785" alt="如何用 Redmine 做專案管理＆體驗心得（圖 1）" fetchpriority="high" decoding="async"></p>
<h2 id="一管理者在專案創建前的準備">一、管理者在專案創建前的準備<a class="h-anchor" href="#%e4%b8%80%e7%ae%a1%e7%90%86%e8%80%85%e5%9c%a8%e5%b0%88%e6%a1%88%e5%89%b5%e5%bb%ba%e5%89%8d%e7%9a%84%e6%ba%96%e5%82%99" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>以下操作皆在『網站管理』分頁，僅列出重要功能，其他請自行摸索</p>
</blockquote>
<h3 id="-角色與權限">角色與權限<a class="h-anchor" href="#-%e8%a7%92%e8%89%b2%e8%88%87%e6%ac%8a%e9%99%90" aria-label="這個段落的連結"></a></h3>
<p>系統僅會提供如下角色，但專案管理的流程中通常還會有『測試人員』、『UI/UX 人員』等角色，這裡就按造公司需求新增及分配權限即可</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-02.webp" width="1400" height="497" alt="角色與權限（圖 2）" loading="lazy" decoding="async"></p>
<p>新增角色後會要定義他的工作流程，畢竟每個角色要做的任務不同</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-03.webp" width="1400" height="497" alt="角色與權限（圖 3）" loading="lazy" decoding="async"></p>
<p>以<strong>測試人員</strong>來說，他們通常是要驗證已解決的議題是否處理完成，所以我會賦予的權限如下圖</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-04.webp" width="1400" height="687" alt="角色與權限（圖 4）" loading="lazy" decoding="async"></p>
<h3 id="-議題狀態清單">議題狀態清單<a class="h-anchor" href="#-%e8%ad%b0%e9%a1%8c%e7%8b%80%e6%85%8b%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h3>
<p>如果你在剛剛操作角色權限設定時覺得狀態不敷使用可以在這裡增加</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-05.webp" width="1400" height="543" alt="議題狀態清單（圖 5）" loading="lazy" decoding="async"></p>
<p>像測試人員就可能有『測試不符合預期』之類的狀態，新增後記得套用到對應的角色身上</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-06.webp" width="1400" height="768" alt="議題狀態清單（圖 6）" loading="lazy" decoding="async"></p>
<h3 id="-追蹤標籤清單">追蹤標籤清單<a class="h-anchor" href="#-%e8%bf%bd%e8%b9%a4%e6%a8%99%e7%b1%a4%e6%b8%85%e5%96%ae" aria-label="這個段落的連結"></a></h3>
<p>這些標籤可以幫助你在尋找、歸納議題時的速度</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-07.webp" width="1400" height="244" alt="追蹤標籤清單（圖 7）" loading="lazy" decoding="async"></p>
<h3 id="-設定">設定<a class="h-anchor" href="#-%e8%a8%ad%e5%ae%9a" aria-label="這個段落的連結"></a></h3>
<p>在『顯示』的地方可以調整語言</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-08.webp" width="1400" height="840" alt="設定（圖 8）" loading="lazy" decoding="async"></p>
<p>在『驗證』頁面參考調整以下選項：</p>
<ul>
<li><strong>需要驗證(是)</strong>：如果你沒改又忘記調整專案為不公開會讓一般民眾都可以瀏覽喔！</li>
<li><strong>註冊選項(關閉)</strong>：如果開放註冊可能會被有心人士狂註冊，多了一堆垃圾帳號造成日後管理困難</li>
</ul>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-09.webp" width="1400" height="622" alt="設定（圖 9）" loading="lazy" decoding="async"></p>
<h2 id="二專案管理的實際應用">二、專案管理的實際應用<a class="h-anchor" href="#%e4%ba%8c%e5%b0%88%e6%a1%88%e7%ae%a1%e7%90%86%e7%9a%84%e5%af%a6%e9%9a%9b%e6%87%89%e7%94%a8" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>以下用實際專案流程模擬操作，模擬公司實際職位如下</p>
</blockquote>
<ul>
<li>PM(管理人員) — 開 issue 並且分配 issue</li>
<li>UI/UX(開發人員) — 網頁設計相關任務</li>
<li>frontend(開發人員) — 依據 UI/UX 設計完成前端</li>
<li>backend(開發人員) — 配合前端需求給予資料</li>
<li>SIT(測試人員) — 測試開發人員完成的功能並給予回饋</li>
</ul>
<h3 id="step-1-建立新專案">STEP 1 ：建立新專案<a class="h-anchor" href="#step-1-%e5%bb%ba%e7%ab%8b%e6%96%b0%e5%b0%88%e6%a1%88" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>了解客戶需求後，由 PM 建立新專案</p>
<p>職位/角色：PM/管理人員</p>
</blockquote>
<p>由 PM 建立一個新的專案並設定裡面的參數</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-10.webp" width="1400" height="240" alt="STEP 1 ：建立新專案（圖 10）" loading="lazy" decoding="async"></p>
<p>建立專案時請注意：</p>
<ul>
<li>名稱請填寫大家都看得懂的，如果專案有英文縮寫請放在代碼</li>
<li><strong>『代碼』這個欄位儲存後無法修改</strong>，請謹慎</li>
<li>如果專案沒有要公開，請記得把<strong>公開的選項拿掉</strong>，避免無關人士看到</li>
</ul>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-11.webp" width="1400" height="661" alt="STEP 1 ：建立新專案（圖 11）" loading="lazy" decoding="async"></p>
<p><strong>分配角色權限：</strong>建立專案後要加入成員並給予對應的角色權限</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-12.webp" width="1400" height="784" alt="STEP 1 ：建立新專案（圖 12）" loading="lazy" decoding="async"></p>
<p>完成權限分配後的畫面如下，<strong>一個用戶可以有多重角色</strong></p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-13.webp" width="1400" height="294" alt="STEP 1 ：建立新專案（圖 13）" loading="lazy" decoding="async"></p>
<p><strong>建立專案版本</strong>：專案一定會有版本的更迭，每項議題如果都有對應的版本在<strong>管理及追蹤上可以容易釐清責任</strong></p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-14.webp" width="1400" height="296" alt="STEP 1 ：建立新專案（圖 14）" loading="lazy" decoding="async"></p>
<p><strong>建立議題分類</strong>：新人剛加入團隊時可能對成員的職權並不是很了解，如果在這裡建立分類的防可以<strong>快速幫助不熟悉團隊的人了解每個人的職權分配</strong></p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-15.webp" width="1400" height="245" alt="STEP 1 ：建立新專案（圖 15）" loading="lazy" decoding="async"></p>
<h3 id="step-2分配議題issue">STEP 2：分配議題(issue)<a class="h-anchor" href="#step-2%e5%88%86%e9%85%8d%e8%ad%b0%e9%a1%8cissue" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>專案基礎配置完成後開始分配每個成員的任務，這裡先從 UI/UX 的設計圖開始</p>
<p>職位/角色：PM/管理人員</p>
</blockquote>
<p>在建立議題的時候有幾點提醒一下：</p>
<ul>
<li><strong>概述</strong>：圖片可以用複製貼上，但上面只會顯示『!xxx.png!』，需要去<strong>『預覽』</strong>才能看到實際的結果</li>
<li><strong>分類</strong>：如果選擇分類就會自動帶出被分派者</li>
<li><strong>狀態</strong>：他的選項會跟之前<strong>賦予的角色權限</strong>有關，如果發現需要新的流程可以後續再做調整</li>
</ul>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-16.webp" width="1400" height="741" alt="STEP 2：分配議題(issue)（圖 16）" loading="lazy" decoding="async"></p>
<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-17.webp" width="1400" height="741" alt="這個是預覽的畫面，建議儲存議題前先看看預覽畫面確保跟你希望的內容是一致的" loading="lazy" decoding="async">
  <figcaption>這個是預覽的畫面，建議儲存議題前先看看預覽畫面確保跟你希望的內容是一致的</figcaption>
</figure>

<h3 id="step-3組員收到議題的分配通知根據需求細分子議題">STEP 3：組員收到議題的分配通知，根據需求細分子議題<a class="h-anchor" href="#step-3%e7%b5%84%e5%93%a1%e6%94%b6%e5%88%b0%e8%ad%b0%e9%a1%8c%e7%9a%84%e5%88%86%e9%85%8d%e9%80%9a%e7%9f%a5%e6%a0%b9%e6%93%9a%e9%9c%80%e6%b1%82%e7%b4%b0%e5%88%86%e5%ad%90%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>PM 給予議題的大方向任務，組員再依據自己的專業將工作項目細分，這樣更方便追蹤議題的作業進度並評估個人績效</p>
<p>職位/角色：UIUX/開發人員</p>
</blockquote>
<p>如果有設定郵件通知的話會收到跟下面類似的信件</p>
<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-18.webp" width="1168" height="966" alt="這封信件只是舉例" loading="lazy" decoding="async">
  <figcaption>這封信件只是舉例</figcaption>
</figure>

<p>閱讀完議題的需求後再依據自己實際的工作項目去細分子議題，操作方式非常直覺就不在多做介紹</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-19.webp" width="1400" height="179" alt="STEP 3：組員收到議題的分配通知，根據需求細分子議題（圖 19）" loading="lazy" decoding="async"></p>
<p><strong>議題清單</strong>：在這個頁面可以瀏覽所有議題，依據自己的工作完成進度去編輯『任務完成百分比』、『狀態』、『紀錄時間』，方便PM了解實際的工作狀況</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-20.webp" width="1400" height="471" alt="STEP 3：組員收到議題的分配通知，根據需求細分子議題（圖 20）" loading="lazy" decoding="async"></p>
<h3 id="step-4uiux-完成設計pm-分配後續工作給前端工程師">STEP 4：UIUX 完成設計，PM 分配後續工作給前端工程師<a class="h-anchor" href="#step-4uiux-%e5%ae%8c%e6%88%90%e8%a8%ad%e8%a8%88pm-%e5%88%86%e9%85%8d%e5%be%8c%e7%ba%8c%e5%b7%a5%e4%bd%9c%e7%b5%a6%e5%89%8d%e7%ab%af%e5%b7%a5%e7%a8%8b%e5%b8%ab" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>PM 在議題狀態轉換時也會收到 email 通知，這時他可以做後續的議題分配</p>
<p>職位/角色：PM/管理人員</p>
</blockquote>
<p><strong>相關的議題清單</strong>：PM 新增議題的方式不再贅述，但這個議題因為需要參考 UI 設計的草圖，所以要在『<strong>相關的議題清單</strong>』與 UI 設計的議題作關聯</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-21.webp" width="991" height="122" alt="STEP 4：UIUX 完成設計，PM 分配後續工作給前端工程師（圖 21）" loading="lazy" decoding="async"></p>
<h3 id="step-5前端工程師細分子議題並開-api-需求給後端工程師">STEP 5：前端工程師細分子議題，並開 api 需求給後端工程師<a class="h-anchor" href="#step-5%e5%89%8d%e7%ab%af%e5%b7%a5%e7%a8%8b%e5%b8%ab%e7%b4%b0%e5%88%86%e5%ad%90%e8%ad%b0%e9%a1%8c%e4%b8%a6%e9%96%8b-api-%e9%9c%80%e6%b1%82%e7%b5%a6%e5%be%8c%e7%ab%af%e5%b7%a5%e7%a8%8b%e5%b8%ab" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>前端工程師在設計前端頁面的同時也會開 api 的需求給後端工程師，兩者間配合才能完善網頁</p>
<p>職位/角色：前端工程師/開發人員</p>
</blockquote>
<p>這塊比較不一樣的是前端工程師應該要更細節具體的描述每個 api 所需要的內容，所以除了『後端 api 需求』這個父議題外，也需要增加細部需求的子議題。</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-22.webp" width="1400" height="459" alt="STEP 5：前端工程師細分子議題，並開 api 需求給後端工程師（圖 22）" loading="lazy" decoding="async"></p>
<h3 id="step-6後端工程師回復議題">STEP 6：後端工程師回復議題<a class="h-anchor" href="#step-6%e5%be%8c%e7%ab%af%e5%b7%a5%e7%a8%8b%e5%b8%ab%e5%9b%9e%e5%be%a9%e8%ad%b0%e9%a1%8c" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>後端工程師在依據前端工程師的需求完善後用回應的方式說明 api 的格式讓前端工程師完成最後的串接</p>
<p>職位/角色：後端工程師/開發人員</p>
</blockquote>
<p>後端 api 不是完成就好，要附上相關說明文件才能節省雙方溝通時間並留存紀錄。</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-23.webp" width="1400" height="637" alt="STEP 6：後端工程師回復議題（圖 23）" loading="lazy" decoding="async"></p>
<h3 id="step-7pm-規劃測試流程">STEP 7：PM 規劃測試流程<a class="h-anchor" href="#step-7pm-%e8%a6%8f%e5%8a%83%e6%b8%ac%e8%a9%a6%e6%b5%81%e7%a8%8b" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>在前端工程師與後端工程師串接完成，也確定基礎的操作都穩定後就可以請 SIT 人員做測試了，相關的測試項目及流程一般會由 PM 做後續安排</p>
<p>職位/角色：PM/管理人員</p>
</blockquote>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-24.webp" width="1333" height="764" alt="STEP 7：PM 規劃測試流程（圖 24）" loading="lazy" decoding="async"></p>
<h3 id="step-8sit-測試新系統功能">STEP 8：SIT 測試新系統功能<a class="h-anchor" href="#step-8sit-%e6%b8%ac%e8%a9%a6%e6%96%b0%e7%b3%bb%e7%b5%b1%e5%8a%9f%e8%83%bd" aria-label="這個段落的連結"></a></h3>
<blockquote>
<p>SIT 依照 PM 分配的測試流程進行測試，如果正式成功就能把該議題狀態改為『已解決』</p>
<p>職位/角色：SIT/測試人員</p>
</blockquote>
<p>SIT 測試過程中如果發現問題除了把議題狀態改為『測試不符合預期』以及回覆哪裡錯誤外；額外發現的問題也可以新增子任務詳細說明問題，並將子任務都先指派給 PM 讓 PM 再分配給相關人員做處理</p>
<p><img src="https://deanlin.net/blog/202102/redmine-project-management-review/images/redmine-project-management-review-25.webp" width="1400" height="755" alt="STEP 8：SIT 測試新系統功能（圖 25）" loading="lazy" decoding="async"></p>
<h3 class="h-nomark" id="-流程總結">🤔 流程總結<a class="h-anchor" href="#-%e6%b5%81%e7%a8%8b%e7%b8%bd%e7%b5%90" aria-label="這個段落的連結"></a></h3>
<p>基本上就是測試到這個專案版本沒有任何問題後會再開新的專案版本，依據新的功能需求去實作；上面所敘述的流程僅供參考，實際的步驟還是需要公司內部有足夠共識才能真正讓這個專案管理工具發揮作用。</p>
<h2 id="三個人使用心得">三、個人使用心得<a class="h-anchor" href="#%e4%b8%89%e5%80%8b%e4%ba%ba%e4%bd%bf%e7%94%a8%e5%bf%83%e5%be%97" aria-label="這個段落的連結"></a></h2>
<ol>
<li>相比之前文章介紹的 <a href="https://deanlin.net/blog/202101/project-management-with-microsoft-lists/">Microsoft List、Planner</a> ，這套系統我個人認為是完勝的，各種功能都非常完善，如果想要更多的功能也能透過 plugin 去做擴充，而且還是免費的XD</li>
<li>但如果跟 Jira 相比，他功能就少了一點，比如：缺少 Sprint 的概念、沒辦法於文章中用@來tag相關人員、一個議題只能有一種追蹤標籤。但基本上功能已經夠用了，也許上面的功能都能透過 plugin 處理，這些就要後續再做研究了。</li>
<li>功能擴充自由度相當高，公司如果想要導入這個專案管理系統建議要有工程師與 PM 一起配合研究，因為一些資訊的顯示還有流程要自己手動修改才能符合真實的需求。</li>
</ol>
<hr>
<pre tabindex="0"><code>想要導入 Redmine 可以參考我之前分享的文章：
👍 Redmine 超詳細安裝教學：Redmine 4.1.1 on Ubuntu 16.04
👍 Redmine Plugins &amp; Themes 介紹：那些我成功擴充的外掛
👍 用 Redmine 做專案管理 — 管理者不可不知的設定
👍 用 Redmine 做專案管理 — 一般用戶不可不知的基礎功能
👍 Redmine 教育訓練 — 依角色權限說明
</code></pre><hr>
<h3 class="h-nomark" id="-讀完這篇文章後">🙂 讀完這篇文章後<a class="h-anchor" href="#-%e8%ae%80%e5%ae%8c%e9%80%99%e7%af%87%e6%96%87%e7%ab%a0%e5%be%8c" aria-label="這個段落的連結"></a></h3>
]]></content:encoded>
    </item>
    <item>
      <title>Redmine 超詳細安裝教學：Redmine 4.1.1 on Ubuntu 16.04</title>
      <link>https://deanlin.net/blog/202102/redmine-installation-ubuntu/</link>
      <pubDate>Thu, 18 Feb 2021 15:00:45 +0800</pubDate>
      <guid>https://deanlin.net/blog/202102/redmine-installation-ubuntu/</guid>
      <dc:creator>林鼎淵</dc:creator>
      <category>團隊合作</category>
      <description>專案管理的工具非常之多，但是 jira、notion、clickup、trello 這類的專案管理都需要付錢，目前公司採用 Teams 的 planner、Lists 又不符合實際使用情境；之前有短暫的導入 testlink，不過那個 20 年前的 UI…</description>
      <media:content url="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-og_hu_c388eeb4ab5b5808.jpg" medium="image" type="image/jpeg" width="1200" height="675" />
      <content:encoded><![CDATA[<p>專案管理的工具非常之多，但是 jira、notion、clickup、trello 這類的專案管理都需要付錢，目前公司採用 Teams 的 planner、Lists 又不符合實際使用情境；之前有短暫的導入 testlink，不過那個 20 年前的 UI 設計很快就勸退大家。基於上述原因決定嘗試使用 Redmine 這個專案管理工具，本篇文章會詳細說明安裝的步驟即遭遇過的問題，文章大綱如下：</p>
<pre tabindex="0"><code>一、安裝環境
二、安裝順序
  STEP 1：安裝 MySQL
  STEP 2：建立 Redmine 使用者帳號
  STEP 3：安裝 RVM
  STEP 4：安裝 Ruby
  STEP 5：安裝 Passenger and Nginx
  STEP 6：設定 Nginx
  STEP 7：在 MySQL 增加 redmine 的使用者
  STEP 8：安裝 Redmine
  STEP 9：安裝 Redmine 外掛
  STEP 10：設定 Redmine 寄信功能
三、備註
</code></pre><p><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-01.webp" width="1400" height="784" alt="Redmine 超詳細安裝教學：Redmine 4.1.1 on Ubuntu 16.04（圖 1）" fetchpriority="high" decoding="async"></p>
<h2 id="一安裝環境">一、安裝環境<a class="h-anchor" href="#%e4%b8%80%e5%ae%89%e8%a3%9d%e7%92%b0%e5%a2%83" aria-label="這個段落的連結"></a></h2>
<p>官方沒有建議的硬體規格，但是看到有 <a href="https://www.redmineup.com/pages/blog/self-hosted-on-in-the-cloud-how-to-choose-infrastructure-and-hardware-configuration-for-redmine">文章分享</a> 最低硬體配置如下：</p>
<ul>
<li>Processor: Intel Celeron (min 300 MHz)</li>
<li>RAM: 1–2 GB RAM</li>
<li>HDD: 30–40 GB</li>
</ul>
<p>但通常使用最低硬體配置得到的結果就是容易卡，很多人同時上線使用時會讓卡到讓你懷疑人生，下面是我安裝時的配置目前使用起來算是流暢給大家參考用：</p>
<ul>
<li>Processor: 使用 VMWARE 的虛擬單核心</li>
<li>RAM: 8GB RAM</li>
<li>HDD: 500 GB</li>
<li>OS: ubuntu 16.04</li>
</ul>
<h2 id="二安裝順序">二、安裝順序<a class="h-anchor" href="#%e4%ba%8c%e5%ae%89%e8%a3%9d%e9%a0%86%e5%ba%8f" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>操作時請注意角色權限(root、redmine)，否則安裝到一半會卡住</p>
</blockquote>
<h2 id="step-1安裝-mysql">STEP 1：安裝 MySQL<a class="h-anchor" href="#step-1%e5%ae%89%e8%a3%9d-mysql" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： root</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 安裝 MySQL 套件
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    apt install build-essential mysql-server libmysqlclient-dev imagemagick libmagickwand-dev
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 安裝後驗證 MySQL Version
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    mysql -u root -p
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/b38188a5ef4141b93c01b319a80b371b" rel="noopener">mysql_install.md</a>（GitHub Gist）</p>
<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-02.webp" width="1258" height="514" alt="看到類似上方的 MySQL 資訊就代表你安裝成功嚕！" loading="lazy" decoding="async">
  <figcaption>看到類似上方的 MySQL 資訊就代表你安裝成功嚕！</figcaption>
</figure>

<h2 id="step-2建立-redmine-使用者帳號">STEP 2：建立 Redmine 使用者帳號<a class="h-anchor" href="#step-2%e5%bb%ba%e7%ab%8b-redmine-%e4%bd%bf%e7%94%a8%e8%80%85%e5%b8%b3%e8%99%9f" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： root</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 建立 Redmine 使用者，資料放在 <span style="color:#a5d6ff">`/data/redmine`</span>
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    adduser --system \
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        --shell /bin/bash \
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        --gecos &#39;Redmine Administrator&#39; \
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        --group \
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        --home /data/redmine redmine;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 建立 rvm group
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    groupadd rvm
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. 允許 redmine 可以 sudo
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    adduser redmine sudo
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">4. 設定 redmine 密碼
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    passwd redmine
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">5. 將 redmine 使用者加入 rvm 群組
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    usermod -a -G rvm redmine
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/7443c1b56e1f7a585472834ea2ec65b0" rel="noopener">add_redmine_user.md</a>（GitHub Gist）</p>
<h2 id="step-3安裝-rvm">STEP 3：安裝 RVM<a class="h-anchor" href="#step-3%e5%ae%89%e8%a3%9d-rvm" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： redmine</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 安裝gnupg2
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    sudo apt install gnupg2
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 安裝 GPG keys:
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. 安裝 RVM
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    \curl -sSL https://get.rvm.io | bash -s stable
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">4. 讓 rvm 指令生效
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    source /data/redmine/.rvm/scripts/rvm
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">5. 確認安裝的RVM版本
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    rvm --version
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/c05ee64e18057de7a430df6b474ebd9e" rel="noopener">install_RVM.md</a>（GitHub Gist）</p>
<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-03.webp" width="1400" height="74" alt="看到類似上方的 RVM 資訊就代表你安裝成功嚕！" loading="lazy" decoding="async">
  <figcaption>看到類似上方的 RVM 資訊就代表你安裝成功嚕！</figcaption>
</figure>

<h2 id="step-4安裝-ruby">STEP 4：安裝 Ruby<a class="h-anchor" href="#step-4%e5%ae%89%e8%a3%9d-ruby" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： redmine</p>
</blockquote>
<p>作者的 <strong>RUBY_VERSION 為 2.3.8</strong>，這裡安裝的版本請<a href="https://www.redmine.org/projects/redmine/wiki/redmineinstall#Ruby-interpreter">參考 Redmine 的官方建議</a>，如果安裝其他的版本後續安裝 Redmine 時會發生錯誤</p>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 檢查 rvm 必要的套件
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    rvm requirements
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 安裝指定的 ruby version
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    rvm install ${RUBY_VERSION}
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. 將此版本設定為預設
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    rvm use ${RUBY_VERSION} --default
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">4. 確認安裝的 Ruby 版本
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    ruby --version
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/26719eedd99c32afc8f8d5820e058078" rel="noopener">intsall_ruby.md</a>（GitHub Gist）</p>
<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-04.webp" width="1400" height="74" alt="看到類似上方的 ruby 資訊就代表你安裝成功嚕！" loading="lazy" decoding="async">
  <figcaption>看到類似上方的 ruby 資訊就代表你安裝成功嚕！</figcaption>
</figure>

<h2 id="step-5安裝-passenger-and-nginx">STEP 5：安裝 Passenger and Nginx<a class="h-anchor" href="#step-5%e5%ae%89%e8%a3%9d-passenger-and-nginx" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： root</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 安裝 Passenger PGP key 和 HTTPS support for package manager
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    apt install -y dirmngr gnupg
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    apt install -y apt-transport-https ca-certificates
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. Add passenger APT repository
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    sh -c &#39;echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main &gt; /etc/apt/sources.list.d/passenger.list&#39;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    apt update
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. 安裝 Passenger and NGINX
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    apt install -y nginx-extras passenger
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/b44c3fa2e4c3a95b133182431af9da3c" rel="noopener">install_Passenger_Nginx.md</a>（GitHub Gist）</p>
<h2 id="step-6設定-nginx">STEP 6：設定 Nginx<a class="h-anchor" href="#step-6%e8%a8%ad%e5%ae%9a-nginx" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： root</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 編輯 Nginx 設定檔案
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    vi /etc/nginx/nginx.conf
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 移除此行註解#：`</span>include /etc/nginx/passenger.conf;<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`conf
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    ...
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    ##
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    # Phusion Passenger config
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    ##
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    # Uncomment it if you installed passenger or passenger-enterprise
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    ##
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    include /etc/nginx/passenger.conf;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. 接下來要調整 Nginx 的網站設定，所以建議先備份原本的設定
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.orig
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">5. 編輯 Nginx 的網站設定
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    vi /etc/nginx/sites-available/default
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">6. 調整網站的根目錄位置以及 Passenger 設定
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    #root /var/www/html; #將原本的註解或是移除
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    root /data/redmine/current/public;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    passenger_enabled on;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    client_max_body_size 10m;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">7. 把 location 段落註解
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    #location / {
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">            # First attempt to serve request as file, then
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">            # as directory, then fall back to displaying a 404.
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    #       try_files $uri $uri/ =404;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    #}
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/dc2d42e3059a7beff2912bbd34be52ea" rel="noopener">set_nginx.md</a>（GitHub Gist）</p>
<p>完成上述步驟後再做以下驗證：</p>
<ol>
<li>更改目錄權限： <code>chown -R www-data /var/www</code></li>
<li>重啟 Nginx： <code>systemctl restart nginx</code></li>
<li>驗證 Passenger and NGINX: <code>/usr/bin/passenger-config validate-install</code></li>
</ol>
<p><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-05.webp" width="1030" height="426" alt="STEP 6：設定 Nginx（圖 5）" loading="lazy" decoding="async"></p>
<p>4. 檢查 Ngninx 狀態與 Passenger process: <code>/usr/sbin/passenger-memory-stats</code></p>
<p><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-06.webp" width="1400" height="498" alt="STEP 6：設定 Nginx（圖 6）" loading="lazy" decoding="async"></p>
<h2 id="step-7在-mysql-增加-redmine-的使用者">STEP 7：在 MySQL 增加 redmine 的使用者<a class="h-anchor" href="#step-7%e5%9c%a8-mysql-%e5%a2%9e%e5%8a%a0-redmine-%e7%9a%84%e4%bd%bf%e7%94%a8%e8%80%85" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： root</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 登入 MySQL
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    mysql -u root -p
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. 創建 redmine 資料庫
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    CREATE DATABASE redmine CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">4. 創建 redmine 使用者，密碼記得自行調整
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    CREATE USER &#39;redmine&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;password&#39;;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">5. 給予使用者權限
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    GRANT ALL PRIVILEGES ON redmine.* TO &#39;redmine&#39;@&#39;localhost&#39;;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">6. 使權限生效
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    FLUSH PRIVILEGES;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">7. 離開 MySQL
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    quit;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/f0d6fa77b683a40cec8d44e5be51e36c" rel="noopener">mysql_add_redmine_user.md</a>（GitHub Gist）</p>
<h2 id="step-8安裝-redmine">STEP 8：安裝 Redmine<a class="h-anchor" href="#step-8%e5%ae%89%e8%a3%9d-redmine" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： redmine</p>
</blockquote>
<h3 id="-下載官方-image">下載官方 image<a class="h-anchor" href="#-%e4%b8%8b%e8%bc%89%e5%ae%98%e6%96%b9-image" aria-label="這個段落的連結"></a></h3>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 到[<span style="color:#7ee787">官方網站</span>](https://www.redmine.org/projects/redmine/wiki/Download)了解最新的stable版本（筆者安裝版本為 4.1.1）
</span></span><span style="display:flex;"><span><span style="color:#ff7b72">2.</span> 前往放置 redmine image 的目錄
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    cd /data/redmine
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. 下載官方 image 並解壓縮
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    wget https://www.redmine.org/releases/redmine-4.1.1.tar.gz
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    tar zxvf redmine-4.1.1.tar.gz
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">4. 建立連結資料夾 current
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    ln -s redmine-4.1.1 current
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">5. 前往連結資料夾
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    cd current
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/523ff799ed15fd78787e5664bcd589e3" rel="noopener">redmine_download.md</a>（GitHub Gist）</p>
<h3 id="-調整-redmine-裡面的資料庫設定">調整 redmine 裡面的資料庫設定<a class="h-anchor" href="#-%e8%aa%bf%e6%95%b4-redmine-%e8%a3%a1%e9%9d%a2%e7%9a%84%e8%b3%87%e6%96%99%e5%ba%ab%e8%a8%ad%e5%ae%9a" aria-label="這個段落的連結"></a></h3>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 將 redmine 的資料庫範例設定檔複製一份
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    cp -pR config/database.yml.example config/database.yml
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 編輯資料庫設定檔案
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    vi config/database.yml
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`  
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3.  調整 production 的資訊即可，內容填上 STEP7 建立的使用者資訊即可
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`yml
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    production:
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">      adapter: mysql2
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">      database: redmine
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">      host: localhost
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">      username: redmine
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">      password: &#34;your password&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">      # Use &#34;utf8&#34; instead of &#34;utfmb4&#34; for MySQL prior to 5.7.7
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">      encoding: utf8mb4
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/9cb24f48fd8b8fa969c4138a12186a76" rel="noopener">redmine_database_config.md</a>（GitHub Gist）</p>
<h3 id="-下載相關套件">下載相關套件<a class="h-anchor" href="#-%e4%b8%8b%e8%bc%89%e7%9b%b8%e9%97%9c%e5%a5%97%e4%bb%b6" aria-label="這個段落的連結"></a></h3>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 先確認當前資料夾為 <span style="color:#a5d6ff">`/data/redmine/current`</span>
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    pwd
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 執行 gem, bundle 安裝依賴套件
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    gem install bundler
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    bundle install --without development test
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    &gt; 如果安裝過程中遇到錯誤可能是因為沒有安裝到 ruby 的套件  
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    &gt; 1. 先安裝 `</span>sudo apt-get install ruby-dev<span style="color:#a5d6ff">`  
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    &gt; 2. 再執行一次 `</span>bundle install --without development test` 確認有無報錯
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/540d8de42ff10326664acdb6f29c08d4" rel="noopener">redmine_install_package.md</a>（GitHub Gist）</p>
<h3 id="-初始化-redmine">初始化 redmine<a class="h-anchor" href="#-%e5%88%9d%e5%a7%8b%e5%8c%96-redmine" aria-label="這個段落的連結"></a></h3>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 先確認當前資料夾為 /data/redmine/current
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    pwd
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 用 Rake 啟動 redmine
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    bundle exec rake generate_secret_token
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. Migrate Database Schema(初始化資料庫)
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    RAILS_ENV=production bundle exec rake db:migrate
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">4. Load Initial Data(下面會請你選擇語言，預設為英文，語言後續都能再做調整)
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    RAILS_ENV=production bundle exec rake redmine:load_default_data
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">5. 用 Nginx 重啟 Redmine
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    sudo systemctl restart nginx
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/79b903f7c4f1f22821aa91bbb21dca06" rel="noopener">redmine_init.md</a>（GitHub Gist）</p>
<p>接下來你可以瀏覽 <code>http:&lt;server_ip&gt;</code> ，如果順利的話可以看到 Redmine 登入畫面如下：</p>
<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-07.webp" width="1148" height="565" alt="預設 admin/admin 登入" loading="lazy" decoding="async">
  <figcaption>預設 <code>admin/admin</code> 登入</figcaption>
</figure>

<h2 id="step-9安裝-redmine-外掛">STEP 9：安裝 Redmine 外掛<a class="h-anchor" href="#step-9%e5%ae%89%e8%a3%9d-redmine-%e5%a4%96%e6%8e%9b" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： redmine</p>
</blockquote>
<p>Plugin 安裝方式雷同，下面以 <code>Redmine Dashboard 2</code>為範例安裝</p>
<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 先進入 redmine 的 plugin 資料夾
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    cd /current/plugins
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 下載 plugin，最新的 release 請參考[官方](https://github.com/jgraichen/redmine_dashboard)
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    wget https://github.com/jgraichen/redmine_dashboard/archive/v2.9.0.tar.gz
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. 解壓縮檔案
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    tar zxvf v2.9.0.tar.gz
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">4. 移除壓縮檔
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    rm v2.9.0.tar.gz
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">6.  安裝相關套件
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    bundle install
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">7. 將套件相關 DB 進行 migrate 到 production
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    rake db:migrate RAILS_ENV=production
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">8. 將套件安裝至 production
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    bundle exec rake redmine:plugins:migrate RAILS_ENV=production
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">9. 安裝完畢後重啟讓設定生效
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    sudo systemctl restart nginx
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/d625c9f43d9667e086f3eb73328becb6" rel="noopener">redmine_plugin.md</a>（GitHub Gist）</p>
<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-08.webp" width="1148" height="529" alt="安裝成功後的外掛程式會直接出現喔～" loading="lazy" decoding="async">
  <figcaption>安裝成功後的外掛程式會直接出現喔～</figcaption>
</figure>

<h2 id="step-10設定-redmine-寄信功能">STEP 10：設定 Redmine 寄信功能<a class="h-anchor" href="#step-10%e8%a8%ad%e5%ae%9a-redmine-%e5%af%84%e4%bf%a1%e5%8a%9f%e8%83%bd" aria-label="這個段落的連結"></a></h2>
<blockquote>
<p>角色： redmine</p>
</blockquote>
<p>如果沒做這個步驟是寄不出信的，需要做下面的調整即可</p>
<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-09.webp" width="1400" height="125" alt="設定前在：網站管理&gt;設定&gt;電子郵件提醒選項。會出現的畫面" loading="lazy" decoding="async">
  <figcaption>設定前在：網站管理&gt;設定&gt;電子郵件提醒選項。會出現的畫面</figcaption>
</figure>

<div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span><span style="color:#ff7b72">1.</span> 進入 redmine 設定的資料夾
</span></span><span style="display:flex;"><span>    ``<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    cd /current/config
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">2. 將 redmine 的設定範例設定檔複製一份
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    cp -pR configuration.yml.example configuration.yml
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">3. 編輯 redmine 設定檔案
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    vi configuration.yml
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">4. 調整 production 的資訊即可，下面用 Gmail 作為範例
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    production:
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">      delivery_method: :smtp
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">      smtp_settings:
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        enable_starttls_auto: true
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        address: &#34;smtp.gmail.com&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        port: 587
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        domain: &#34;smtp.gmail.com&#34; # &#39;your.domain.com&#39; for GoogleApps
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        authentication: :plain
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        user_name: &#34;email&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">        password: &#34;email pw&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">     `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">5. 設定完畢後重啟生效
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>`<span style="color:#a5d6ff">`
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    sudo systemctl restart nginx
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">    `</span>``
</span></span></code></pre></div><p class="code-source">原始碼：<a href="https://gist.github.com/dean9703111/120f7f2368b770899f5cacdc8344e61a" rel="noopener">redmine_email.md</a>（GitHub Gist）</p>
<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-10.webp" width="1147" height="488" alt="網站管理&gt;設定&gt;電子郵件提醒選項的右下角會有“寄送測試郵件的按鈕”提供測試喔" loading="lazy" decoding="async">
  <figcaption>網站管理&gt;設定&gt;電子郵件提醒選項的右下角會有“寄送測試郵件的按鈕”提供測試喔</figcaption>
</figure>

<figure class="figure"><img src="https://deanlin.net/blog/202102/redmine-installation-ubuntu/images/redmine-installation-ubuntu-11.webp" width="1262" height="484" alt="收到的測試郵件會長這個樣子" loading="lazy" decoding="async">
  <figcaption>收到的測試郵件會長這個樣子</figcaption>
</figure>

<h2 id="三備註">三、備註<a class="h-anchor" href="#%e4%b8%89%e5%82%99%e8%a8%bb" aria-label="這個段落的連結"></a></h2>
<ol>
<li>如果進入網頁時畫面沒有顯示應該是因為防火牆問題，可以用下面指令嘗試：<code>sudo ufw allow http</code> 、<code>sudo ufw allow https</code></li>
<li>參考資源：<a href="https://rickhw.github.io/2019/05/11/Redmine/Install-Redmine40x-on-Ubuntu1604/">Redmine 安裝篇：Redmine 4.0.x on Ubuntu 16.04</a>、<a href="https://rickhw.github.io/2017/03/18/Redmine/Redmine-Plugins/">Redmine Plugins and Themes</a>、<a href="https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step">HowTo Install Redmine on Ubuntu step by step</a></li>
</ol>
<hr>
<pre tabindex="0"><code>安裝完後如果想進一步了解如何使用 Redmine，可以參考以下文章：
👍 如何用 Redmine 做專案管理＆體驗心得
👍 Redmine Plugins &amp; Themes 介紹：那些我成功擴充的外掛
👍 用 Redmine 做專案管理 — 管理者不可不知的設定
👍 用 Redmine 做專案管理 — 一般用戶不可不知的基礎功能
👍 Redmine 教育訓練 — 依角色權限說明
</code></pre><hr>
<h3 class="h-nomark" id="-讀完這篇文章後">🙂 讀完這篇文章後<a class="h-anchor" href="#-%e8%ae%80%e5%ae%8c%e9%80%99%e7%af%87%e6%96%87%e7%ab%a0%e5%be%8c" aria-label="這個段落的連結"></a></h3>
]]></content:encoded>
    </item>
  </channel>
</rss>
