UbuntuにUpsourceをインストールした際のメモ

EC2を借りてUpsoruceを立てたので、その時のメモ。

参考記事

ココらへんが元ネタ

構成は

  • インスタンスはt4.large / m4.largeをスポットリクエストで借りてる
  • ubuntu
  • HTTPとSSHできるようにポート開けておく
  • Uposourceをport8080で立てて
  • 表側にnginxを起き、 80 -> 8080でリバプロ

install

Install nginx

sudo apt-get install -y nginx

リバースプロキシとか

参考: nginx(1.3.13) のリバースプロキシでNode.jsとSocket.IO for Android(weberknecht)をつないでみる - Qiita

server {
    listen 80 default_server;
    listen [::]:80 default_server;

        access_log /var/log/nginx/access_log combined;
        error_log  /var/log/nginx/error_log  error;

    location / {
           proxy_set_header Host $http_host;
           proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
                proxy_pass http://localhost:8080;
        }
}

web socket使っているので、 ヘッダー周り注意

instal Upsource

download upsrouce

https://www.jetbrains.com/upsource/download/

ここからLinux用のページ開くと「direct link」あるので、それをコピって

wget https://download.jetbrains.com/upsource/upsource-version.zip
sudo su
mkdir /usr/local/upsource 
apt-get install unzip

### 初期化

bin/upsource.sh configure --listen-port 8080 --base-url http://<FQDN>

/etc/hostname の値を /etc/hosts127.0.0.1に当てる これをやっておかないと

command [hostname]: hostname: Name or service not known

と言われたり、一部操作でコケる

bin/upsource.sh start

起動するのでブラウザで開く

<URL>:8080

Use build-in hub して進む。 Hubって何?はこちら → Hub: Integration Across Team Collaboration Tools by JetBrains

「コード管理/プロジェクト管理」であるUpsourceに対して、「リソース管理/メンバー管理」のHub。

初期設定

Github設定

右上の「Log in」でログインしてから http://<URL>:8080/hub にアクセス

設定アイコンから「Auth modules」 「New module > Github」 create

Github側にOAuth用のアプリケーションを作る

  • register an application in GitHub. クリック
  • 諸々設定する。
    • Authorization callback URL は、さっきのHubの設定画面に表示されてる Authorization callback URL を使う
  • Registar Application

    作成したアプリケーション情報をHubに登録

  • ↑のアプリのClient ID / Client Secret をコピー
  • Auto-join groupsを適宜設定(問題なければRegistered Users)
  • save
  • 右上「Enable module」

プロジェクト設定

  • グローバルメニュー「Projects」
  • 「New Project」
  • name, keyを設定
  • Create Project

Upsource設定

  • \<URL>に戻る
  • connect to a GitHub project クリック
  • Repository URLを入力(gitのSSHじゃなくて普通のレポジトリURL
  • OAuth Tokenを選択して 「Acquire token」
  • Import pull requests as branches, Synchronize comments and pull requests をチェック
    • use the authentication token で問題ないはず
  • create project

暫く待つ

管理ユーザーにGithubログイン

初期ログインした時のアカウントでGithubログインできるようにする。
GitHubログインのユーザーを作って」「元々のユーザーにマージする」という流れ

  1. logout
  2. login with github
  3. switch userで管理者アカウントでHubにアクセス
  4. hubのUsers で対象アカウントを選択
  5. mergeボタンのクリック

PHPStorm設定

  • Preference > Tools > Upsource > Connection
  • Server URLにを入力
  • Test Connecitonをして接続できたらOK

— お疲れ様でした `