Slide 1

Slide 1 text

circleci.vim CircleCI UserCommunity Meetup #6 A10 Lab Inc. yasuhiroki

Slide 2

Slide 2 text

⾃自⼰己紹介

Slide 3

Slide 3 text

Twitter

Slide 4

Slide 4 text

Vimmer

Slide 5

Slide 5 text

本題

Slide 6

Slide 6 text

Vimmer ですか?

Slide 7

Slide 7 text

config.yml 書いてますか?

Slide 8

Slide 8 text

circleci.vim

Slide 9

Slide 9 text

なぜ circleci.vim を作ったのか • config.yml をもっと効率よく書きたい • circleci config validate の出⼒力力が分かりづらい • 既存のプラグイン (vim-circleci) では満⾜足でき ない (省略略)

Slide 10

Slide 10 text

どこが間違っているでしょう?

Slide 11

Slide 11 text

circleci config validate $ circleci config validate Error: Config does not conform to schema: {:workflows {:ci {:jobs [{:shellcheck/check {:exclude disallowed-key}} nil nil nil nil nil nil nil]}}}

Slide 12

Slide 12 text

circleci config validate $ circleci config validate Error: Config does not conform to schema: {:workflows {:ci {:jobs [{:shellcheck/check {:exclude disallowed-key}} nil nil nil nil nil nil nil]}}} わからん

Slide 13

Slide 13 text

正解

Slide 14

Slide 14 text

正解 ひと⽬目で気づきたい

Slide 15

Slide 15 text

circleci.vim で ϋΠϥΠτをつける

Slide 16

Slide 16 text

typoしたとき

Slide 17

Slide 17 text

正しいとき

Slide 18

Slide 18 text

正しいとき ⾊色で気づける

Slide 19

Slide 19 text

ハイライト • ドキュメントに載っているキーに⾊色付け • ハイライトは4種類類 • type (string とか approval とか) • steps (checkout とか save_cache とか ) • << >> と {{ }} <- こだわりポイント • その他 (version とか commands とか)

Slide 20

Slide 20 text

<< >> と {{ }} • シェルのリダイレクトとの⾒見見間違いを防⽌止

Slide 21

Slide 21 text

補完機能 (オムニ補完)

Slide 22

Slide 22 text

TODO: snippets • jobs とか filter とかのテンプレートがあると 便便利利そう

Slide 23

Slide 23 text

使ってみてください

Slide 24

Slide 24 text

https://github.com/ yasuhiroki/circleci.vim

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

これでいいのか?

Slide 27

Slide 27 text

本当に求めていたもの

Slide 28

Slide 28 text

間違った記述をしている
 ⾏行行を教えてくれる Linter が欲しい

Slide 29

Slide 29 text

本当に求めていたもの ※ 適当な合成です

Slide 30

Slide 30 text

circleci config validate を ハックすれば何とかなる?

Slide 31

Slide 31 text

circleci config validate の中身

Slide 32

Slide 32 text

GraphQLでリクエストしている

Slide 33

Slide 33 text

GraphQL の詳細仕様は... https://discuss.circleci.com/t/any-documentation-on-the-graphql-api/29913/2

Slide 34

Slide 34 text

レスポンスの中身を⾒見見てみる

Slide 35

Slide 35 text

レスポンスの中身を⾒見見てみる ⾏行行数の情報はなさそう

Slide 36

Slide 36 text

間違った記述をしている
 ⾏行行を教えてくれる Linter が欲しい

Slide 37

Slide 37 text

間違った記述をしている
 ⾏行行を教えてくれる Linter が欲しい 何か情報があれば教えて

Slide 38

Slide 38 text

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