專案

一般

個人檔案

動作

如何設定 Redmine 以進行進階 Mercurial 整合

這主要取自作者部落格:http://yasdb.blogspot.com/2009/10/configuring-redmine-to-be-your-alll-in.html

本指南假設您使用的是 Linux 並且已按照 如何使用 Redmine 處理 SVN 存放庫建立和存取控制 的說明進行操作,包括 mysql nss/pam 整合。您也應該知道,本指南會在 /etc/sudoers 中使用 2 個項目來處理隨附的腳本,這可能是一個安全漏洞。它們的設計應該可以避免這種情況,但如果您發現問題,請報告並嘗試提出修復方法!

附加的腳本文件應放在 /usr/local/bin/ 中。

您需要以其自己的使用者身分執行 redmine 和網路伺服器,本指南假設您選擇了一個 redmine Unix 使用者。您可以根據您的安全性需求考慮將其設為僅限 HTTPS。作者選擇了使用 lighttpd 的 HTTPS。

讓我們設定並查看環境。

建立 redmine 使用者後,請以 root 身分執行以下動作。

    mkdir /home/redmineusers
    chown -R root:root /home/redmineusers
    cd /home/redmineusers
    mkdir bin projects
    chown -R root:root bin
    chown -R redmine:root projects

按照上述教學進行操作後,請變更 shell_column 屬性
users.homedir_column = "/home/redmineusers/";
users.shell_column = "/bin/rbash";

另外建立以下檔案

/home/redmineusers/.profile

    umask 0007
    export PATH=$HOME/bin/

將此檔案符號連結至 .bashrc 和 .bash_login。這似乎是讓 ssh 與環境正常運作所必需的。

在 /home/redmineusers/bin/hg 中建立一個符號連結 -> /usr/local/bin/hg.wrapper

現在在 /etc/sudoers 中新增兩個項目

    redmine ALL = NOPASSWD: /usr/local/bin/createrepo
    ALL ALL = NOPASSWD: /usr/local/bin/fixrepoperms

現在您套用附加的修補程式。這是比較粗糙的程式碼,但它可以正常運作,並且比其他用於這種類型事情的方法乾淨得多。它不是很大,所以請隨意檢查。

套用修補程式後,請確保重新執行 create_views.sql 腳本。它應該可以正常重新執行,現在使用者必須處於活動狀態,而不能只是存在。

如果您已完成上述步驟,恭喜您。您現在擁有了一個安全、私有的沙盒環境,適用於每個專案(在這個環境中,您受到良好的舊式 Unix 權限的保護),並且與您的 redmine 使用者/群組資料庫相關聯。每個專案在建立時都會獲得自己的群組,您必須將開發人員新增至這個群組才能獲得原始碼管理存取權。您還擁有一個安全/受限的環境,允許使用者透過 ssh 登入 - 但實際上只是作為 hg serve 的閘道。您應該能夠根據您的 SCM 風格設定您的需求。Redmine 也應該在專案建立時輸入您的存放庫(儘管在它看起來正常運作之前,您似乎必須進行提交,這是可以理解的)。

Mischa The Evil約 14 年前 更新 · 8 個版本