書籍名「GitHub CI/CD実践ガイド――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用」
著者:野村 友規
技術評論社
印象に残った部分
p2ソフトウェアエンジニアの仕事
ソフトウェアエンジニアの仕事は、ソフトウェアを通してユーザに価値を届けることです。
しかし単にコードを書くだけでは価値に届きません。仕事を遂行するには2つの活動です。
1.コードをソフトウェアへ変換し、正しく動作するか検証する。
2.ソフトウェアをユーザが使える状態にする
p5 CI/CDのメリット
・ユーザの満足度向上
・ビジネス競争力向上
・ソフトウェアエンジニアのクリエイティビティの向上
CI/CDは問題の発生を促します。問題が大きくなる前に対処すれば、簡単になる。(解決も簡単になる)
・自動化を推し進めることで繰り返し行える作業が大幅に効率化されます。
p85 自動テストの運用プラクティス
・ユニットテスト中心にする
・チームでテスト設計を学ぶ
p359 継続的デリバリーの実践
ソフトウェアデリバリーパフォーマンスは高速かつ安全にソフトウェアを届ける能力
・変更リードタイム
・デプロイ頻度
・変更失敗率
・デプロイ失敗時の回復時間
Google DORA(DevOps Research and Assessment)の研究成果
「ソフトウェアデリバリーパフォーマンスは組織パフォーマンスと高い相関がある」
p361 継続的プラクティスの効果
・非難が少なくオープンは、創造的な文化が浸透している
・デプロイに対する恐怖や予定外の緊急作業が少ない
・組織への帰属意識や、仕事満足度が高い
実践できること or 感想
感想
・CI/CDは使い勝手の良いスキルだと思いました。
いろんなプロジェクトに適用しやすいと思いました。
実践すること
以下の項目を実際に試してみる。
・2章 Github Action
ワークフロー構文 p15
Github Actionのエラー p20
・4章 継続的なインテグレーションの実践
p64 プルリクエストによる継続
p66 自動テストなインテグレーション
・5章 運用しやすいワークフローの設計
p95 ロギング
p99 レポーティング
p101 チャット通知
・9章 GithubReleaseによるリリース自動化
p176 9.4 リリースノート作成
p182 リリースの自動化