TECH

Rails のテスト実行時間を60分から6分に短縮するまで
2017.10.24
TECH

こんにちは。SmartHR のエンジニアの @meganemura です。 SmartHR はひとつの Rails アプリのリポジトリで開発が進められており、GitHub への Pull Request 作成などを契機に CircleCI でテストの実行や静的解析によるコード品質のチェックを継続的に実施しています。 しかし、プロダクトの成長と共に CI の実行時間が増え、またエンジニアの増加につれ CI のキュー待ちの時間も増え、実行完了までの時間が日々増え続けています。 その状況に対して、 Buildkite という CI サービスを利用して CI 環境の速度を改善した…

SmartHR 開発チームで ISUCON7 に参加しました
2017.10.23
TECH

こんにちは! SmartHR VPoE の芹澤です。 先日開催された ISUCON7 に、弊社開発メンバーの芹澤、神崎、藤井の三人で参加しました! その内容を簡単にご報告いたします。 ISUCON とは ISUCON とは、テーマとして与えられた Web サービスを決められたルールの中で高速化チューニングし、その成果を競い合う大会です。 ベンチマークテストが投げてくるリクエストを多く処理すれば処理するほどスコアが上がり、その最終スコアで順位が決まります。 毎回テーマは違うのですが、中心となるのはアプリケーションコードの改善で、現場で使えるテクニック満載の内容となっ…

【保存版】自腹でつくる広島グルメマップ #RubyKaigi2017
2017.09.12
TECH

こんにちは!SmartHR人事の勝股です。 SmartHRはRubyKaigi2017に Platinum スポンサーとして協賛しています。 9/18(月)〜20(水)に開催される「 Ruby Kaigi 2017 」にプラチナスポンサーとして参加します!広島出身、副社長内藤の地元開催を祝して、期間中より楽しめるよう、周辺のグルメマップをお配りする予定です( ・ㅂ・)bhttps://t.co/PRzbKxJhBI — SmartHR (@smarthr_jp) 2017年8月10日 当日はブースも出展するので「来てくれた人になにかいいノベルティを提供したい!…

リニューアルした SmartHR ロゴの作り方
2017.08.07
TECH

こんにちは!デザイナーの渡邉です。 8/8にSmartHRのロゴをリニューアルしました! 以前にもOSSのロゴ作成に関してのブログを書きましたが、今回もまたどのようにリニューアルしたのか、その裏側をご紹介します。 これからロゴをリニューアルされる方のご参考の一つになれば幸いです。 ロゴデザイン リニューアルの背景 サービスの成長にあわせてリニューアル SmartHRの公開から約1年半。プロダクトの成長に伴い、ユーザー企業の規模・業種も一気に拡大してきました。 最近では1,000〜10,000名規模の企業さまでの導入も増え、業種もITだけでなく、飲食、アパレ…

CircleCI 2.0 移行に潜む闇
2017.07.14
TECH

こんにちは。SmartHR SRE チームの吉成です。 先日 CircleCI 2.0 移行の記事を書きましたが、CircleCI 2.0 に移行するのは一筋縄ではいきませんでした。 本日は設定の変更や Docker 利用の影響で行き詰まったことを紹介し、その解決方法を共有したいと思います。幾つかは前回の記事でも軽く触れたものになりますが、参考になれば幸いです。 カスタムイメージ置き場の闇 2.0 から自身で CI に利用したい Docker イメージをあらかじめ作ることで、ビルド中の動作環境を用意する時間を短くできるようになりました。 弊社では Ruby on Ra…

CircleCI 2.0 が正式リリースされたので早速移行しました
2017.07.12
TECH

こんにちは。SmartHR SRE チームの吉成です。 昨日、CircleCI 2.0 が正式リリースされましたね! 弊社では現在、CI 環境として CircleCI を利用しており、その上で RuboCop や RSpec、npm を利用したフロントエンドのテストから AWS 上の環境に対するデプロイまでを行っています。 β版のため移行をためらっていたのですが、待ちに待った正式版ですので、早速移行しました。 1.0 と 2.0 の違い はじめに、 2.0 になって何が変わったのかをざっくりと紹介します。 実行環境の違い 1.0 では予め用意された Ubuntu 環…

ECS を使った PR ごとの検証環境をバージョンアップした話 〜システム構成編〜
2017.06.02
TECH

こんにちは。SmartHR SRE チームの吉成です。 先日 「ECS を使って PR ごとに検証環境を用意した話」というテーマで登壇しました! という記事で紹介したとおり、 SmartHR では GitHub のプルリクエストごとに動作確認のできる環境を用意しています。 しかし、以前発表した段階ではまだまだ不足している機能や不具合があり、一時的に利用を中止していました。 今回、不足機能の拡充を機にその構成をガラッと変更しましたので、改めて紹介します。 背景 前回の構成は以下のようなものでした。 1つの PR ごとに SmartHR(Rails), MySQL, R…

第3回 Rails Sprocketsとのお別れの仕方 – CircleCI編 –
2017.05.17
TECH

こんにちは! SmartHRのエンジニア、溝上といいます。 今回は通常の業務と合わせて行っている開発環境の改善、その一部である Sprockets 絶ちを紹介していけたらと思います。 前回 前回やったことまとめ CoffeeScript & Babelの開発環境を用意 Karmaを利用したテスト環境を作成 ESLint, Flowも導入 decafjsを使ってトランスパイルしていける状態を作成 今回はCircleCIでのテストについて SmartHR では CircleCI を使った テストを行っています。 せっかくフロントエンド用のテスト環境を作った…

Sidekiq アンチパターン: 序
2017.04.20
TECH

こんにちは どうも、ぷりんたいです。さいきん、 Mastodon がTwitter廃人たちの間で大ブームですね。 今日はそんな Mastodon の話……ではなく、 Mastodon でも採用されている Ruby 製のバックグラウンドジョブフレームワーク Sidekiq を軸に非同期処理の話をします。 ターゲット読者は、 Sidekiq で非同期処理をはじめたばかりの入門レベル程度の方を想定しています。 アンチパターン アンチパターンとは、一言でいえば「よくないやり方」のことです。 みなさんの現場でも当座をしのぐことだけを目的として、エイヤ設計やソイヤ実装をして…

JP_Stripes に参加しました!
2017.04.18
TECH

先月の3月22日に Stripe のユーザコミュニティである JP_Stripes に参加しました! Stripe の新機能の紹介はもちろん、Stripe を導入時のノウハウや、他決済代行業者との比較や、サービスでどのように料金プランの設定を行ったのかなど、普段中々聞けないプレゼンテーションがありとても充実したイベントとなりました。 月額課金サービスをボクはこう設計した - ボクココ Kibela meets Stripe - Stripeを使って新規SaaSを立ち上げた話 #JP_Stripes // Speaker Deck Stripe とは サービス…

12