オープンソースのプロジェクト管理ソフトウェア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に変更しました。問題は改善しました。
コメント
コメントを投稿