OpenShift v3。 パートII デートの継続。 Roor4

前のパートでは、製品自体と、PaaS実装を扱う簡単な例について検討しました。 さらに進みましょう。 PostgreSQLにRuby-on-Rail 4をインストールします。 その過程で知ることができます:



1.組み込みのレーキ付き。

2.開発スキーム。v2とは異なります。

3.いくつかのコンソールクライアントコマンド。



開発者環境を作成する



一般に、「Ruby-on-Rail 4 with PostgreSQL」の完成した構成はWebコンソールに表示され、曲がりくねった状態で消えていました。 githubのリポジトリからの指示に従って、 より信頼性の高いペン。 簡単に自分用にフォークを作成し、ローカルでクローンを作成します。



プロジェクトを作成します。



$ oc new-project myror4 $ oc new-app openshift/templates/rails-postgresql.json -p SOURCE_REPOSITORY_URL=https://github.com/< yourusername >/rails-ex
      
      





そのようなもの
 --> Deploying template rails-postgresql-example for "openshift/templates/rails-postgresql.json" rails-postgresql-example --------- An example Rails application with a PostgreSQL database * With parameters: * Name=rails-postgresql-example * Namespace=openshift * Memory Limit=512Mi * Memory Limit (PostgreSQL)=512Mi * Git Repository URL=https://github.com/zirf0/rails-ex * Git Reference= * Context Directory= * Application Hostname= * GitHub Webhook Secret=epApEumIQAFhye32wPsXlnAaDrh34UdoJlw6fGyC # generated * Secret Key=b7augcv4ehdml4lyicyvi0tykum1t6stpwbrv8wpkxydrjpsg5rsrsoovxkjb6lf3wcp45f0wwp60b8uxd7qk1ma7kdmpm3kc00620girongf5aoqlh16fv3xsr0lqh # generated * Application Username=openshift * Application Password=secret * Rails Environment=production * Database Service Name=postgresql * Database Username=userJSV # generated * Database Password=0gD2YwnJ # generated * Database Name=root * Maximum Database Connections=100 * Shared Buffer Amount=12MB * Custom RubyGems Mirror URL= --> Creating resources with label app=rails-postgresql-example ... service "rails-postgresql-example" created route "rails-postgresql-example" created imagestream "rails-postgresql-example" created buildconfig "rails-postgresql-example" created deploymentconfig "rails-postgresql-example" created service "postgresql" created deploymentconfig "postgresql" created --> Success Build scheduled, use 'oc logs -f bc/rails-postgresql-example' to track its progress. Run 'oc status' to view your app.
      
      







一般に、この出力で重要な情報は、名前/パスワード/ PostgreSQLデータベースの外観 、およびGitHub Webhookシークレットです。これらは以下で必要になります。



 $ oc logs -f bc/rails-postgresql-example
      
      





そして、ここにログがあります
 Pulling image "registry.ops.openshift.com/rhscl/ruby-23-rhel7@sha256:26423d3ba7749e77884580dfec370c0007d6bcfd331b89c2c24d45964f9da7ff" ... Pulling image "registry.ops.openshift.com/rhscl/ruby-23-rhel7@sha256:26423d3ba7749e77884580dfec370c0007d6bcfd331b89c2c24d45964f9da7ff" ... Cloning "https://github.com/zirf0/rails-ex" ... Commit: b857f63c0fdb991cf93a52b80d325f7ab635c775 (Merge pull request #61 from luciddreamz/master) Author: Ben Parees <bparees@users.noreply.github.com> Date: Tue Sep 20 09:12:28 2016 -0400 ---> Installing application source ... ---> Building your Ruby application from source ... ---> Running 'bundle install --deployment' ... Fetching gem metadata from https://rubygems.org/........... Fetching version metadata from https://rubygems.org/... Fetching dependency metadata from https://rubygems.org/.. Installing rake 10.4.2 Installing i18n 0.7.0 Installing json 1.8.2 with native extensions Installing minitest 5.6.1 Installing thread_safe 0.3.5 Installing tzinfo 1.2.2 Installing activesupport 4.2.1 Installing builder 3.2.2 Installing erubis 2.7.0 Installing mini_portile 0.6.2 Installing nokogiri 1.6.6.2 with native extensions Installing rails-deprecated_sanitizer 1.0.3 Installing rails-dom-testing 1.0.6 Installing loofah 2.0.1 Installing rails-html-sanitizer 1.0.2 Installing actionview 4.2.1 Installing rack 1.6.0 Installing rack-test 0.6.3 Installing actionpack 4.2.1 Installing globalid 0.3.5 Installing activejob 4.2.1 Installing mime-types 2.5 Installing mail 2.6.3 Installing actionmailer 4.2.1 Installing activemodel 4.2.1 Installing arel 6.0.0 Installing activerecord 4.2.1 Installing debug_inspector 0.0.2 with native extensions Installing binding_of_caller 0.7.2 with native extensions Installing columnize 0.9.0 Installing byebug 4.0.5 with native extensions Installing coffee-script-source 1.9.1.1 Installing execjs 2.5.2 Installing coffee-script 2.4.1 Installing thor 0.19.1 Installing railties 4.2.1 Installing coffee-rails 4.1.0 Installing multi_json 1.11.0 Installing jbuilder 2.2.13 Installing jquery-rails 4.0.3 Installing pg 0.18.1 with native extensions Installing puma 2.11.3 with native extensions Using bundler 1.10.6 Installing sprockets 3.0.3 Installing sprockets-rails 2.2.4 Installing rails 4.2.1 Installing rdoc 4.2.0 Installing sass 3.4.13 Installing tilt 1.4.1 Installing sass-rails 5.0.3 Installing sdoc 0.4.1 Installing spring 1.3.4 Installing sqlite3 1.3.11 with native extensions Installing turbolinks 2.5.3 Installing uglifier 2.7.1 Installing web-console 2.1.2 Bundle complete! 14 Gemfile dependencies, 56 gems now installed. Bundled gems are installed into ./bundle. Post-install message from rdoc: Depending on your version of ruby, you may need to install ruby rdoc/ri data: <= 1.8.6 : unsupported = 1.8.7 : gem install rdoc-data; rdoc-data --install = 1.9.1 : gem install rdoc-data; rdoc-data --install >= 1.9.2 : nothing to do! Yay! ---> Cleaning up unused ruby gems ... ---> Starting asset compilation ... I, [2016-10-12T12:07:17.702238 #18863] INFO -- : Writing /opt/app-root/src/public/assets/application-dfda1387e2621704c9c53ddd9c1573c1f5099fd3108a2a96d2b02d9b79203f15.js I, [2016-10-12T12:07:17.717678 #18863] INFO -- : Writing /opt/app-root/src/public/assets/application-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css Running post commit hook ... sh: cannot set terminal process group (-1): Inappropriate ioctl for device sh: no job control in this shell Run options: --seed 19349 Running: . Finished in 0.096597s, 10.3523 runs/s, 10.3523 assertions/s. 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips Pushing image 172.30.47.227:5000/myror4/rails-postgresql-example:latest ... Pushed 0/5 layers, 1% complete Pushed 1/5 layers, 33% complete Pushed 2/5 layers, 74% complete Pushed 3/5 layers, 83% complete Pushed 4/5 layers, 100% complete Pushed 5/5 layers, 100% complete Push successful
      
      







アプリケーションに進むために、Webコンソールの「概要」に進みます。 public / index.htmlを誇示します。 自宅で見ることができます。



Github Webhookのセットアップ



アイデアはシンプルです。 github.comでプッシュするように自動プッシュを設定する手順については、ページを参照してください。 「Builds」→「rails-postgesql-example」→「Action」(ドロップダウンメニュー)→「Edit」に、不正確さがあります(QuickStart'om ROR4など)。 GitHub WebHookがあります。 手順の詳細。 しかし、一般的に、フック自体であるGitHub Webhook Secretを既に保存しています。



 https://api.preview.openshift.com/oapi/v1/namespaces/project.metadata.name/buildconfigs/buildConfig.metadata.name/webhooks/<Our GitHub WebHook Secret>/github.
      
      





つまり、すぐにgithubにアクセスできます。



これで、ローカルで何かをしてgithubに送信した場合、変更は自動的にOpenShift PaaSに送られます。



ところで、貯金箱へ。



 $ oc get -o wide pods NAME READY STATUS RESTARTS AGE IP NODE postgresql-1-72xmi 1/1 Running 0 1h 10.1.51.8 ip-172-31-10-169.ec2.internal rails-postgresql-example-1-build 0/1 Completed 0 1h 10.1.8.4 ip-172-31-11-86.ec2.internal rails-postgresql-example-1-z6q8d 1/1 Running 0 58m 10.1.8.4 ip-172-31-11-86.ec2.internal $ oc rsh postgresql-1-72xmi sh-4.2$ exit $
      
      





任意の作業炉に接続できます。 v2では、ssh接続がありました。



どうする



プラットフォームをさらに選択するオプションがありますが、作業中のプロジェクトはありませんが、タスクを発明するために...私は、ドキュメントを深く研究することにより、製品アーキテクチャに関する編集を書きたいです。 結果はすぐには得られませんが、ドキュメントは生で英語のみです。



UPD1。 Webhook githubが機能し、OpenShift v3が401に応答しますが、許可されていません。つまり、手動で再構築を開始する必要があります。 わかります。



All Articles