gocha124の日記

ごちゃごちゃ書きます

AWSのRedmineとGitHubを連携(RedmineからGitHubのfetchエラーまで)

RedmineからGitHubSSH接続できるようにする
SSHキーを用意する。まずはAWS上でSSHキーを生成する
ユーザはbitnamiでSSHキーを生成する

[bitnami@aaa] cd /home/bitnami
[bitnami@aaa] ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /home/bitnami/.ssh/id_rsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/bitnami/.ssh/id_rsa.
Your public key has been saved in /home/bitnami/.ssh/id_rsa.pub.
The key fingerprint is:

作成したキーをGitHub側に登録する。登録するのは公開キー
id_rsa.pubのテキストを登録する。テキストはcatで表示

Deploy keys
Deploy keys

秘密キーでGitHubSSHができるかを確認してみる
SSHのconfigファイルは以下の内容

[bitnami@aaa] vi config
Host github.com
    Hostname github.com
    IdentityFile /home/bitnami/.ssh/id_rsa
    User git
    Port 22

[bitnami@aaa] sudo chown -R bitnami:bitnami /home/bitnami/.ssh/
[bitnami@aaa] ssh -T github.com
Hi hogege/test_redmine_hook! You've successfully authenticated, but GitHub does not provide shell access.

SSHで接続できることを確認したら、id_rsa.pubを/usr/sbin にコピーする

[bitnami@aaa] cd /usr/sbin
[bitnami@aaa] sudo mkdir /usr/sbin/.ssh
[bitnami@aaa] sudo cp /home/bitnami/.ssh/id_rsa* /usr/sbin/.ssh
[bitnami@aaa] sudo chown -R daemon /usr/sbin/.ssh

リポジトリ保存するディレクトリを作成する
リポジトリをクローンする

[bitnami@aaa] sudo mkdir /home/bitnami/apps/redmine/github_repos
[bitnami@aaa] sudo chown -R bitnami:daemon /home/bitnami/apps/redmine/github_repos
[bitnami@aaa] 
[bitnami@aaa] cd /home/bitnami/apps/redmine/github_repos
[bitnami@aaa] git clone --bare git@github.com:<user_name>/<procject_id>.git
Cloning into bare repository 'test_redmine_hook.git'...
/usr/bin/ssh: /opt/bitnami/common/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh)
/usr/bin/ssh: /opt/bitnami/common/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh)
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

RedmineにGitリポジトリディレクトリパスを登録する
識別子:test_redmine_hook
リポジトリパス:/home/bitnami/apps/redmine/github_repos/test_redmine_hook.git
f:id:gocha124:20190321233048p:plain

GitHubのWebHookに、Redmineのプロジェクトを登録する
登録するのに指定するproject_idは Redmineのプロジェクト識別子です
PayloadURL:https://IPアドレス/github_hook?project_id=[Redmineのプロジェクト識別子]
f:id:gocha124:20190321233117p:plain

設定できた