Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
sue445謹製社内ツール十一選 / su445 in-house tools #pixivd...
Search
sue445
April 30, 2021
Technology
600
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
sue445謹製社内ツール十一選 / su445 in-house tools #pixivdevmeetup
エンジニア勉強会 in PIXIV DEV MEETUP (
https://conference.pixiv.co.jp/2021/dev-meetup
)で喋ったLT資料です。
sue445
April 30, 2021
More Decks by sue445
See All by sue445
sue445's proposals 2026
sue445
0
190
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
0
240
Create Ruby native extension gem with Go
sue445
0
870
Road to RubyKaigi 2025 #rubykaigi2026_saisoku
sue445
0
190
Kaigi Effect 2025 #rubykaigi2025_after
sue445
0
1.7k
Road to Go Gem #rubykaigi
sue445
0
3.4k
pixiv Cloud Journey #pixivmeetup
sue445
0
1.9k
Road to RubyKaigi Speaker (case sue445) #rubykaigi2023_after
sue445
0
3.4k
Fix SQL N+1 queries with RuboCop #rubykaigi
sue445
2
7.6k
Other Decks in Technology
See All in Technology
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
630
Don't write the architecture only in the prompt.
neohsu
0
300
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
840
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
410
ALBのLCU予約とトラフィックの波によるプロダクト理解 / Understanding ALB LCU and Traffic Spikes
mito201
1
140
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
290
WireGuard for Apache NuttX - Bringing Secure Remote Access to embedded Devices -
aki310ooooo
0
130
自律的なチームを作るためにTechPMがやらないこと
ny7760
0
500
Flutter Webを「SDK」として配る — 50以上のゲームを支える埋め込みアーキテクチャ
masayukisuda
0
180
Systems Manager AgentがインストールされたPCを紛失した時の対策を考えてみた
amarelo_n24
1
110
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
170
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
2
190
Featured
See All Featured
Making Projects Easy
brettharned
120
6.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
450
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Optimizing for Happiness
mojombo
378
71k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
560
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Designing for Performance
lara
612
70k
It's Worth the Effort
3n
188
29k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
730
GitHub's CSS Performance
jonrohan
1033
470k
Transcript
sue445謹製社内ツール十一選 2021/04/30 エンジニア勉強会@PIXIV DEV MEETUP pixiv Inc. sue445 2021.4.30
2 自己紹介 • sue445 • 2018年7月入社 ◦ もうすぐ4年目 • インフラ部所属
• #z-アニメ #z-precure #z-pretty-series sue445
3 • AWS, GCP, CI, GitLab, Sentry etc… • 最近は各チームがやりたいことに対して
AWS, GCP, オンプレでいくつか案を出してアドバイ スしたり、実際に自分でシステムを構築 • 例)オンプレで動いてたSentryをGKEに移行、Herokuで動いてたアプリをECSに移行 • publicな業務内容: https://inside.pixiv.blog/search?q=sue445 業務内容
4 https://www.credential.net/9643f19d-5584-40b6-a330-5b966a26f310 GCPの認定資格所持 (ドヤッ
5 • ピクシブに入社してから作った社内ツールを紹介 • OSSになっていたり、なかったりします ◦ OSSになってないものは本邦初公開です • 11個紹介するので1つ20秒くらい 今日話すこと
6 • Q. 何で社内ツールを作るのか? ◦ 社内の開発環境に不満があるから ◦ ピクシブが3社目だけどどの会社も大なり小なり不便 ◦ なので不満点を解決するためにツールを作ってる
• Q. なんでOSSにするのか? ◦ 社内コンテキストに依存しない汎用的なものは最初から OSSにしておけば今後 自分が転職した先でも使えて便利 ▪ 実際、前職時代に作ったものが今も活躍してる ◦ PRが飛んでくれば自分がコードを書かなくても社内が便利になる 0/11: 前置き
7 • https://github.com/sue445/gitpanda • https://inside.pixiv.blog/sue445/7256 • GitLabのURLをSlackに貼り付けた時にいい感じに展開してくれるツール 1/11: gitpanda (OSS)
8 • https://gitlab.com/sue445/tanuki_reminder • Pull PandaのGitLab版 • マージされてないMRをSlackやChatWorkで通知 2/11: tanuki_reminder
(OSS)
9 • https://gitlab.com/sue445/gitlabci-bundle-update-mr • GitLab CI上でbundle updateしてMergeRequestを作るためのgem • circleci-bundle-update-prのGitLab版 •
社内版dependabotもあるので併用してる 3/11: gitlabci-bundle-update-mr (OSS)
10 • pploy(社内デプロイツール)からアプリの各 APサーバにアプリの実行ユーザで rbenv installやnodenv installなどするツール • 各APにいちいちsshしてコマンド叩くのが面倒なのでワンクリックでいけるようにした •
Ansible Galaxyのrbenvのモジュールだとsudoが使えないユーザでrbenv installできな かったのでItamaeで書いた • 余談:sue445は https://github.com/itamae-kitchen/itamae のコミッタ 4/11: pploy-app-itamae (in-house)
11 yamlを編集して 4/11: pploy-app-itamae (in-house)
12 pployからデプロイ先をクリックするとインストールされる 4/11: pploy-app-itamae (in-house)
13 Slackにログが流れる 4/11: pploy-app-itamae (in-house)
14 • pployが動いてるデプロイサーバ自身に pployからrbenv installなどを行う • デプロイサーバにもrbenvが入っているので、rubyの新しいバージョンを使いたい時には APだけじゃなくデプロイサーバにもインストールしないと cap deployができない
• しかしセキュリティの観点からデプロイサーバはインフラ部しか sshできない • デプロイサーバでrbenv installする時に毎回インフラ部への作業依頼が発生してたので チーム側で作業が完結できるようにするために作った 5/11: pploy-mitamae (in-house)
15 • https://github.com/sue445/today_anime • https://inside.pixiv.blog/sue445/5647 • Slackの#z-anime で定時後に動かしてるボット 6/11: 今日のアニメボット
(OSS)
16 • 今日のアニメボットの映画版 • 社内版はOSSじゃないけどruby-jp Slack用に作ったものは https://github.com/ruby-jp/anime_bot にあります 7/11: もうすぐ始まるアニメ映画お知らせ君
(in-house)
17 • 140個以上あるzチャンネルを1日1回ランダムで教えてくれるボット 8/11: 今日のzチャンネル (in-house)
18 • 社内には #z-evangelion-ネタバレ有 や #z-進撃の巨人ネタバレ有 などのチャンネルもあ るので、見てない人が間違って踏まないように抽選から除外する機能もある 8/11: 今日のzチャンネル
(in-house)
19 • https://github.com/sue445/emoy_webhook • https://sue445.hatenablog.com/entry/2019/07/21/225436 • Slackにemojiが追加された時に通知するツール • Slackに追加されたemojiはUtsuhieで自動でesaにも同期されてる ◦
https://fromatom.hatenablog.com/entry/2020/02/04/132414 9/11: emoy_webhook (OSS)
20 • GitHubのorganizationでメンバー追加やリポジトリの設定変更などが行われた時に Slack に通知するためのツール • 前職でもこの手のwebhook作ったw 10/11: github-audit-webhook (in-house)
21 • sshできる社内サーバをモジュールで一元管理しつつ、 ~/.ssh/configをgit管理しやすくす るためのツール ◦ ~/.ssh/configをgit管理しないなんて小学生までだよね〜 (ギャハハー • コンセプトは
https://github.com/mirakui/ec2ssh (gem)に近いのだが、mitamaeベース で作ったことで下記のメリットがあった ◦ mitamaeのプラグイン機構を利用することで社内サーバの一覧を一元管理 ◦ mitamaeがスタンドアローンバイナリなのでバイナリポン置きするだけで使える 11/11: pixiv_ssh_config (in-house)
22 • ~/.ssh/ ◦ config ◦ conf.d/ ▪ pixiv :
pixiv_ssh_configで動的生成したhost一覧 ▪ xxxx : 必要に応じて自由に追加 • ~/ssh_config-mitamae/ ◦ Makefile ◦ bin/mitamae ◦ plugins/mitamae-plugin-recipe-pixiv_ssh_config/ (submodule) 11/11: pixiv_ssh_config (in-house)
23 esaの10722と15092に詳しく書いてるので知りたい人は入社してください 11/11: pixiv_ssh_config (in-house)