開発生産性系の話多し|Productivity Weekly(2024-07-17)
こんにちは。サイボウズ株式会社 生産性向上チームの平木場です。
僕たち生産性向上チームは毎週水曜日に Productivity Weekly という「1 週間の間に発見された開発者の生産性向上に関するネタを共有する会」を社内で開催しています。
本記事はその時のネタをまとめたものです。
2023-01-25 号から、基本的に隔週で連載することとしました。たまに単独でも投稿するかもしれません。
今週は 2024-07-17 単独号です。
今回が第 159 回目です。過去の記事はこちら。
news 📺
Code security configurations are now GA - The GitHub Blog
GitHub において、code security configurations 機能が GA となりました。この機能は今年 4 月にパブリックベータとしてリリースされました。
code security configurations は、リポジトリに対してセキュリティ設定を一括で適用するための機能です。これにより、リポジトリごとに異なるセキュリティ設定を手動で設定する必要がなくなります。詳しくは以前の記事をご参照ください。
パブリックベータからの変更点としては、以下が挙げられています。
-
Code security configurations can now be enforced - The GitHub Blog
- code security configurations を強制できるように
- 強制しない場合はリポジトリ側で設定を変更できる
-
Manage code security configurations via API - The GitHub Blog
- REST API を使用して構成の作成・管理・アタッチが可能に
-
Sunsetting security settings default parameters in the organization REST APIs - The GitHub Blog
- (おそらく)これまでのセキュリティ設定の更新・取得をする API が廃止
- これまでは次の API を使ってセキュリティ設定の更新・取得が可能だった。あくまでセキュリティ設定に限らない API であり、セキュリティ設定の更新・取得以外は引き続き利用可能っぽい
-
GET /orgs/{org}
: Get an organization- いくつかのレスポンス[1]の description に廃止の旨が書かれている。ただし、
secret_scanning_push_protection_custom_link_enabled
,secret_scanning_push_protection_custom_link
に関しては description に注意書きなし -
Deprecated. Please use code security configurations instead.\n\nWhether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.
- いくつかのレスポンス[1]の description に廃止の旨が書かれている。ただし、
-
PATCH /orgs/{org}
: Update an organization- 廃止の旨が書かれている
-
Parameter deprecation notice: Code security product enablement for new repositories through the organization API is deprecated. Please use code security configurations to set defaults instead. For more information on setting a default security configuration, see the changelog.
-
- なお、次のバージョンの REST API[2]で完全に削除されるとのこと
GA になったので導入しやすくなりましたね。複数リポジトリに設定を一括で適用できて便利です。すでに古い API を使っている方は新しい API に移行しましょう。
本項の執筆者: @korosuke613
Dependabot migration to GitHub Actions for Enterprise Cloud and Free, Pro, and Teams accounts with Actions enabled - The GitHub Blog
GitHub の Dependabot において、Dependabot で pull request を生成する処理が GitHub Actions として実行されるようになります(actions 有効リポジトリにおいて)。今後数週間でだんだんと移行されるようです。
GitHub Actions として実行されることで、実行の高速化、トラブルシューティングの容易化、セルフホストランナーのサポートなどのメリットがあるとのことです。
Dependabot による GitHub Actions の実行は課金対象にならないため、無料です。
なお、順次移行を待たずに Actions 上で実行するようにしたい場合は、リポジトリ、organization 設定で有効化することで即時移行が可能とのことです。
Dependabot 利用者はなぜか Dependabot によるプルリクエスト作成ができない場合などに原因を調査しやすくなって嬉しいですね。
本項の執筆者: @korosuke613
know-how 🎓
Ubie における、小さく泥臭くはじめる開発生産性改善
Ubie さんによる、開発生産性改善のためにやってきた・きていることを紹介する記事です。
取り組みのゴール定義、計測(アンケート調査、GitHub の開発アクティビティデータ収集・可視化)、分析、開発メンバーの巻き込み、継続的に関心を引くための定期的な施策が紹介されています。
開発生産性改善の一連のサイクル全体と、サイクルを回し続けるための工夫が載っており、開発生産性改善の進め方の参考になりそうです。
個人的には開発メンバの巻き込み、継続的に関心を引くという部分を悩み事としてる組織は多そうだなと思っており、こういった事例は大変助かると思っています。
本項の執筆者: @korosuke613
組織横断支援チームによるFour Keys計測基盤構築と活用に向けた取り組み | ドクセル
サイボウズの組織横断支援チームによる Four Keys 計測基盤構築と活用に向けた取り組みについてのスライドです。
開発生産性カンファレンス 2024 で発表されたものになります。
開発生産性を上げたい(インパクトを増やしたい)背景や、インパクトを増やすために何が必要か、開発チームへのヒアリング、Four Keys 計測基盤をどのように構築して展開するか、提供してからの気づきや課題などが書かれています。
開発生産性を高めるために活動しているチームならではの悩みが載ってそうだなと思いました。似たような活動をしている方々の参考になりそうと思います。
なお、このスライドはいつも Productivity Weekly を一緒に書いてくれている生産性向上チームの @r4mimu さんが発表されたものです。
本項の執筆者: @korosuke613
「開発生産性の教科書」という本を執筆しました - Findy Tech Blog
開発生産性計測・可視化基盤 Findy Team+ を作っていたり、開発生産性カンファレンスを開催しているなど、開発生産性に関する活動を多く行っている Findy さんの CTO の方が「開発生産性の教科書」という本を執筆したとのことです。
入門から実践までを網羅した本のことで、次の特徴が挙げられています。
- 体系的に整理された開発生産性の知識が学べる
- 実践への第一歩として、始めやすさにフォーカスした
- 成功へのヒントとして事例を 5 社集めまとめた
目次を読むと、開発生産性とは何か、開発生産性向上のためのステップ、開発生産性向上の取り組みを阻害する要因とその対策、パフォーマンスを測るための指標、各社事例が書かれているようです。
特に各社事例が気になりますが、個人的に「体系的に整理された開発生産性の知識が学べる」というのも気になってます。
気になる方は読んでみるといいですね。
本項の執筆者: @korosuke613
tool 🔨
GitHub Actionsの脅威検知ツール tracee-action を触ってみる
Tracee という eBPF を使った Linux 上のシステムコール検出ツールを GitHub Actions で使うためのアクション tracee-action を紹介した記事です。
tracee-action の概要、検知ルール作成例、検知結果例が書かれています。
こういうツールがあるのは知りませんでした。検知ルール作成が大変そうですが、脅威検知のために利用できそうですね。僕も調べてみたいです。
本項の執筆者: @korosuke613
read more 🍘
Productivity Weekly で出たネタを全て紹介したいけど紹介する体力が持たなかったネタを一言程度で書くコーナーです。
-
know-how 🎓
-
アーキテクチャレベルで考える開発生産性 / architecture-and-productivity - Speaker Deck
- 開発生産性を上げるためにアーキテクチャをどう設計するかというスライドです
- ただ開発生産性を上げるのではなく、収益を上げるために競争優位性を高める、そのために機能性と変更用意性を高めるのが重要であり、それを実現するためにドメイン駆動設計が紹介されています
-
GitHub Actions でプライベートなネットワークにアクセスしたい | ドクセル
- GitHub Actions の GitHub-hosted runner を Azure VNet[3]内で実行する方法を紹介したスライドです
- 先日 Azure VNet 内で GitHub-hosted runner を実行できるようになりましたが、あまり事例を見かけませんでした。Azure をよく使う人は参考になりそうですね
- APCommunications さんの動作確認記事も参考になりそうです
-
Apple シリコンの macOS で “Docker Desktop vs OrbStack” を検証してみた - PLAY DEVELOPERS BLOG
- Apple Silicon の macOS で Docker Desktop (QEMU、Rosetta for Linux) と OrbStack の速度を比較した記事です
- Apple Silicon の macOS 上では OrbStack が速いイメージを僕は持っていましたが、今の Docker Desktop も速いんですね
- 個人的に Rancher Desktop との比較も気になりました
-
GCP という呼び名はもう古いので気をつける
- Google Cloud Platform は実は Google Cloud に変わっているという話です
- 知っていましたが、Google Cloud は略語が安定してないので個人的には普通に GCP と呼んでます
-
アーキテクチャレベルで考える開発生産性 / architecture-and-productivity - Speaker Deck
-
tool 🔨
-
Linuxメモ : あると便利かもしれないRust製コマンドラインツール
- 様々な Rust 製コマンドラインツールの紹介記事です
- めちゃたくさんありますね。
-
Linuxメモ : あると便利かもしれないRust製コマンドラインツール
本項の執筆者: @korosuke613
あとがき
今週号でした。久々に自分一人で書いたので、read more 多めでしたね。
先日 Sansan さんと合同で開発生産性向上に関するイベントを開催しました。資料や動画も上がっているので、興味がある方はみて見てください。
サイボウズの生産性向上チームでは社内エンジニアの開発生産性を上げるための活動を行なっています。そんな生産性向上チームが気になる方は下のリンクをクリック!
-
advanced_security_enabled_for_new_repositories
,dependabot_alerts_enabled_for_new_repositories
,dependabot_security_updates_enabled_for_new_repositories
,dependency_graph_enabled_for_new_repositories
,secret_scanning_enabled_for_new_repositories
,secret_scanning_push_protection_enabled_for_new_repositories
,secret_scanning_validity_checks_enabled
, ↩︎ -
次のバージョンの REST API がいつくるかは不明ですね。現在の API Version は
2022-11-28
です。GitHub が API Version を日付にしてからまだ新しいバージョンは出ていません。また、latest でなくなったバージョンを最低 24 ヶ月サポートするとのことなので、思ったより長生きするかもですね。 ↩︎ -
AWS VPC に相当する Azure のサービス、という認識。 ↩︎
Discussion