- Dockerは
Version 18.03.1-ce-win65 (17513)
- 本当はQNAPで動かしたかったが、まずは手元のDockerで起動してみる。
- Cドライブにディレクトリを用意。ここではc:/dockersharedisk/redmine
- powershellからdocker runしてエラーがないことを確認する。
> docker run --rm -v c:/dockersharedisk/redmine:/data alpine ls /data
mysql起動
> docker run -d --name redminedb `
-e MYSQL_ROOT_PASSWORD=password `
-e MYSQL_DATABASE=redminedb `
mysql:latest --character-set-server=utf8 --collation-server=utf8_general_ci --skip-character-set-client-handshake
redmine起動
> docker run -d -p 10083:80 --name redmine `
-e DB_NAME=redminedb `
-e DB_PASS=password `
--link redminedb:mysql `
-v c:/dockersharedisk/redmine:/home/git/data `
sameersbn/redmine:latest
redis起動
> docker run --name redis -d sameersbn/redis:latest
mysqlにgitlabが使うデータベースを作成する
- mysqlのcontainer idを調べる。
> docker ps
- redminedb(mysql)に入る
>docker exec -it -e COLUMNS=200 -e LINES=50 [container id] bash
# mysql -u root -ppassword
mysqlにデータベース作成
mysql> CREATE USER 'gitlab'@'%.%.%.%' IDENTIFIED BY 'password';
mysql> CREATE DATABASE IF NOT EXISTS `gitlabdb` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql> GRANT ALL PRIVILEGES ON `gitlabdb`.* TO 'gitlab'@'%.%.%.%';
mysql> quit
gitlab起動
> docker run --name gitlab -d `
-p 10080:80 `
-p 10022:22 `
-e GITLAB_PORT=10080 `
-e GITLAB_SSH_PORT=10022 `
-e DB_ADAPTER=mysql2 `
-e DB_HOST=mysql `
-e DB_NAME=gitlabdb `
-e DB_USER=gitlab `
-e DB_PASS=password `
-e GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string `
-e GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string `
-e GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string `
--link redminedb:mysql `
--link redis:redisio `
--link redmine:redmine -v c:/dockersharedisk/redmine:/home/git/data `
sameersbn/gitlab:latest
ブラウザでアクセスしてみる
redmine
http://localhost:10083
gitlab
http://localhost:10080
詳細は省くがRedmineのプロジェクト > 設定 > リポジトリ からリポジトリの指定を
/home/git/data/repositories/testrepo/renkei-test.git
などとしておくと連携ができた。
参考
https://agora.sanei-hy.co.jp/technology/2018/03/00016/
https://qiita.com/takara@github/items/06577c49b7e1d3f68102
備忘録,宿題
GitLabのwebhookは設定しなかった。が、ちゃんとコミットしたらはredmineで見れるようになった。
ちょっと使い方調べる。
QNAPのContainer Stationで動かしたいが、あっちはpostgresqlだったのでそのやり方を調べる。