Debian 8サーバーにJetBrains Hub + Youtrack + Upsource + Nginxをデプロイする

数日前、私はJetBrainsが提供する開発管理システム、つまりHubYoutrackUpsourceインストールし、すべての人に便利なURLのリソースへのアクセスを提供するタスクに直面しました。



zipアーカイブからサーバー上の製品とそのインストールについて読んだ後、私は経験と自動展開のための既成のソリューション( スクリプト )をあなたと共有することにしました。



ハブ+ youtrack +アップソース



製品のドキュメントにはない新しい情報はお伝えしませんが、ニュアンスの一部と世帯全体をまとめる方法について説明します。




.zipアーカイブでLinuxに提供される製品についてです。



すべてがクラウドで作成されたばかりの新しいDebian 8サーバーにデプロイされました。つまり、最小限の必要なもの以外は何もありませんでした。



システムをセットアップするとき、私は次のリソースに導かれました。





サーバーの推奨事項



Upsourceの手順では、システムの推奨機能は次のとおりであると書かれています。

  1. 8 GBを超えるRAM。
  2. JREまたはJDK 1.8以降。


アップソースに関するその他の推奨事項については、 こちらをご覧ください



インストールプロセスについて



インストールプロセスは簡単です。

ハブの例を示しますが、他の製品は1対1でインストールされます。

  1. アーカイブをダウンロードする

    mkdir -p /usr/opt/jetbrains/hub cd /usr/opt/jetbrains/hub wget http://download.jetbrains.com/hub/1.0/hub-ring-bundle-1.0.529.zip
          
          





  2. 製品のホームとなる目的のディレクトリに解凍します。

     unzip hub-ring-bundle-1.0.529.zip
          
          





  3. そして、指示に従って、コマンドで開始することができます(バックグラウンドで起動するために開始します):

     /usr/opt/jetbrains/hub/bin/hub.sh run
          
          





  4. 次に、ブラウザでyourdomain.localを開きます:8080

    そして、チューニングを行います。 ホスト名とポートを指定します。



ただし、サブドメインを使用してリソースにアクセスする場合、実際にはより適切な方法は、少なくとも異なるポートをリッスンする必要があるため、目的のポートとホスト名で製品を事前構成することです。



これを行うには、手順3の前に、nginxをプロキシとして使用する予定なので、/ etc / nginx / sites-enabled / default構成で、行の先頭に追加します。

 server { listen 80; listen [::]:80; server_name hub.yourdomain.local; server_tokens off; location / { proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_pass http://localhost:2222/; } }
      
      





行うには:

 service nginx reload
      
      







そして、次のコマンドを実行する必要があります。

 /usr/opt/jetbrains/hub/bin/hub.sh configure --listen-port 2222 --base-url http://hub.yourdomain.local
      
      







これで、ステップ3自体を実行して、構成済みのhub.yourdomain.localアドレスに移動できます。



製品バンドルについて



最初にハブをインストールして構成し、次にYoutrackとUpsourceを構成できます。

さらに、ブラウザーでYoutrackとUpsourceを構成する場合、2番目のステップで、構成したハブを指定する必要があります。



重要!

YoutrackとUpsourceを設定および構成し、サーバーを再起動した後、ハブがまだ起動していない場合は、Youtrack and Upsource

開始できず、ハブサービスが存在しないというエラーで失敗します。 したがって、ハブを正常に起動した後にのみ起動する必要があります。



ただし、ハブも他のサービス自体も自動ロードに登録されていません。



これを行うには、各製品をサービスとして起動するためのスクリプトを作成します。

 cat >/etc/init.d/hub <<EOF #! /bin/sh ### BEGIN INIT INFO # Provides: hub # Required-Start: \$local_fs \$remote_fs \$network \$syslog \$named # Required-Stop: \$local_fs \$remote_fs \$network \$syslog \$named # Default-Start: 2 3 4 5 # Default-Stop: S 0 1 6 # Short-Description: initscript for hub # Description: initscript for hub ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=hub SCRIPT=/usr/opt/jetbrains/\$NAME/bin/\$NAME.sh do_start() { \$SCRIPT start soft } case "\$1" in start) do_start ;; stop|restart|status|run|rerun|help) \$SCRIPT \$1 \$2 ;; *) echo "Usage: sudo /etc/init.d/hub {start|stop|restart|status|run|rerun}" >&2 exit 1 ;; esac exit 0 EOF chmod +x /etc/init.d/hub update-rc.d hub defaults
      
      







YoutrackおよびUpsourceの場合、さらに以下を実行する必要があります。
 update-rc.d youtrack disable
      
      



とにかく正しく起動しないためです。

正しく起動するには、 @reboot





cronイベント用のスクリプトを作成する必要があります @reboot





APIハブの起動を待っています:



 mkdir -p /root/crons cat >/root/crons/jetbrains<<EOF #!/bin/bash status=404 while [ \$status -eq 404 ]; do echo "wait hub..." sleep 60 status=\`curl -s -o /dev/null -w "%{http_code}" http://hub.yourdomain.local/hub\` echo "hub status \$status" done service youtrack start service upsource start exit 0 EOF chmod +x /root/crons/jetbrains echo "@reboot /root/crons/jetbrains" > /tmp/cron_ crontab /tmp/cron_
      
      







おわりに





ここでJetBrainsの手順をおおまかに言っているのはなぜですか。 まず、自転車を書くのではなく、すでに既成のソリューションを使用できるようにします 。 はい、私のスクリプトは標準ではないかもしれませんが、それは要点に位置しており、だれでも修正でき、独自の専門的な外観を提供できます。

第二に、人件費を削減する解決策が見つかりませんでした。



ご清聴ありがとうございました。



PS PMのエラーについて書きます。



All Articles