2015-07-28 (火)

【保存版】自前で継続的 bundle update を導入する方法 [Ruby][CircleCI][Heroku]

俺得な保存版記事です。設定するたびにやり方を思い出すのが面倒になり。

1. CircleCI の設定


GitHub の Personal access tokens のページで token を作成し、
CircleCI の Project Setting -> Environment variables に
GITHUB_ACCESS_TOKEN という名前で追加します。

CircleCI の URL は以下になります。

https://circleci.com/gh/{ユーザ名}/{リポジトリ名}/edit#env-vars

続きを読む

2015-01-25 (日)

CircleCIを使ってbundle updateを定期実行するHerokuアプリを作った [CircleCI][Ruby][Heroku]

CircleCIを使ってbundle updateを定期実行する - Qiita

こちらの「1. CircleCIを起動する」のシェルスクリプトをRubyスクリプ
トにしてみました。Herokuボタンで簡単に設置できます。

masutaka/ci-build-trigger

A trigger of bundle update



続きを読む

2015-01-11 (日)

Herokuにberkshelf-apiサーバを立ててみた [Heroku][Chef][Berkshelf][GitHub]

前回[2015-01-09-1]はBerksfileにGitリポジトリを直接書きましたが、レ
シピの依存関係の解決ができませんでした。

berkshelf-apiサーバを立てるとその問題が解消されるようなので、
Herokuにberkshelf-apiサーバを立てて検証してみました。

続きを読む

2014-10-25 (土)

ローカルの静的コンテンツをHerokuに置き始めた [Heroku]

他の人に見せたくない静的コンテンツは、ローカルのnginx経由で見られ
るようにしていたんだけど、いろいろ面倒になってきたのでHerokuに置き
始めた。

やり方は簡単で、以下のリポジトリのHerokuボタンを押すだけ。

masutaka/heroku-static-contents

public以下に.htmlとかをcommitして、git push heroku masterすればOK。
BASIC認証も使えて便利。

2014-08-09 (土)

『パーフェクトRuby on Rails』のサンプルアプリにHerokuボタンを付けてみた [Heroku][GitHub][Book][Rails]

画像

Herokuボタンがリリースされました。
Heroku|Introducing Heroku Button

詳しくはnaoyaさんの記事をどうぞ。
Deploy to Heroku / Webアプリケーションのポータビリティ再び - naoyaのはてなダイアリー

ざっくり言うと、これだけでGitHubの任意のブランチをHerokuにデプロイ出来ます。

- GitHubにHerokuで動くコードを置く
- 上記リポジトリのrootにapp.jsonを追加する
- README.mdにHerokuボタンを追加する

もちろんHerokuアカウントは必要です。

続きを読む

2014-07-10 (木)

『パーフェクトRuby on Rails』を全部読んで写経してHerokuにデプロイした [Book][Rails][Heroku]



先月からRailsをガッツリ使うプロジェクトに入ったので、結構気合い入れて
読みましたよ。

Railsはそこそこ分かっているつもりですが、ネットの知識のみでまとまっ
た学習をしたことがなかったので、タイミングの良い発売でうれしかった
です。なんて運がよいのだろう。

続きを読む

2014-01-19 (日)

Herokuにデプロイした時にChatWorkに通知するrakeタスク作った [Heroku][Rake][ChatWork][Rails]

使っているのはこんな環境です。
- HerokuにRailsのProductionとStaging環境がある。
- Stagingで任意のブランチを動かしたいことがある。

今までHerokuにデプロイする時はこうしてましたが、

$ git push prod master

今後はこのようになりました。

$ bundle exec rake deploy:prod


Dryrunも出来ます。

$ bundle exec rake deploy:prod DRYRUN=1


Stagingで任意のブランチを動かしたい時はこちら。

$ bundle exec rake deploy:staging BRANCH=<any-branch>


続きを読む

2013-04-14 (日)

通知特化型Twitterアプリ「29hours」をHerokuで動かせた [Heroku][Ruby]

画像

通知特化型Twitterアプリ「29hours」をつくってHerokuで動かしているお話 - 準二級.jp

昨日というか今朝Heroku力がついたおかげで[2013-04-14-1]、案外簡単に
できました。

settings.ymlはだいたいこんな感じ。

twitter:
  my_screen_name:
    masutaka
  consumer_key:
    XXXXXXXX
  consumer_secret:
    XXXXXXXX
  access_key:
    XXXXXXXX
  access_secret:
    XXXXXXXX
matchers:
  keywords:
    - masutaka
    - マスタカ
    - 増田
notifiers:
  imkayac:
    username:
      XXXXXXXX
linker:
  http


https://dev.twitter.com/apps からアプリを作って、consumer_keyや
consumer_secretなどを埋める必要があります。やったことない人は気づく
まで時間がかかるかもしれません。

普段使っているTweetAtokは個別ツイートのURLスキーマは対応してなさそ
うでした。残念。

以下、記事の見出しと対応してます。

動かす


ここまで来ると、ローカルで普通に動きます。タイムラインがだらだら流
れていくことと、普段から使っているim.kayac.comから通知が来ることを
確認しました。

あ、今朝と同じようにgemはvender/gems以下にインストールして動作確認
しました。[2013-04-14-1]

Heroku に乗せる


ここはちょっとハマりました。Dropboxにsettings.ymlを置きリンクを有効
にしたんですが、29hoursは起動してないようでした。

ログを見るため、Papertrailを入れようと
% heroku addons:add papertrail:choklad
を実行したら下記のエラーメッセージ。Freeプランでもクレジットカード
情報が必要みたいです。

! Please verify your account to install this add-on
! For more information, see http://devcenter.heroku.com/categories/billing
! Verify now at https://heroku.com/verify


登録してもHerokuが混雑しているのか、エラー画面に飛ばされました(再度
Appsのページに行ったら、Papertrailがインストールされてたので良しと
した)。

ログを見たら、Rubyのパースエラーが発生してました。ためしに
% heroku config:unset SETTINGS_FILE_PATH
したあと、settings.ymlをcommitしてHerokuにpushしたところ、無事動きました!
(私以外は見られないリポジトリだから問題ないと思う)

まとめ


これで通知のためだけに動かしていたTiarraのTIG(TwieetIrcGateway)は
要らなくなるのかも。そもそも最近IRC使ってないなあ。。

@june29さん、ありがとうございました!

おまけ


Herokuではworkerを有効にすると、Procfileを参照するのですね。
このように書いてありました。なるほど。

worker: bundle exec ruby 29hours.rb --production


これはちょっとハマったw

(誤) $ heroku restart –app アプリ名
(正) $ heroku restart –-app アプリ名


追記(2013-04-15):
上記restartの件は、修正して下さいました。

2013-04-14 (日)

やっとHerokuデビューできた [Rails][Heroku]

画像

Railsで簡単なアプリをscaffoldで作ってHerokuにデプロイするまで #heroku #PostgreSQL #Rails #Ruby - Qiita

Rails力がそこそこついてきたので、こちら試したら案外簡単にできました。
年末に別な記事で試した時はギブアップしたのですが。orz

Herokuアプリ: http://sample-masutaka.herokuapp.com/
GitHub: https://github.com/masutaka/rails.sample/

基本、記事の通りで大丈夫ですが、最初からRailアプリを作ったことがな
かったので、ちょっとだけハマりました。

ローカルでRailsアプリ作成


アプリ名のディレクトリ(今回はsample)作って、cdしました。

次にRails gemをインストールしました。Gemfileを作って"bundle
install"実行です。今回は.bundle/configを作って、ローカルのgemは
vender/gems以下にインストールされるようにしました(Heroku上では強制
的にvendor/bundle以下にインストールされるみたい)。
https://github.com/masutaka/rails.sample/commit/e69e24db750b97576a67d62c1e526b8dc57e5f09

最後に"bundle exec rails new ."を実行すれば、Rails環境がセットアッ
プされます。"Could not find gem 'jquery-rails"というエラーが発生し
ましたが、"bundle install"したら問題なさそうでした。
https://github.com/masutaka/rails.sample/commit/fffc748ce3ddf86c286b0ec3515ddc6792b1061c

この状態で"./script/rails s"すると、http://localhost:3000 にアクセ
ス出来るようになります。

初めてのHerokuへのデプロイ


記事の通りに"heroku create sample-masutaka"でアプリを作り、
git push herku masterすればデプロイ完了です。

ちなみにアプリを作ると"git remote add heroku .."されるため、
"git push heroku master"出来るようになります。
"git remote -v show"で確認出来ますね。

記事の通りにDBを指定しなかったので、sqlite3関連でエラーになってしま
いました。Herokuではsqlite3使えないのですね。production環境のDBを
postgreSQLにして解決しました。
https://github.com/masutaka/rails.sample/commit/a73fa5cd3b10dd8a47d1daf6b8483051db257374

http://sample-masutaka.herokuapp.com/ にアクセス出来ました。

簡単なブログアプリを作る


以下を実行するだけで http://localhost:3000/articles から記事を書け
るようになります。Railsはすげーなあ。

% ./script/rails g scaffold article title:text text:text
% bundle exec rake db:migrate

https://github.com/masutaka/rails.sample/commit/f4ad98c41877341c410f1ece50b83e459fe1a417

ブログ機能をデプロイ


問題なさそうなので、"git push heroku master"でHerokuにデプロイしま
したが、PostgreSQL関係でエラーになってしまいました。
config/database.ymlのproductionがsqlite3のままなので当然ですね。

herokuでRails3.2のアプリケーションを動かす - のほほん女子大生のインタラクション日記

こちらを参考に設定しました。DBのホスト名やユーザ名、パスワードはア
プリのResourcesにあるHeroku Postgres Dev :: Grayに書いてあります。
https://github.com/masutaka/rails.sample/commit/bcd3d018ecb14a6354a504648565c9afd3276064
(当然ですが、pushしたcommitでは伏せ字にしてます。)

http://sample-masutaka.herokuapp.com/articles にアクセスしてもまだ
エラーになります。migrationしてないからですね。
"heroku run rake db:migrate"したらアクセス出来るようになりました。
やった!

この記事に言及しているこのブログ内の記事

最終更新時間: 2017-06-29 08:15

検索
最近の話題
- 2017-06-29
  Kubernetes Meetup Tokyo #5 に行ってきた #k8sjp
- 2017-06-26
  『プログラマのためのGoogle Cloud Platform入門』を読んだ
- 2017-06-02
  AWS Summit Tokyo 2017 に行ってきた #AWSSummit
- 2017-05-28
  GitHub Organization をメンテナンスするスクリプトを作った
- 2017-04-29
  Docker ではないコンテナ systemd-nspawn を使ってみた
- 2017-04-16
  CircleCI 2.0 で capistrano デプロイしてみた
- 2017-04-15
  CircleCI 2.0 をローカルで実行できる circleci コマンドとは何者か
最近追記された記事
- 2017-04-29-1 (60日前)
- 2017-04-13-1 (74日前)
- 2017-04-13-1 (76日前)
- 2017-03-02-1 (118日前)
- 2017-02-25-1 (123日前)
- 2017-02-21-1 (127日前)
- 2015-06-07-1 (133日前)
- 2016-10-19-1 (142日前)
- 2016-01-01-1 (154日前)
- 2015-01-04-1 (163日前)
カテゴリ
- Anthy (3)
- Apache (11)
- Apple (1)
- ATOK (4)
- au (3)
- AWS (18)
- Bazaar (1)
- Berkshelf (2)
- BigQuery (1)
- BitBar (3)
- Book (86)
- Boxen (2)
- Bugsnag (1)
- C (26)
- capistrano (4)
- chalow (56)
- ChatWork (1)
- Chef (17)
- Chrome (3)
- Chromecast (1)
- CircleCI (10)
- Comics (2)
- Cooking (10)
- cvs (15)
- cygwin (12)
- D3.js (1)
- Debian (55)
- Docker (3)
- E-mail (8)
- elasticsearch (4)
- Emacs (219)
- Emacs講座 (10)
- English (4)
- feedforce (7)
- fetchmail (3)
- Firefox (20)
- Fluentd (4)
- ftp (1)
- Game (20)
- GCP (1)
- Gem (5)
- Git (9)
- GitHub (16)
- Go (5)
- Google (1)
- gpg (4)
- GrowthForecast (7)
- Health (3)
- Heroku (9)
- Homebrew (10)
- HTML (6)
- iBook (1)
- iPhone (15)
- IRC (1)
- Jenkins (8)
- JS (1)
- Karabiner (1)
- KeySnail (3)
- Kibana (1)
- Kindle (1)
- Kubernetes (1)
- Langrich (7)
- LDAP (6)
- Life (19)
- Linux (6)
- Mackerel (1)
- Mew (18)
- MongoDB (1)
- Mozilla (19)
- Music (1)
- MySQL (1)
- NAS (4)
- nginx (6)
- NHK (1)
- Node (1)
- ntp (4)
- OOP (1)
- OpenID (2)
- openssl (1)
- Opera (2)
- OSX (41)
- Perl (14)
- PHP (19)
- PostgreSQL (1)
- procmail (4)
- Programing (3)
- Puppet (1)
- Python (2)
- Rails (12)
- Rake (2)
- RaspberryPi (1)
- RedHat (29)
- Redmine (3)
- Rspec (1)
- Ruby (49)
- samba (3)
- screen (7)
- sed (5)
- serverspec (6)
- sh (8)
- Slack (2)
- Solaris9 (22)
- Spring (2)
- ssh (4)
- StatusNet (21)
- svn (12)
- Swift (1)
- Tablet (1)
- tdiary (3)
- Twitter (14)
- Twmode (6)
- Ubuntu (5)
- UNIX (102)
- vagrant (8)
- Video (21)
- vim (1)
- Wercker (9)
- Windows (29)
- Wine (3)
- XML (11)
- XP (1)
- zsh (25)
- インストールメモ (33)
- クイックシェイプ (12)
- ネタ (15)
- 勉強会 (15)
- 携帯 (6)
- 正規表現 (4)
過去ログ
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
Google+