<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>ちょまのマスト</title>
	<atom:link href="http://chomast.com/feed" rel="self" type="application/rss+xml"/>
	<link>https://chomast.com</link>
	<description>プログラミングの勉強などの備忘録</description>
	<lastBuildDate>Sat, 25 Apr 2020 10:28:16 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2</generator>
	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>HerokuでBASIC認証が必要なステージング環境を作る（Ruby on Rails）</title>
		<link>https://chomast.com/study/web/heroku-rails-staging-env.html</link>
		
		<dc:creator><![CDATA[choma]]></dc:creator>
		<pubDate>Sun, 08 Sep 2013 04:30:32 +0000</pubDate>
				<category><![CDATA[WEB系]]></category>
		<category><![CDATA[Heroku]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<guid isPermaLink="false">http://chomast.com/?p=735</guid>

					<description><![CDATA[「Herokuでステージング環境を作る &#8211; アインシュタインの電話番号」という記事を参考に実際にステージング環境を作ってみました。 踏んだ手順をメモしておきます！ Herokuに公開用とは別にステージング環境 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>「<a href="http://blog.ruedap.com/2011/02/20/ruby-heroku-staging-enviroment" title="Herokuでステージング環境を作る - アインシュタインの電話番号" target="_blank">Herokuでステージング環境を作る &#8211; アインシュタインの電話番号</a>」という記事を参考に実際にステージング環境を作ってみました。</p>
<p>踏んだ手順をメモしておきます！</p>
<div class="clear"></div>
<p><span id="more-735"></span><br />
</p>
<h2>Herokuに公開用とは別にステージング環境用のアプリを作る</h2>
<pre class="brush: bash; title: ; notranslate">
heroku create ステージング環境用のアプリ名 --remote staging
</pre>
<p>&#8211;remote staging というオプションを付けることで、staging という名前でremote先が追加されます。（-は２つ必要なので注意！）</p>
<p>remote先を確認するには</p>
<pre class="brush: bash; title: ; notranslate">git remote -v</pre>
<p>というコマンドを使います。heroku という名前で公開用のアプリが、staging という名前でステージング環境用のアプリが登録されていればOK。</p>
<h2>環境変数の設定</h2>
<pre class="brush: bash; title: ; notranslate">
heroku config:set RAILS_ENV=staging --app ステージング環境用のアプリ名
</pre>
<p>これでステージング環境用のアプリでRailsの環境がstagingになりました。</p>
<p>確認するには以下のコマンドを使います。</p>
<pre class="brush: bash; title: ; notranslate">
heroku config --app ステージング環境用のアプリ名
</pre>
<p>間違えて本番用のアプリの環境変数を変えてしまわないように注意！（&#8211;appオプションを忘れずに！）</p>
<h2>ステージング環境用の設定ファイルを整える</h2>
<p>prodiction環境の設定をそのままstaging環境用にコピーしていきます。</p>
<h3>config/environments/production.rbを同じ場所にstaging.rbという名前でコピー</h3>
<pre class="brush: bash; title: ; notranslate">
cp config/environments/production.rb config/environments/staging.rb
</pre>
<h3>database.ymlの編集</h3>
<p>database.yml（私の環境だと config/locales にありました）の production: の部分をコピペして、production: を staging: に変えて保存。</p>
<h3>Gemfileの編集</h3>
<p>Gemfileの</p>
<pre class="brush: ruby; title: ; notranslate">group :production do</pre>
<p>を</p>
<pre class="brush: ruby; title: ; notranslate">group :production, :staging do</pre>
<p>に書き換え。</p>
<h2>ステージング環境にBASIC認証をかける</h2>
<p>これに関しては<a href="https://chomast.com/study/web/basic-auth-in-ruby-on-rails.html" title="Ruby on Railsでステージング環境にBASIC認証をかける方法" target="_blank">前回の記事</a>に書いたので、前回の記事をまるっとコピペしておきますね！（前回の記事の意味……）</p>
<p>application_controller.rb に</p>
<pre class="brush: ruby; title: ; notranslate">
http_basic_authenticate_with name: ENV['BASIC_AUTH_USERNAME'], password: ENV['BASIC_AUTH_PASSWORD'] if Rails.env.staging?
</pre>
<p>を追記します。</p>
<p>私の環境だとこうなります。</p>
<pre class="brush: ruby; title: ; notranslate">
class ApplicationController &lt; ActionController::Base
  protect_from_forgery   
  http_basic_authenticate_with name: ENV['BASIC_AUTH_USERNAME'], password: ENV['BASIC_AUTH_PASSWORD'] if Rails.env.staging?
end
</pre>
<p>これでstaging環境の全てのControllerにアクセスするのにBASIC認証が必要になります。</p>
<p>次に、環境変数にユーザー名とパスワードをセットします。</p>
<p>例えば、</p>
<pre class="brush: bash; title: ; notranslate">
heroku config:set BASIC_AUTH_USERNAME=&quot;user&quot; BASIC_AUTH_PASSWORD=&quot;1234&quot; --app ステージング環境にしたいアプリ名
</pre>
<p>とすれば、「ユーザー名：user　パスワード：1234」と設定されます。</p>
<h2>ステージング環境にデプロイ（push）</h2>
<p>addとcommitを済ませてから</p>
<pre class="brush: bash; title: ; notranslate">
git push staging master
</pre>
<p>とすると、ステージング環境にデプロイされます。</p>
<p>公開用アプリにデプロイするときは</p>
<pre class="brush: bash; title: ; notranslate">
git push heroku master
</pre>
<p>とすればOK。</p>
<h2>参考サイト</h2>
<p>以下の記事を参考にしました。ありがとうございました！</p>
<ul>
<li><a href="http://blog.ruedap.com/2011/02/20/ruby-heroku-staging-enviroment" title="Herokuでステージング環境を作る - アインシュタインの電話番号" target="_blank">Herokuでステージング環境を作る &#8211; アインシュタインの電話番号</a></li>
<li><a href="http://spring-mt.tumblr.com/post/33209507135/rails-staging" title="railsでstaging環境を作る - CubicLouve" target="_blank">railsでstaging環境を作る &#8211; CubicLouve</a></li>
<li><a href="http://pgnote.net/?p=2695" title="Railsでstaging環境だけBasic認証する | もっとクールにプログラミング" target="_blank">Railsでstaging環境だけBasic認証する | もっとクールにプログラミング</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ruby on Railsでステージング環境にBASIC認証をかける方法</title>
		<link>https://chomast.com/study/web/basic-auth-in-ruby-on-rails.html</link>
		
		<dc:creator><![CDATA[choma]]></dc:creator>
		<pubDate>Fri, 06 Sep 2013 12:27:38 +0000</pubDate>
				<category><![CDATA[WEB系]]></category>
		<category><![CDATA[Heroku]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<guid isPermaLink="false">http://chomast.com/?p=729</guid>

					<description><![CDATA[「Herokuではじめる 初心者のためのRuby on Rails3入門」を進める途中、「Herokuでステージング環境を作る &#8211; アインシュタインの電話番号」という記事に出会い、「よし、私もHerokuでス [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>「<a href="http://libro.tuyano.com/index2?id=782001" title="Herokuではじめる 初心者のためのRuby on Rails3入門" target="_blank">Herokuではじめる 初心者のためのRuby on Rails3入門</a>」を進める途中、「<a href="http://blog.ruedap.com/2011/02/20/ruby-heroku-staging-enviroment" title="Herokuでステージング環境を作る - アインシュタインの電話番号" target="_blank">Herokuでステージング環境を作る &#8211; アインシュタインの電話番号</a>」という記事に出会い、「<strong>よし、私もHerokuでステージング環境を作ってみよう！</strong>」と思い立ったことは前回の「<a href="https://chomast.com/study/web/heroku-environment-variables.html" title="Herokuの環境変数を確認／追加／変更／削除する方法" target="_blank">Herokuの環境変数を確認／追加／変更／削除する方法</a>」という記事に書きました。</p>
<p>今回の記事ではステージング環境にBASIC認証をかける方法をメモしておこうと思います。</p>
<p>（ステージング環境の作り方を最初から知りたい方は「<a href="https://chomast.com/study/web/heroku-rails-staging-env.html" title="HerokuでBASIC認証が必要なステージング環境を作る（Ruby on Rails）">HerokuでBASIC認証が必要なステージング環境を作る（Ruby on Rails）</a>」へどうぞ！）</p>
<div class="clear"></div>
<p><span id="more-729"></span><br />
</p>
<h2>ステージング環境にBASIC認証をかけるには</h2>
<p>application_controller.rb に</p>
<pre class="brush: ruby; title: ; notranslate">
http_basic_authenticate_with name: ENV['BASIC_AUTH_USERNAME'], password: ENV['BASIC_AUTH_PASSWORD'] if Rails.env.staging?
</pre>
<p>を追記します。</p>
<p>私の環境だとこうなります。</p>
<pre class="brush: ruby; title: ; notranslate">
class ApplicationController &lt; ActionController::Base
  protect_from_forgery   
  http_basic_authenticate_with name: ENV['BASIC_AUTH_USERNAME'], password: ENV['BASIC_AUTH_PASSWORD'] if Rails.env.staging?
end
</pre>
<p>次に、<a href="https://chomast.com/study/web/heroku-environment-variables.html" title="Herokuの環境変数を確認／追加／変更／削除する方法" target="_blank">前回の記事</a>で紹介したやり方で環境変数にユーザー名とパスワードをセットします。</p>
<p>例えば、</p>
<pre class="brush: bash; title: ; notranslate">
heroku config:set BASIC_AUTH_USERNAME=&quot;user&quot; BASIC_AUTH_PASSWORD=&quot;1234&quot; --app ステージング環境にしたいアプリ名
</pre>
<p>とすれば、「ユーザー名：user　パスワード：1234」と設定されます。</p>
<h3>参考サイト</h3>
<p>こちらの記事を拝見しました。ありがとうございました！</p>
<p><a href="http://pgnote.net/?p=2695" title="Railsでstaging環境だけBasic認証する | もっとクールにプログラミング" target="_blank">Railsでstaging環境だけBasic認証する | もっとクールにプログラミング</a></p>
<h2>次回予告</h2>
<p>今回は「ステージング環境にBASIC認証をかける方法」を紹介しましたが、「<strong>結局どういう手順を踏めばBASIC認証を必要とするステージング環境をHerokuに作れるのか</strong>」がこれでは分かりませんよね……。</p>
<p><del datetime="2013-09-08T04:32:44+00:00">なので、次回は<strong>「HerokuでBASIC認証が必要なステージング環境を作る（Ruby on Rails）」</strong>っていう記事を気が向いたら書こうかなと思います。</del></p>
<p>書きました！＞「<a href="https://chomast.com/study/web/heroku-rails-staging-env.html" title="HerokuでBASIC認証が必要なステージング環境を作る（Ruby on Rails）" target="_blank">HerokuでBASIC認証が必要なステージング環境を作る（Ruby on Rails）</a>」</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Herokuの環境変数を確認／追加／変更／削除する方法</title>
		<link>https://chomast.com/study/web/heroku-environment-variables.html</link>
		
		<dc:creator><![CDATA[choma]]></dc:creator>
		<pubDate>Wed, 04 Sep 2013 02:56:10 +0000</pubDate>
				<category><![CDATA[WEB系]]></category>
		<category><![CDATA[Heroku]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<guid isPermaLink="false">http://chomast.com/?p=726</guid>

					<description><![CDATA[Ruby on Railsでアプリを作ってHerokuにpushするのがここ数日のマイブームです！ といっても、「Herokuではじめる 初心者のためのRuby on Rails3入門」という有り難い記事の通りにぼちぼち [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ruby on Railsでアプリを作って<a href="https://www.heroku.com/" title="Heroku" target="_blank">Heroku</a>にpushするのがここ数日のマイブームです！</p>
<p>といっても、「<a href="http://libro.tuyano.com/index2?id=782001" title="Herokuではじめる 初心者のためのRuby on Rails3入門" target="_blank">Herokuではじめる 初心者のためのRuby on Rails3入門</a>」という有り難い記事の通りにぼちぼち進めているだけの身ですが……。</p>
<p>書いてあること以外もちょっとやってみたくなったときに「<a href="http://blog.ruedap.com/2011/02/20/ruby-heroku-staging-enviroment" title="Herokuでステージング環境を作る - アインシュタインの電話番号" target="_blank">Herokuでステージング環境を作る &#8211; アインシュタインの電話番号</a>」という記事を見つけたので、やってみることにしました。</p>
<p>その際に環境変数の設定が必要だったので、調べたことをメモしておきます！</p>
<p>（ステージング環境の作り方を知りたい方は「<a href="https://chomast.com/study/web/heroku-rails-staging-env.html" title="HerokuでBASIC認証が必要なステージング環境を作る（Ruby on Rails）" target="_blank">HerokuでBASIC認証が必要なステージング環境を作る（Ruby on Rails）</a>」へどうぞ！）</p>
<div class="clear"></div>
<p><span id="more-726"></span><br />
</p>
<h2>調べる対象がはっきり分かっているときは公式ドキュメントを見るのが早い</h2>
<p>というわけで、Heroku Dev Centerを見たらちゃんとまとめて載っていました。</p>
<p><a href="https://devcenter.heroku.com/articles/config-vars" title="Configuration and Config Vars | Heroku Dev Center" target="_blank">Configuration and Config Vars | Heroku Dev Center</a></p>
<p>さて、これからずらっと環境変数を操作するためのコマンドを書いていきますが、アプリが複数ある場合にそのまま実行すると「アプリを指定してね」というようなことを言われてしまいます。</p>
<p>そういうときは、各コマンドの最後に</p>
<pre class="brush: bash; title: ; notranslate">--app アプリ名</pre>
<p>を付けます。-は２つ必要なので注意。</p>
<h3>環境変数を確認する</h3>
<pre class="brush: bash; title: ; notranslate">
heroku config
</pre>
<p>これで環境変数の一覧が出ます。</p>
<p>環境変数名を指定して確認したいときは、</p>
<pre class="brush: bash; title: ; notranslate">
heroku config:get 環境変数名
</pre>
<h3>環境変数を追加／変更する</h3>
<pre class="brush: bash; title: ; notranslate">
heroku config:set 環境変数名=セットしたい値
</pre>
<p>今回はRuby on Railsのステージング環境を作りたかったので、</p>
<pre class="brush: bash; title: ; notranslate">
heroku config:set RAILS_ENV=staging --app ステージング環境にしたいアプリ名
</pre>
<p>としました。</p>
<p>config:set の代わりに config:add でも現時点では同じことが出来るみたい？ですが、config:set の方が新しいとのことなのでこちらを紹介しておきます。</p>
<h3>環境変数を削除する</h3>
<pre class="brush: bash; title: ; notranslate">
heroku config:unset 環境変数名
</pre>
<p>config:unset の代わりに config:remove も使えるみたいですが、これも config:unset の方が新しいとのことですので、こちらを載せておきます。</p>
<h2>次回予告</h2>
<p>次回、「Ruby on Railsでステージング環境にBASIC認証をかける方法」！</p>
<p><del datetime="2013-09-06T12:50:35+00:00">やる気があったら数日中に書きます。</del><br />
書きました！（2013年9月6日）＞「<a href="https://chomast.com/study/web/basic-auth-in-ruby-on-rails.html" title="Ruby on Railsでステージング環境にBASIC認証をかける方法">Ruby on Railsでステージング環境にBASIC認証をかける方法</a>」</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>railsサーバーが起動しなくて困ったときのことをハックとともにメモ</title>
		<link>https://chomast.com/study/web/rails-server-error.html</link>
		
		<dc:creator><![CDATA[choma]]></dc:creator>
		<pubDate>Mon, 02 Sep 2013 00:54:14 +0000</pubDate>
				<category><![CDATA[WEB系]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<guid isPermaLink="false">http://chomast.com/?p=721</guid>

					<description><![CDATA[「Herokuではじめる 初心者のためのRuby on Rails3入門」という有り難い記事を見つけたので、この記事に従ってせっせと作業を進めていましたところ、railsサーバーが起動しないという困ったエラーが起きました [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>「<a href="http://libro.tuyano.com/index2?id=782001" title="Herokuではじめる 初心者のためのRuby on Rails3入門" target="_blank">Herokuではじめる 初心者のためのRuby on Rails3入門</a>」という有り難い記事を見つけたので、この記事に従ってせっせと作業を進めていましたところ、<strong>railsサーバーが起動しない</strong>という困ったエラーが起きました。</p>
<p>もっと詳しく言うと、<strong>最初は起動するんですが、いったん停止してもう一度起動しようとすると「already running（既に起動しているよ！）」と言われて起動できない</strong>という症状でした。</p>
<p>同じエラーで困っている誰かのためにもしかするとなるかもしれないので、エラーの原因と解消するためのハックを紹介します。</p>
<div class="clear"></div>
<p><span id="more-721"></span></p>
<h2>エラーの原因</h2>
<p><strong>サーバーを停止してもpid（プロセスID）を保持したままである</strong>ということが今回のエラーの原因のようでした。</p>
<p>サーバーを起動すると<strong>tmp/pid</strong>のディレクトリ内にpidを保持したファイル（server.pid）が出来るんですが、これがサーバーを停止しても残ったままなので「まだプロセスが残っている」と解釈されてしまう模様……。もちろんそのpidのプロセスなんて既に存在しないんですが。</p>
<h2>エラー解消法１：server.pidを削除</h2>
<p><strong>railsサーバーを停止する度にserver.pidを削除</strong>すれば一応動きます。</p>
<p>けど、面倒ですよね。</p>
<h2>エラー解消法２：起動する度に自動でserver.pidを削除する処理を書く</h2>
<p>script/railsの先頭（コメント行の次）に</p>
<pre class="brush: ruby; title: ; notranslate">
begin
  File.delete(File.expand_path('../../tmp/pids/server.pid',  __FILE__))
rescue
  # Do nothing
end
</pre>
<p>という記述を追加すると、停止→再起動を繰り返してもちゃんと動くようになりました！　やったね！</p>
<h2>お世話になった記事</h2>
<p>大変助かりました。ありがとうございました。</p>
<ul>
<li><span><a href="http://d.hatena.ne.jp/icalo35/20130625/" title="Railsを走らせるためにWEBrickを再起動しようとしたらA server is already runningと怒られる件について - 骨を盗んで肉を盗まず" target="_blank">Railsを走らせるためにWEBrickを再起動しようとしたらA server is already runningと怒られる件について &#8211; 骨を盗んで肉を盗まず</a></span></li>
<li><span><a href="http://youtrack.jetbrains.com/issue/RUBY-12835" title="Rubymine 4.5.4 - Server PID not updating in new version of rails 3.2.11. Works in Rubymine 4.5.4 when using rails 3.2.8. : RUBY-12835" target="_blank">Rubymine 4.5.4 &#8211; Server PID not updating in new version of rails 3.2.11. Works in Rubymine 4.5.4 when using rails 3.2.8. : RUBY-12835</a></span></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>カラースキームを作るのに便利なWebサービス自分用まとめ</title>
		<link>https://chomast.com/study/web/web-services-for-color-scheme.html</link>
		
		<dc:creator><![CDATA[choma]]></dc:creator>
		<pubDate>Sun, 01 Sep 2013 06:31:12 +0000</pubDate>
				<category><![CDATA[WEB系]]></category>
		<guid isPermaLink="false">http://chomast.com/?p=713</guid>

					<description><![CDATA[難しい色選びを助けてくれるWebサービスを自分用にまとめておきます！ colourcode 選択済みの色が色空間上のどこに当たるのかが分かるのが良い。同じ彩度、同じ明度の色を選んだりするのに便利です。 HUE 360 マ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>難しい色選びを助けてくれるWebサービスを自分用にまとめておきます！</p>
<p><span id="more-713"></span></p>
<div class="clear"></div>
<h2>colourcode</h2>
<p><a href="http://colourco.de/" target="blank" title="colourcode"><img decoding="async" loading="lazy" src="https://chomast.com/wp/wp-content/uploads/2013/09/colourcode-500x235.png" alt="colourcode" width="500" height="235" class="aligncenter size-large wp-image-715" srcset="https://chomast.com/wp/wp-content/uploads/2013/09/colourcode-500x235.png 500w, https://chomast.com/wp/wp-content/uploads/2013/09/colourcode-200x94.png 200w, https://chomast.com/wp/wp-content/uploads/2013/09/colourcode-300x141.png 300w, https://chomast.com/wp/wp-content/uploads/2013/09/colourcode.png 1363w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<p>選択済みの色が色空間上のどこに当たるのかが分かるのが良い。同じ彩度、同じ明度の色を選んだりするのに便利です。</p>
<h2>HUE 360</h2>
<p><a href="http://hue360.herokuapp.com/" target="blank" title="HUE 360"><img decoding="async" loading="lazy" src="https://chomast.com/wp/wp-content/uploads/2013/09/hue360-500x234.png" alt="HUE 360" width="500" height="234" class="aligncenter size-large wp-image-716" srcset="https://chomast.com/wp/wp-content/uploads/2013/09/hue360-500x234.png 500w, https://chomast.com/wp/wp-content/uploads/2013/09/hue360-200x93.png 200w, https://chomast.com/wp/wp-content/uploads/2013/09/hue360-300x140.png 300w, https://chomast.com/wp/wp-content/uploads/2013/09/hue360.png 1363w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<p>マンセル表色系？　よく分からないですが、いい感じに調和のとれた色を選びやすいです。</p>
<h2>Lavish</h2>
<p><a href="http://www.lavishbootstrap.com/" target="blank" title="Lavish"><img decoding="async" loading="lazy" src="https://chomast.com/wp/wp-content/uploads/2013/09/lavish-500x233.png" alt="Lavish" width="500" height="233" class="aligncenter size-large wp-image-717" srcset="https://chomast.com/wp/wp-content/uploads/2013/09/lavish-500x233.png 500w, https://chomast.com/wp/wp-content/uploads/2013/09/lavish-200x93.png 200w, https://chomast.com/wp/wp-content/uploads/2013/09/lavish-300x140.png 300w, https://chomast.com/wp/wp-content/uploads/2013/09/lavish.png 1341w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<p>画像からカラースキームを自動生成してくれるサービス。<br />
Twitter Bootstrap用ですが、Twitter Bootstrapを使わない場合にも普通に便利です。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>