OpenShiftで独自のNexus Mavenリポジトリを上げる

画像








最近、OpenShiftに関する記事がHabréに掲載されるようになりました。これはプラットフォームが非常に興味深く、それを掘り下げないことの罪であるため、私が注目を集めました。パブリックリンクとフォルダー全体(証明: habrahabr.ru/post/145864 )。



したがって、本日、Nexusが管理するMavenリポジトリを私たち自身のニーズに合わせてインストールし、謙虚な使用人がこの問題の先駆者として得た知識の松葉杖を共有します。







エントリー



まず、アプリケーションを登録して作成する必要があります。このプロセスは記事habrahabr.ru/post/145203で詳しく説明されています。簡単な概要のみを示します。

  1. まだ登録していない場合は、 参照により登録します
  2. DIYアプリケーションを作成します (たとえば、名前空間trylogicでhabrアプリケーションを作成しました)
  3. さらにアプリケーション設定で、ssh-keyを追加します。
  4. ページに記述されているとおり、git cloneを実行します。 たとえば、私は持っています:

    $ git clone ssh://a3cf48bc92174721a2c49fd823243b3a@habr-trylogic.rhcloud.com/~/git/habr.git/
          
          





クローニングのリンク(hash@app_name-namespace.rhcloud.comに似たもの)で提供されるアドレスに注意してください。sshを介してアプリケーションにさらにアクセスするために役立ちます。



Tomcat



なぜTomcatを選択したのですか、と尋ねましたが、OpenShiftチームによってすでに設定されたJBossコンテナを使用しなかったのですか? はい、Nexusは動作しません:)



Tomcatのインストールプロセスについて説明したHabré記事がありましたが、OpenShift Webサイトの記事を使用することにしました。そこで彼らはそれをよりよく噛み、Tomcatの平凡な人のためにIPとポートをインストールする手順があります。

英語を話さない人(または単に怠け者:))
  1. gitリンクについて話したことを覚えていますか? sshを介してサーバーにログインするために使用します(Windowsユーザーの場合、Puttyを使用することをお勧めします)。
     ssh a3cf48bc92174721a2c49fd823243b3a@habr-trylogic.rhcloud.com
          
          



  2. 標準のRubyスタブを無効にします。
     sh ~/habr/repo/.openshift/action_hooks/stop #  habr -   .
          
          



  3. 順番に実行します(アプリケーションの名前に従います。私の例ではhabrを使用しています)。
     cd ~/habr/data wget http://www.bizdirusa.com/mirrors/apache/tomcat/tomcat-7/v7.0.27/bin/apache-tomcat-7.0.27.tar.gz tar zxvf apache-tomcat-7.0.27.tar.gz rm apache-tomcat-7.0.27.tar.gz env |grep INTERNAL_IP
          
          



  4. 月の適切なフェーズが今であれば、最後のコマンドを実行した後、サーバーのIPアドレスを受け取ります。 それをどこかに保存してください。これは私たちにとって今役に立つでしょう。
  5. 必要なものを置き換えるsedのコメントに感謝し、 server.xmlファイルを手動で修正する方法を示します。 vimのみがサーバー上にあるため、nanoファンは以下を許容する必要があります。
     $ vim ~/habr/data/apache-tomcat-7.0.27/conf/server.xml
          
          



  6. IPとポートを変更します。
    •  <Server port="8005" shutdown="SHUTDOWN">
            
            



       <Server port="15005" shutdown="SHUTDOWN">
            
            





    •  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
            
            



       <Connector port="15009" protocol="AJP/1.3" redirectPort="8443" />
            
            





    •  <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
            
            



       <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" address="IP___” redirectPort="15443" />
            
            





    •  <Engine name="Catalina" defaultHost="localhost">
            
            



       <Engine name="Catalina" defaultHost="IP___">
            
            





    •  <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
            
            



       <!--     habr-trylogic.rhcloud.com    --> <Host name="habr-trylogic.rhcloud.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
            
            





  7. Tomcatには独自のマネージャーがありますが、使用しないのは罪です。 〜/ habr / data / apache-tomcat-7.0.27 / conf / tomcat-users.xmlに追加します
     <role rolename="manager-gui"/> <user username="admin" password="mySupaPass" roles="manager-gui"/>
          
          



    その後、マネージャーはhttp:// YOUR_APP_LINK / manager /
  8. 最近ダウンロードしたgitリポジトリーがあるフォルダーで、 .openshift / action_hooksフォルダーに移動します 。 開始ファイルを次のように編集します。
     #    habr     ~/habr/data/apache-tomcat-7.0.27/bin/startup.sh
          
          



    また、停止ファイル:
     ~/habr/data/apache-tomcat-7.0.27/bin/shutdown.sh
          
          



    これにより、サーバーを起動および停止できます。
     rhc app start -a habr
          
          



  9. 変更をコミットして送信(プッシュ)することを忘れないでください




もちろん、それほど簡単ではありませんが、決してないよりはましです:)




ネクサス



最後に、私たちは物語の主人公であるネクサスと呼ばれるソナタイプの製品に出会います。



JavaEEコンテナにアプリケーションを簡単にインストールすることは難しいと思われるので、ためらうことなくNexusを新しいTomcatにデプロイしました。 当然、何も獲得しませんでした)ログを読むと、Nexusが$ {user.home} / sonatype -workフォルダーを作成しようとしていることが示されましたが、OpenShiftはこの件について異なる意見を持っています。データ、レポ、およびtmpの3つのフォルダーのみ。 NE GUSTOは、少なくともJavaプロパティ「user.home」をいくつかのデータスレッドに置き換えることができると考えましたが、プラットフォームは非常に新しく、おそらくねじ込み式です。



受け取った情報を念頭に置いてください。これは、Nexusだけでなく、USER_HOMEで記述している他のJavaアプリケーションにも役立ちます。

  1. Tomcatマネージャーを開きます(上記を参照)
  2. Nexus warディストリビューターをダウンロードします: www.sonatype.org/downloads/nexus-2.0.5.war
  3. スイング中に、Undeployアプリケーションをクリックします。このアプリケーションでは、パスは/として指定されています
  4. ダウンロードを待ってから、ダウンロードしたnexus-2.0.5.warファイルの名前をROOT.warに変更します
  5. アップロードするWARファイルを選択してマネージャーで指定し、 デプロイをクリックします
  6. 最後に表示されるはずです
     OK - Deployed application at context path /
          
          



  7. 再度、SSH経由でサーバーにアクセスします。ここで、コマンドを実行してplexus.propertiesファイルを編集する必要があります
     #  ,     habr     ;) vim habr/data/apache-tomcat-7.0.27/webapps/ROOT/WEB-INF/plexus.properties
          
          



    nexus-workパラメーターを修正する必要がある場所
     nexus-work=${user.home}/habr/data/sonatype-work/nexus
          
          



  8. 保存し、誇らしげにTomcatマネージャーに移動して、Nexusアプリケーションの[開始]をクリックします。 Koshakはすべてが正常に起動し、Nexusがhttp:// YOUR_APP_LINK /で利用可能であることを報告する必要があります。 これが起こらない場合-コメントを書いてください、私はそれを理解するのを手伝います。




おわりに



したがって、Nexusの例を使用して、Tomcatコンテナーでアプリケーションを正しく起動する方法を学びました。 OpenShiftに対する私の印象はどうですか? 非常にポジティブ! マシンは非常に反応がよく、ssh経由でアクセスできます。好きなものを自分でインストールすることができます(魂の魂だけが環境で正しく動作した場合;))、1GBはプログラマーの日常のニーズに十分であり、チャネルは明らかに約10MBですインスタンス、私は非常に迅速にサーバーでファイルを投げました。



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

管理者!



All Articles