Slide 1

Slide 1 text

【⼤阪】CircleCI ユーザーコミュニティミートアップ #1 2019.07.16 @kenfdev CircleCIのconfig.ymlを守ろうとした話

Slide 2

Slide 2 text

⾃⼰紹介

Slide 3

Slide 3 text

⾃⼰紹介 • 福⼭ 健 • エンジニア@サイダス@⼤阪
 フロントエンドもバックエンドも両⽅好き • Udemy講師 • JavaScriptエンジニアのためのES6完全ガイド • 実践!AngularJS講座 @kenfdev • OSS Contribution⼤好き • ブログ • https://kenfdev.hateblo.jp/

Slide 4

Slide 4 text

config.yml Ψόφϯε Ͳ͏ޮ͔ͤͯ·͔͢ʁ

Slide 5

Slide 5 text

やりたいこと ҰఆόʔδϣϯҎ্ ࢖ͬͯ΄͍͠ ஌Βͳ͍৔ॴͷimage ࢖ͬͯ΄͘͠ͳ͍ imageͷλά͸ ͪΌΜͱࢦఆͯ͠΄͍͠

Slide 6

Slide 6 text

現実 ΈΜͳɺϧʔϧΛ कΖ͏Ͷʂ Ή Γ

Slide 7

Slide 7 text

config.ymlに ルールを適⽤したい

Slide 8

Slide 8 text

conftest conftest͸OPAͷ ϥούʔ

Slide 9

Slide 9 text

Open Policy Agent?

Slide 10

Slide 10 text

Open Policy Agent https://bit.ly/30tIHeo https://www.openpolicyagent.org/

Slide 11

Slide 11 text

Rego એݴతʹ ϧʔϧ͕ॻ͚Δ

Slide 12

Slide 12 text

conftestの仕組み Input conftest OPA as Lib Rego Output OK Warn Deny config.yml

Slide 13

Slide 13 text

ルールを評価

Slide 14

Slide 14 text

結果

Slide 15

Slide 15 text

OCI RegistryでPolicyの共有もできる OCI Registry conftest Rego push pull pull pull pull

Slide 16

Slide 16 text

もしや?

Slide 17

Slide 17 text

共通ルールをCI内で適⽤できる? OCI Registry Rego pull pull pull pull

Slide 18

Slide 18 text

できそう

Slide 19

Slide 19 text

がしかし

Slide 20

Slide 20 text

誰でも書き換えれちゃう(そりゃそうだ) ͜͜·Ͱ͔ɻɻɻ

Slide 21

Slide 21 text

まとめ

Slide 22

Slide 22 text

まとめ • config.ymlに⼀定のガバナンスを効かせることはできる • ただし、強制することは現状では難しい • configにルールが適⽤できるconftestの今後に期待 • CircleCIの今後にも期待

Slide 23

Slide 23 text

参考 https://kenfdev.hateblo.jp/entry/2019/05/31/194614

Slide 24

Slide 24 text

config.yml Ψόφϯε Ͳ͏ޮ͔ͤͯ·͔͢ʁ

Slide 25

Slide 25 text

ご清聴ありがとうございました!