オープンソースのプロジェクト管理ソフトウェアredmineを試しました

1.概要

Redmineは、オープンソースのプロジェクト管理ソフトウェアです。RedmineはDatabaseを必要とします。Databaseの選択肢は複数ありますが、MariaDBを利用してRedmine環境構築を実施しました。その内容を記述します。また、Python-Redmineを利用したPythonによるシステム管理に関しても実施します。

本環境は、最初、ubuntu 20.04で構築しました。次に、LinuxMint 22.3へ変更してコンテナを新しく作り変えました。

2.詳細

(1) redmineとmariadbのコンテン環境構築 

(a) docker, docker-composeの導入

$ sudo apt -y install docker.io
$ sudo apt -y install docker-compose
$ sudo usermod -aG docker $(whoami)
$ docker --version
$ docker-compose --version
PCを1度再起動します

(b) docker-compose.ymlの作成

Docker hubの記述を参考にして、docker-compose.yml を作成します。

services:
    redmine:
        image: redmine:6
        restart: always
        ports:
            - 3000:3000
        environment:
            REDMINE_DB_MYSQL: db
            REDMINE_DB_PASSWORD: example
        depends_on:
            - db
    db:
        image: mariadb:12
        ports:
            - 3306:3306
        environment:
            MYSQL_DATABASE: redmine
            MYSQL_ROOT_PASSWORD: example

(c) container起動と停止

起動
docker compose up -d

停止
docker compose stop

(d) redmineへlogin

ブラウザからlocalhost:3000へアクセスします。

http://localhost:3000

初期ユーザはadmin
パスワードはadmin
でログインできます。

ログイン後、パスワード変更要求があります。

(2) python-redmineの動作確認

コンテナIDを調べます

docker ps

Redmineコンテナにログインします

docker exec --user redmine -it RedmineコンテナID /bin/bash

vimを利用して、下記pythonコード(test.py)を作成します

#!/usr/bin/python3

from redminelib import Redmine

url = 'http://localhost:3000'
username = 'admin'
password = '変更したパスワード'
redmine = Redmine(url, username=username, password=password)
print(redmine.user.get(1))

実行します

python3 test.py

Redmine Admin
と表示されると完了です。

(3) ユーザー登録、プロジェクト登録、登録したユーザをプロジェクトに参加

vimを利用して、下記pythonコード(test.py)を修正します。

from redminelib import Redmine

url = 'http://localhost:3000'
username = 'admin'
password = '変更したパスワード'

redmine = Redmine(url, username=username, password=password)

print(redmine.user.get(1))

user = redmine.user.new()
user.login = 'pc_user'
user.password = 'Userのパスワード'
user.firstname = 'pc'
user.lastname = 'user'
user.mail = 'userのメールアドレス'
user.save()

print(redmine.user.get(5))

project = redmine.project.new()
project.name = 'Project'
project.identifier = 'project'
project.save()

print(redmine.project.get(1))

membership = redmine.project_membership.new()
membership.project_id = 'project'
membership.user_id = 5
membership.role_ids = [4]
membership.save()

print(redmine.project_membership.get(1))

実行します

python3 test.py

Redmine Admin
pc user
Project
1

と表示されると完了です。

RedmineのGUIから登録された内容を確認すると動作が良くわかります。

3.所見

mysqlで最初チャレンジしたのですが、初期設定でエラーが発生。
デフォルト設定がロードできませんでした: Mysql2::Error: Incorrect string value....
そこで、mysqlからmariadbに変更しました。問題は改善しました。

コメント

過去30日間に良く読まれた記事

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

Windows95/98のPCゲームをUbuntu/LinuxMintの最新PCで楽しむ方法 ( KVM / Wine / dosbox-x / midi )

LinuxMint/ubuntuにWine 11導入を試しました ( LinuxMint 21.3 / 22.3 ubuntu 22.04 / 26.04 Wine 11.0 / 11.6 / 11.8 / 11.13 )