くりにっき

フルスタックキュアエンジニアです

Slackからのリクエストを処理するwebhookを1回だけ実行したい

最近そういうことを社内で何回か書いたのでメモ 前提 なぜ重複投稿されるか? 重複実行対策 1. 実行内容を一定時間キャッシュする 2. 排他ロックをする 3. サーバ側での並列処理を捨てる 前提 Slackには特定のイベントが発生した時に任意のwebhookにリクエス…

【CVE 2019-16892】rubyzip v1.3.0にアプデする時は絶対validate_entry_sizesを設定してください

tl;dr; タイトルが全てです 前置き GitHubのSecurity Advisoryで下記のようなPRがきていると思います このPRをマージすればリポジトリのアラートも消えて問題なさそうに見えるのですが、実際にはgemのアップデートだけでは不十分です CVE 2019-16892について…

circleci-bundle-update-prをGitHub Actionsで動かせるようにした

投げたPRはこちら github.com 動機 とある事情でCI用途のパーソナルアクセストークンを撲滅したかった件の一環です。 解説 GitHub Actionsはジョブ実行時に自動でアクセストークンをセットしてくれて便利なんですが、API実行の許可は付与されていても git pu…

【CVE-2019-10429】 Jenkins GitLab Logo Plugin v1.0.4をリリースした

作ったきり特にメンテしていなかった Jenkins GitLab Logo Plugin ですが、Jenkinsチームから脆弱性の報告を受けたので修正しました。 jenkins.io https://jenkins.io/security/advisory/2019-09-25/#SECURITY-1575 にも書いてますが、GitLabのprivate token…

GitLab CIでTerraformを動かす

GitLab CIでTerraformをいくつか動かしてるのですがGitLab CI独自の機能をうまく使うといい感じにCIができるようになったのでメモ 前提 ベースになるジョブをincludeで別リポジトリから読み込むと便利 include導入前 include導入後 メリット 上記templateで…

CIマニアから見たGitHub Actions(Beta)の使い所

1ヶ月くらい使って勘所が見えてきたのでメモ メリット 1リポジトリ辺り20並列までジョブを並列実行できる ジョブ実行時はアクセストークンが勝手に設定されている マトリクステストがやりやすい 実際にGitHub Actionsに移行したプロダクト zatsu_monitor act…

zatsu_monitor v1.0.0をリリースした

リリースノート https://github.com/sue445/zatsu_monitor/releases/tag/v1.0.0 Breaking changes zatsu_monitorは今まで 0.3.3 のようなtagをつけていたのですが、Go modulesがprefix付きのtagを推奨していたので *1 、それに準拠して v1.0.0 のようなtag名…

よいコミットメッセージを書くために心がけていること

よいコミットメッセージとはどういうものだろう? - chiastolite’s blog に対するアンサーソングです chiastolite.hatenablog.com 必要であればWhyを補足するためのContextを書く 元エントリだとコミットメッセージの話だったけど僕はPRで実践してもいいと思…

condo3と地域.rbカレンダーを作った

夏の進捗です。 令和の夏、進捗の夏— sue445 (@sue445) 2019年8月11日 condo3 condo3について モチベーション ユースケース 技術的なこと 技術の選択理由 開発時に苦労したこと 名前の由来 地域.rbカレンダー 技術的なこと メリット 8/15 16:50追記 condo3 c…

AWS Lambda CI/CD俺的ベストプラクティス

Lambdaで動くアプリやフレームワークの事例はよく見るのですが、LambdaのCIやCDにしやすさに主眼をおいた紹介はあんまり見ないので現時点での自分のベストプラクティスのメモです tl;dr; このエントリで書いていること Lambdaをデプロイするのに肝になること…

go-doorkeeperを作った

github.com go-doorkeeperについて golangで Doorkeeper API を利用するためのAPIクライアントです 最近golangでDoorkeeperのAPIを叩きたい需要が発生したんですが誰も作ってなさそうだったので作りました。*1 使い方 READMEからコピペ package main import …

プリッカソン8でえもいwebhookを作った #prickathon

prickathon.connpass.com えもいwebhookとは? リポジトリ 技術的なこと 特徴 スライド版 えもいwebhookとは? emoji notify webhook、略してemoy(えもい)webhookです 何番煎じか分からないですがSlackにemojiが登録された時に通知するwebhookです リポジ…

【追記あり】Docker Hubのrubyイメージで急にbundle installできなくなった時の対応

tl;dr; あらすじ エラー内容 修正方法 CircleCIの場合 GitLab CIの場合 対応PR 追記:2019/7/13 tl;dr; export BUNDLE_PATH__SYSTEM=false をつける あらすじ 会社で 今日のアニメボット を動かしているんですが、7/11夕方までは動いていたのに7/12分から急…

ご報告

7月でピクシブに転職して丸1年になりました。 sue445.hatenablog.com 現場からは以上です。

Code Climate Test Reporter用のCircleCI Orbsを作った

https://circleci.com/orbs/registry/orb/sue445/codeclimate github.com 経緯 使い方 Orbでやってること 小ネタ 経緯 自分のリポジトリの .circleci/config.yml にあった野良commandをコピペ運用するのが嫌だったというのと、既存のCode Climate系のOrbsを…

awscli-allを作った

awscli-allについて 作った理由 余談1 余談2 awscli-allについて awsのクライアント全部入りのDockerイメージです https://hub.docker.com/r/sue445/awscli-all/ github.com 作った理由 CIから AWS SAM のデプロイをしたかったんですが、AWSは公式のDockerイ…

rubicure v1.2.1で平成&令和対応をした

先日 スター☆トゥインクルプリキュア でキュアコスモが発表されました 【スター☆トゥインクルプリキュア 】5人目のプリキュア、キュアコスモのビジュアルを公開!その登場と活躍をお楽しみに!声を担当する上坂すみれさんからメッセージも届きました!https:…

gitlabci-bundle-update-mr v0.3.0をリリースした

gitlab.com changelog https://gitlab.com/sue445/gitlabci-bundle-update-mr/blob/master/CHANGELOG.md#v030 v0.3.0の新機能 GitLab CIが他のCIと比べて優れてる機能の1つにMerge when pipeline succeeds(CIが通ったら自動でMergeRequestをマージする)が…

rubicure APIを止めた

あけましておめ令和(挨拶) https://rubicure.herokuapp.com/ で動いていたrubicure APIですが、3月くらいから毎分のようにDDosがきていてFree Dyno hoursを圧迫してたので止めました。 リポジトリは残してるので使いたい人はDeploy to Herokuで自分のアカ…

Rails 5.2.2.1にしたらErrno::ENOENT: No such file or directoryのエラーになった

Railsのsecurity fixが出ました weblog.rubyonrails.org 個人アプリ2つアップデートしたんですが、どっちもRails 5.2.2だし余裕だろうと思ったら片方だけ下記のようなエラーになってちょっとハマったのでメモ。 + ./bin/rails db:create (snip) Errno::ENOEN…

Dependabotの設定ファイルを置くようにした

なにげなくDependabotを見てたらリポジトリに .dependabot/config.yml を置けることを気づいたので置いてみた https://dependabot.com/docs/config-file/ 設定ファイルを置くメリット いつも使ってる設定晒し 解説 default_assignees allowed_updates autome…

gitlabci-bundle-update-mrを作った

gitlab.com rubygems.org 経緯 どんなgem ? 使い方 0. 事前準備 1-A. .gitlab-ci.ymlに直接書く 1-B 2. スケジューラに登録する 今回のgemを作るにあたって 経緯 試験勉強を始めるとついつい部屋の掃除をしちゃいますよね? (訳:RubyKaigiの資料の現実逃避…

pixiv TECH SALONで「スペックを上げてクラウドで殴るCI」という発表をしました #pixivTECHSALON

昨日 pixiv TECH SALON という完全招待制のイベントで「スペックを上げてクラウドで殴るCI」で発表したので、その時のスライドを公開します。 他の人たちのスライドも別途まとめて公開される予定ですが、いったん自分の分だけ先に出します。 おまけ:発表中…

git-updateがクソ便利

git

git-sync にインスパイヤされて作りました qiita.com ソースコード gist.github.com モチベーション 例えばトピックブランチで作業してて、リポジトリのmasterが更新されたから最新のmasterを取り込んでrebaseするってことよくやると思うのですが、その時に…

Travis CIのビルド終了後にPixelaで草を生やす

mike-neck.hatenadiary.com ちょっとしたことですが、 pixela-java-client の CI をまわした回数を Pixela で数えてみることにしました。 に影響されてやってみました。たぶんTravis CI以外でもできるはず tl;dr; 前置き 手順 グラフとwebhookを作成 .travis…

僕がRubyKaigiのCFPを書く時に意識したり実践したこと

Your proposal for RubyKaigi 2019 has been accepted!!!!1111111111Thank you for @bash0C7 and @igaiga555 for reviewing!!!!!!#RubyKaigi pic.twitter.com/yJqZijEkhi— sue445 (@sue445) February 9, 2019 というわけで RubyKaigi 2019 のCFPが採択されま…

capistrano-itamae v1.0.0をリリースした

capistrano-itamae (1.0.0): Run itamae in capistrano task https://t.co/sIhBc1KCCG— RubyGems (@rubygems) February 7, 2019 github.com リリースノート https://github.com/sue445/capistrano-itamae/blob/master/CHANGELOG.md#v100 非互換の変更 itamae…

第1回CircleCI ユーザーコミュニティミートアップに登壇しました #circlecijp

第1回CircleCI ユーザーコミュニティミートアップ で登壇した時の発表資料です。 circleci.connpass.com 発表資料 スライド板 sue445.github.io markdown版 github.com いいはなし Orbsをヘビーに使っているってことで中の人からOrb(球)をもらいました。あ…

circleci-ruby-orbs v1.4.0をリリースした

https://circleci.com/orbs/registry/orb/sue445/ruby-orbs https://github.com/sue445/circleci-ruby-orbs リリースノート 使い方 エピソード 余談 リリースノート https://github.com/sue445/circleci-ruby-orbs/blob/master/CHANGELOG.md#v140 今まで Gem…

index_shotgun v1.0.0とactiverecord-simple_index_name v1.0.0をリリースした

pixela v1.0.0 に引き続き今年2つ目と3つ目のメジャーバージョンアップ。 index_shotgun (1.0.0): duplicate index checker https://t.co/F8uFjJYtGp— RubyGems (@rubygems) 2019年1月6日 activerecord-simple_index_name (1.0.0): Shorten index name https…