Slide 1

Slide 1 text

永野 峻輔(@glassmonkey)

Slide 2

Slide 2 text

BASE BANK株式会社 Software Developer フルサイクルエンジニア Go, PHP, Pythonあたりをよく書いています Flutterアプリ開発の勉強 締め切りに追われること Twitter: @glassmonekey 大阪に帰って元気な姿を確認

Slide 3

Slide 3 text

● CI/CD の自動化を行うことの重要性
 ● CI/CD の弊チームでの出来事紹介
 ● どこから始めたらいいか


Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

● ○ テストの実行 ○ 静的解析など ● ○ リリースの実施 代表例 Jenkins etc...

Slide 6

Slide 6 text

ソースコード 反映 ぼく(新人) webhook通知 デプロイ 失敗通知

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

ソースコード 反映 ぼく(新人) git pull デプロイ 指摘 先輩

Slide 10

Slide 10 text

先輩が言ってるし直すか 本当にこれで動くのだろうか? 先輩にリリース頼まないと 1. オーナーシップが生まれにくい 2. リリースがブラックボックスになる 3. 最低限の動作への学習コストが高い 4. 官僚的な組織体制

Slide 11

Slide 11 text

テスト失敗してるな。直そう あ、やばい!アラートなって る!!!!! 今回は〇〇なので指摘事項は todoとさせてください。 1. オーナーシップを持ちやすい 2. 自らが責任を持ってリリース 3. 自動テストで最低限の動作が保証される 4. 創造的な組織体制

Slide 12

Slide 12 text


 
 ● ○ ○ ● ○ ○ ● ○ ○ ● ○

Slide 13

Slide 13 text


 
 ● ○ ● ○ ○ ● ○ ○ ○

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

● ● ● ● ● 継続的デリバリーについての基本原則 LeanとDevOps 4章より抜粋

Slide 16

Slide 16 text

linters: disable-all: true enable: - goimports - bodyclose - deadcode - errcheck - gochecknoinits - gocognit - gocritic - gocyclo - gofmt - golint - govet (中略) 
 lint設定例(golangci-lint) ← 仕組みでformatして ないことを叱ってく れるなど 本当にレビュー議論 したいことに専念 できる

Slide 17

Slide 17 text


 
 Terraformセキュリティ診断ツール(tfsec) ← reviewdogを使用 ignoreも可能なので 自分たちのリスクを 把握できる。

Slide 18

Slide 18 text

ある日のterraformの変更通知 無機質な通知だ と楽しくないの で絵文字つき

Slide 19

Slide 19 text

またある日のterraformの変更通知 ←原因となった人物が 「私です」スタンプ 押して対応している。 このときは私

Slide 20

Slide 20 text

trivyを使った日時のコンテナの脆弱性チェック このあと暫定的に コンテナにlibsslの バージョンアップ対応を した

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

● ● ● ○ ●

Slide 24

Slide 24 text

● ○ ○ ● ○

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text


 
 ● ○ ○ ● ○ ● ○

Slide 27

Slide 27 text

https://binc.jp/jobs 弊社では絶賛採用活動中をしています!!! 一緒にプロダクトを作っていきましょう!!!