ayapapa / alminium

勉強しながら、少しずつ更新しています。現在、Ubuntu 18.04&CentOS7でRedmine3.4が動作します。
14 stars 2 forks source link
alminium installer jenkins redmine redmine-plugin redmine-theme

Build Status Issue Count

ALMinium

Gitポケットリファレンスで紹介されました。ALMiniumによるGitのリポジトリ運用方法が書かれています。ALMiniumでGitを使いたい人にお勧めです!!

これはなに?

ALMiniumとは、ALM(Application Lifecycle Management)とRedmineの合金(..nium)という意味から名づけられました。

Redmineを利用してALMを実現するためのツールです。アルミニウムの持つ軽量性と伝導性を備えています。軽量性は、簡単に使えること、熱伝導性は他のプロジェクトへ徐々に広げていける仕組みです。

特徴

ALMiniumは、次のような特徴を持っています。

同梱するプラグイン

ALMiniumは、次のRedmineプラグインを同梱しています。

プラグイン 説明
Backlogs スクラム開発のサポート
Jenkins Plugin Jenkinsとの連携
Code Review コードレビュー支援
XLS export Excelでチケットを出力
Git Branch Hook Gitのブランチでの作業をチケットに連動させます
DMSF 文書管理
OAuth Provider OAuthプロバイダー(see https://github.com/suer/redmine_oauth_provider)
OAuth GitLab GitLabアカウントでログイン(see https://github.com/applewu/redmine_omniauth_gitlab)

その他のプラグインついては、プラグインリストファイルをご覧ください。
インストールするプラグインを除外したい場合は、このプラグインリストファイルを編集し、不要なプラグインをコメントアウトしてください。

動作環境

32ビット版OSはサポートしていません。64ビット版をお使いください。

使い方

下記の通り実行すれば、ALMiniumのインストーラを実行できます。

 # yum install git 
もしくは
 # apt-get install git

 # git clone https://github.com/alminium/alminium.git
 # cd alminium
 # bash ./smelt

たったのこれだけで、チケットシステム、バージョン管理システム、Redmineの様々なプラグインのインストール、連携設定を行うことができます。なお、smeltは、金属を溶解して製錬するという意味で、様々なソフトウェア/プラグインを混合してALMiniumを作成するという意味からとっています。 なお、Ubuntuの場合、インストール途中にMySQLのパスワードの設定を聞かれますが、空欄にしてください。

インストールが終了すると、http://localhost/ (SSLを有効にした場合https://localhost/ )にWebブラウザで接続するとチケットシステムにアクセスできます。管理者権限でログインすると、設定やプロジェクトの作成を行うことができます。管理者情報は下記の通りです。

プロキシがある場合

プロキシ環境下で利用する場合は、次のようにしてプロキシを設定してから上記の設定を行なってください。

$ http_proxy=http://okamototk:password/proxyhost.com:8080/
$ https_proxy=http://okamototk:password/proxyhost.com:8080/

デフォルトの管理者情報

リポジトリの作成

リポジトリの作成は、プロジェクトの作成画面から可能です。リポジトリパスは、下記の通りです。

インストール時にSSLを無効にした場合は、httpを利用してください。gitをhttpsで利用する場合、不正な証明書を利用しているというエラーが発生しているので、クライアント側で下記のコマンドを実行し、証明書の検証を無効にしてください。

$ git config --global http.sslverify false

管理者・開発者のロールのユーザをリポジトリに対応するRedmineプロジェクトに追加することにより、コミット権を与えることができます。例えば、testrepoという名前のリポジトリに対して、testrepoという名前のRedmineプロジェクトを作成します。アクセスさせたいユーザを「開発者」ロールでtestrepoプロジェクトに追加すれば、アクセス権を付与することができます。

FAQ

Q: 作成したリポジトリにアクセスできません。

ALMiniumはRedmineのアカウントとバージョン管理システムのアカウントを連携させています。アクセスさせたいユーザをRedmineプロジェクトに追加してください。

Q: Redmineのリポジトリブラウザでリポジトリが参照できません

リポジトリが空場合、リポジトリブラウザでリポジトリを参照できません。リポジトリブラウザでに何かコミットしてみてください。例えば、Gitの場合、

$ git clone http://ユーザ名@ホスト名/git/リポジトリ名
$ cd リポジトリ名
$ touch dummy.txt
$ git add dummy.txt
$ git commit -a -m "add dummy file." 
$ git push

とするとリポジトリが見れるようになると思います。(SSLを有効にしている場合はhttpをhttpsとすること)

Q: SSLを有効にしてインストールしたのですが、やっぱり無効にしたいのですが。

mod_sslのパッケージをアンインストールするとHTTPのみのアクセスになります。

また、Apacheのredmineの設定(/etc/httpd/conf.d/redmine or /etc/apache/sites-availabled/redmine)のRewriteEngineをOffにするとhttpsへのリダイレクトを無効にできます。 RewriteEngineの設定はmod_sslの有無を判定しているので、mod_sslパッケージをアンインストールした場合設定の必要はありません。

Q: リポジトリが誰からも見れてしまうのですが。認証制限をかけれますか?

Redmineプロジェクトを公開にした場合、全てのユーザからのリポジトリの閲覧を許可します。Redmineプロジェクトを非公開にしてください。

Q: Redmineプロジェクトを公開にしたままリポジトリに認証制限をかけたいのですが。

Redmineを公開にした場合、リポジトリの認証に制限をかけたとしてもRedmineのリポジトリブラウザからリポジトリが見れてしまいます。 これでは意味ありませんよね?

Redmineの管理画面の「ロールと権限」から、「Non Member」と「Anonymous」のロールから「リポジトリの閲覧」を削除してください。 するとあら不思議、リポジトリのアクセスも受付なくなります。このようにALMiniumのリポジトリアクセス制御はRedmineと高度に連携しています

Q: 最新のMercurialでリポジトリにアクセスできません

ALMiniumは俗に言うオレオレ証明書を利用してHTTPSを実現しています。Mercurialの最近のバージョンでは、SSL証明書の検証を行うようになっており、HTTPSでの接続にエラーになります。

$ hg clone https://192.168.10.224/hg/hgtest
abort: error: _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:
certificate verify failed

そのような場合は、cloneやpushに--insecureオプションを付けることにより、証明書の検証を無効にし、正しくMercurialリポジトリへアクセスできるようになります。

$ hg clone --insecure https://192.168.10.224/hg/hgtest

Q: Gitでリモートブランチの上書き(git push -f)ができません

ALMiniumはセキュリティを考えてサーバ上のブランチの上書きを禁止しています。 上書きを有効にするには、/var/opt/alminium/git/リポジトリ名 に移動し、下記のコマンドによりブランチの上書きを有効にしてください。

# git config receive.denynonfastforwards false

ただし上記の設定を行うと、過去のコミットが削除されたり、ブランチの内容を消去されることがあるのでご注意ください。

Q: Gitでリモートブランチの削除ができません

上記と同じ理由でリモートブランチの削除も禁止してます。ブランチの削除きを有効にするには、/var/opt/alminium/git/リポジトリ名 に移動し、下記のコマンドによりブランチの削除を有効にしてください。

# git config receive.denydeletes false

ただし上記の設定を行うとブランチが削除される可能性があるので、ご注意ください。

Q: 既にインストールしたALMiniumのバージョンアップはできますか?

できます。詳細は、下記の記事をお読みください。 また、下記を参考にupgradeスクリプトを作成しました。お役に立てれば幸いです。

Q: ALMiniumのライセンスは何ですか?

ALMiniumは、Redmine,Git,Jenkinsを初め様々なオープンソースソース ソフトウェアをセットアップしてインストールするツールです。 インストールしたソフトウェアについては、個々のライセンスに 従います。

ALMiniumが用意するインストーラ及びスクリプトは、修正BSDライセンスで 提供します。修正BSDライセンスについては、下記のURLをご覧ください。