読者です 読者をやめる 読者になる 読者になる

hako oneshotで何度でもDigdagのsession情報を保持する

以前こんな記事を書きました hatappi.hateblo.jp この記事ではDigdagをDocker上で動かす際にsession情報をDataVolumeにおくことでコンテナを立ち上げ直した時もsession情報を参照できるようにするというものでした これはECS上でも実現することは出来る デー…

Hakoをコンテナインスタンス0の状態からoneshotする

hatappi.hateblo.jp 昨日はHakoで狙ったコンテナインスタンスにたいしてoneshotする記事を書きました このoneshotを僕が使う時はバッチ目的として使用するのでサービスの用にコンテナインスタンスを立て続けるわけではありません もちろん起動し続けたままで…

Hakoで狙ったコンテナインスタンスにoneshotしたい

1週間くらい前からHakoに入門している @hatappiです hatappi.hateblo.jp 以前hako oneshotを使用してサンプルのようなものを動かしました 今回は少しECSのタスク配置を掘り下げてそれをHakoで設定しようというものです ECSにはクラスター内でタスクを起動す…

Rails+webpackerでAngularをさわってみる

出遅れた感はありますが今回はRails5.1からrailsで使用できるようになったwebpackerを使用してみようと思います ※ 2017/05/20時点の情報をもとにかいてます webpackerとは? rails/webpackerはRails5.1からRails配下に入ったyarnでパッケージを管理してくれた…

PackerでDocker Imageを作る時に知ったこと

最近はAWSのAMIやECSでコンテナたてる時に使うDocker ImageをPackerで作成している @hatappiです Packerを使うとAMIにしてもDocker Imageにしても自分の好きなプロビジョニングを使用することが出来るので好きです 今回は例えば元となるdocker imageにはrben…

Hakoを使い始めた

github.com 最近Hakoを使い始めたのでノウハウをためていく Hakoとは?? Dockerコンテナをデプロイするためのツールです Hakoがうまれた背景はECS を利用したデプロイ環境 by Kohei Suzukiによると ECSを利用しつつ、秘匿値の注入や関連するリソースや設定を…

PackerでECRにpushする時はaws ecr get-loginの工程はいらなかった

hatappi.hateblo.jp 以前上記の記事でPackerでDocker Imageを作成する中で最後にDocker Pushする際の情報をawsコマンドを使用してDocker Login用のコマンドを出力してそれを使っていた # 事前にaws configureがすんでいること $ aws ecr get-login --region …

ECSでコンテナインスタンス間でデータボリュームを同期したい時

ECSの話 ECS以前にDockerを使っているとデータを永続化したかったりコンテナ間でデータを共有したいってことがあると思う hatappi.hateblo.jp 今回は前の記事でDigdagのセッション情報をデータボリュームに退避させコンテナを立て直しても続きからをECS上で…

Digdag on Dockerで何度コンテナを立て直しても状態を維持する

digdag入門しはじめた— hatappi (@hatappi) 2017年5月11日 しました DigdagはDocker上でタスクに依存性をもたせて処理を実行するために使用し始めました Digdagを使うことが出来るDocker Imageは今回は自前で用意したものを使用します ※ Digdagのバージョン…

コマンド一発で今いるディレクトリに対してhttpでアクセスしたい

題名通りで時々ローカルにあるファイルを file:// のfileプロトコルではなくてhttpでアクセスしたいってことがありました こんな時はrubyだと library webrick (Ruby 2.4.0) を使うと実現できます 例えば下記のようなhtmlファイルがあったとして index.html <html> <body></body></html>…

PackerでECRにpushする

—– 2017 / 05 / 15 ——- PackerでECRにpushする時はaws ecr get-loginの工程はいらなかった - hatappiのブログ 動作としてこの記事でも問題ないのですが、よりよい方法があったので上記書き直しました 最近は個人でも会社でもPackerでDocker Imageをbuildして…

lsofは指定されたポートを使用しているプロセスを調べるためだけではなかった

普段任意のポートを使用しているプロセスはなんだろうってなった時にlsofを使う $ lsof -i:80 # port:80を使用しているプロセス COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 1 root 6u IPv4 229552 0t0 TCP *:http (LISTEN) おっport:80はngi…

AngularでGithubUserPagesをつくりはじめる

業務でAngularを書いていたがそのプロジェクトから話されたのでAngularをかくことがなくなった ただAngularは個人的には好きなので書き続けようと思ってはいる そこで作ろうと思ったがGithub User Pages User, Organization, and Project Pages - User Docum…

MItamaeでのcookbookの取り込みを少し見やすくする

MItamaeを使っていく中でディレクトリ構成などはItameのBest Practice · itamae-kitchen/itamae Wiki · GitHubを参考にしている . ├── cookbooks │ └── nginx │ ├── default.rb │ ├── files │ └── templates │ └── fluentd │ ├── default.rb │ ├── files │ └…

MItamaeでのrun_commandの挙動が気になる

プロビジョニングとしては業務でも個人でもItamaeを使っていたが最近はMItamaeを使っている github.com MItamaeについては作者のk0kubunさんのItamaeのmruby実装「MItamae」が大体いい感じになった話 - k0kubun's blogをご覧ください 今日はそんなMItameのru…

Pythonの環境を整えよう

普段はRubyを書いているがPythonをさわることになったので環境を整える Rubyの時はrbenvがあったがPythonだとpyenvというものがあるらしい https://github.com/pyenv/pyenv この~~env系はperlのGitHub - tokuhirom/plenv: Perl binary managerとかもあるみた…

Sidekiqで動かしているjobごとにuuidがほしい

普段Railsでキューライブラリでいうとsidekiqを使っている github.com Job自体はRails4.2から入ったActiveJobを使っている # app/jobs/application_job.rb class ApplicationJob < ActiveJob::Base end # app/jobs/sample_job.rb class SampleJob < Applicat…

PrivateGemをCapistranoでbundle installする

普段RailsかいていてデプロイはCapistranoを使用している その中でbundle installする工程があるが通常はrubygemsに公開されているものを使用するので特に意識することがないがGithubのプライベートレポジトリにおいているものを使用する時はちょっと工夫が…

AppleHealthCareデータをNokogiriでパースする

hatappi.hateblo.jp 最近AppleWatchで収集した自分のヘルスケアデータをRailsで処理しはじめた ヘルスケアデータはexport_cda.xmlと書き出す.xmlがある 今回はexport_cda.xmlから心拍数の一覧を取り出すのをゴールにする Rubyでどう処理するか 個人的にもよ…

REMOTE HOST IDENTIFICATION HAS CHANGEDを出さない

業務でも個人でもGCPを使っているのですが、クリックしていくだけでものの数分でサーバーがたつ時代 今日はそんなGCPでGCE(AWSでいうEC2)を使って複数のサーバーにて静的なIPを1つ取得して使いましながらsshで入って作業をしていた configは下記のようなもの…

Rails on Dockerでbinding.pryする

RailsをDocker上で動かして開発する DatabaseはMySQLを使ってそれは別コンテナで立ち上げる これらをうまく扱うためにdocker-compose使ってdocker-compose upで一気に立ち上げられるようにする みたいなのはよく見る docker-compose.yml version: "3" servic…

ヘルスケアデータを半自動でGCSに投入しGCFを通してRailsにPOSTする

※ ここに書かれているものはGCFが beta の時にかかれているもので正式リリースされた時にはかわっているかもしれません hatappi.hateblo.jp 以前ヘルスケアデータをGoogleCloudStorage(GCS)にアップロードするプログラムを作成した そして hatappi.hateblo.j…

GoogleCloudFunctionsにふれる

※ ここに書かれているものは beta の時にかかれているもので正式リリースされた時にはかわっているかもしれません 最近個人的にGoogleCloudPlatformを使用している 今回はpublic betaになったCloudFunctionsにふれる Google Cloud Functions? https://cloud.…

source-map-explorerでファイルサイズ削減

普段Angularを使っている やっぱり気になるのはバンドルサイズ とはいえただ小さくしていこうと闇雲にやっても仕方がないのでまず可視化をする そんな時に役に立つのが github.com このsource-map-explorerを使用することでバンドルされたファイルのsourcema…

Rails5からActiveModel::Errorsにdetailsがはえてた

※ Rails5でのActiveModelの話 class User < ActiveRecord::Base validates :name, presence: true, uniqueness: true, length: { minimum: 2, maximum: 20 } end こんな感じのモデルがあったとして > user = User.new > user.tap(&:validate).errors.message…

CircleCIでnodeのout of memoryが出た時

GitHub - angular/angular-cli: CLI tool for Angular を使用してAngularアプリケーションの開発をしている中で CircleCIでテストなどをパスしたらこのアプリケーションをサーバーにデプロイみたいなことをしている。 # AoTコンパイルを使用してビルドする $…

もう/dev/nullってかかない

serverengine/daemon.rb at master · treasure-data/serverengine · GitHub serverengine gemのソース読んでる時に STDIN.reopen(File::NULL) が出てきてFile::NULLってなんだろうと思って出力したら [1] pry(main)> File::NULL => "/dev/null" だった! 知ら…

yarnにupgrade-interactiveがあるなんて知らなかった

仕事でも個人でもフロント周りを扱う時にはyarnを使っている 例えばAngularを使う時はhttp clientやformやrouterなどが公式で提供されておりバージョンがあがるとサポートされるすべてのライブラリのバージョンがあがる いつもは sed とか一個一個をupgrade…

ヘルスケアデータを半自動でGCSに投入する

ここ最近クロスバイクで通勤していて、ただ通勤してるだけではつまらないので、AppleのヘルスケアにAppleWatchを通して走った距離や消費したカロリーを蓄積している ただ現状は蓄積してるだけなので何か出来ないかと考えているけど一旦GCSにおく 今回はGCSに…

Railsでhttps化したは良いけどリダイレクトでちょっとハマった

個人開発でhttps化する時はLet'sEncryptを使ってる やる毎に設定方法忘れるのでitamaeでrecipe pluginとかも書いてる github.com 今回はnginxを使ってリバースproxyしてrailsを動かしている ただRailsのリダイレクトを使ってしまうとhttpになってしまって困…

Railsでindexを消そうとしたらコケた

railsの4.2.6のmigration周りの話 class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :name t.integer :age t.timestamps end add_index :users, :name end end 仮に上記のようなテーブルを作成してnameindexを…

Railsでこの時だけ特定のバリデーションを検証したくないときしたこと

今回はRails v5.0.2を使用しています Railsでmodelにバリデーションをつけるがこの時だけはoffにしたいという時がある。 例えば特定のバッチ走らせる時とか? 例えば今回は下記のようなバリデーションを定義していたとして class Item < ApplicationRecord #…

Railsのログになんで色ついてるかなんて気にしたことなかった

会社でも個人でも使っているRails macで開発をしていて log/development.log をtailしてみると綺麗に色がついたログが流れてくる ただこれを本番とかで使用しているLinux上で less log/development.log で見たら文字化けっぽくなってた 解決策としては # con…

logrotate 備忘録

logrotate周りの設定 /work/hoge/log/*.log { daily rotate 7 compress } なんかこんな感じ設定する時にあれ?これ何意味するんだけって?毎回調べてる気がするのでメモ 設定一覧 http://www.linuxcommand.org/man_pages/logrotate8.html 上記にかいてあるが…

Dockerイメージを置く場所としてContainer Registryを使う

DockerのレジストリとしてはDockerHubが使われるがプライベートが良いよねーでAWSユーザーの人はECRを使うことが多いのかなと思うが GCPだってある。それがContainer Registry(GCR) 個人で開発しているものをGCP上にのせているのでGCRを使っている この記事…

CircleCI x SchemaSpyでER図を新しくし続ける

こんにちは @hatappi です 今回はCircleCIネタです 以前CircleCIを使って下記のようなものを作っていました qiita.com 何かとCircleCIにはお世話になってます 業務などでER図やテーブル定義書などを書く機会あると思います Excel? Google Sheets? MySQL Work…

Kuroko2でReadOnly権限を追加するgemを作りました

まずKuroko2とは??やKuroko2の素晴らしさには過去書いた下記の記事を見てもらえると hatappi.hateblo.jp Kuroko2に関しては画面上からScriptを定義したり定期実行をしてその実行ログなどが見られる ただ権限管理のような機能は現状ない。第三者のアクセスに…

Job管理をAirflowからKuroko2に乗り換えたら幸せになった

Speeeアドベントカレンダー 2日目の記事です。 前日の記事は@hiragramのTravisCIでiOSの依存ライブラリの更新を自動化する - TECHNICA Speee engineer blog エンジニアの@hatappiです。 前年度のアドベントカレンダーでこんな記事書いてました。 hatappi.hat…