Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
circleci.vim
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yasuhiroki
August 23, 2019
Programming
1.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
circleci.vim
CircleCI UserCommunity Meetup Tokyo #6 LT
Yasuhiroki
August 23, 2019
More Decks by Yasuhiroki
See All by Yasuhiroki
自分に勉強させるには
yasuhiroki
1
460
Android Studio `Command+Shift+A`
yasuhiroki
0
390
シェルスクリプトをサーバーレスで cron したい
yasuhiroki
1
920
rails new コマンド
yasuhiroki
1
850
自動化を習慣化する
yasuhiroki
2
15k
GitHub Actions Parallel Testing
yasuhiroki
1
1.3k
ベンチャー企業がCircleCIを選んだ理由と活用方法
yasuhiroki
1
860
Rubyの正規表現を調べてみた
yasuhiroki
0
990
開発者(個人)のためのJenkins 運用編
yasuhiroki
0
2.4k
Other Decks in Programming
See All in Programming
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
270
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.7k
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
150
RTSPクライアントを自作してみた話
simotin13
0
620
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.2k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
350
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
260
Performance Engineering for Everyone
elenatanasoiu
0
180
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
440
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.7k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
590
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
490
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Being A Developer After 40
akosma
91
590k
How to build a perfect <img>
jonoalderson
1
5.7k
Transcript
circleci.vim CircleCI UserCommunity Meetup #6 A10 Lab Inc. yasuhiroki
⾃自⼰己紹介
Twitter
Vimmer
本題
Vimmer ですか?
config.yml 書いてますか?
circleci.vim
なぜ circleci.vim を作ったのか • config.yml をもっと効率よく書きたい • circleci config validate
の出⼒力力が分かりづらい • 既存のプラグイン (vim-circleci) では満⾜足でき ない (省略略)
どこが間違っているでしょう?
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]}}}
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]}}} わからん
正解
正解 ひと⽬目で気づきたい
circleci.vim で ϋΠϥΠτをつける
typoしたとき
正しいとき
正しいとき ⾊色で気づける
ハイライト • ドキュメントに載っているキーに⾊色付け • ハイライトは4種類類 • type (string とか approval
とか) • steps (checkout とか save_cache とか ) • << >> と {{ }} <- こだわりポイント • その他 (version とか commands とか)
<< >> と {{ }} • シェルのリダイレクトとの⾒見見間違いを防⽌止
補完機能 (オムニ補完)
TODO: snippets • jobs とか filter とかのテンプレートがあると 便便利利そう
使ってみてください
https://github.com/ yasuhiroki/circleci.vim
ご清聴ありがとうございました
これでいいのか?
本当に求めていたもの
間違った記述をしている ⾏行行を教えてくれる Linter が欲しい
本当に求めていたもの ※ 適当な合成です
circleci config validate を ハックすれば何とかなる?
circleci config validate の中身
GraphQLでリクエストしている
GraphQL の詳細仕様は... https://discuss.circleci.com/t/any-documentation-on-the-graphql-api/29913/2
レスポンスの中身を⾒見見てみる
レスポンスの中身を⾒見見てみる ⾏行行数の情報はなさそう
間違った記述をしている ⾏行行を教えてくれる Linter が欲しい
間違った記述をしている ⾏行行を教えてくれる Linter が欲しい 何か情報があれば教えて
ご清聴ありがとうございました