Slide 1

Slide 1 text

Dagger Dagger Nona Tech Sep. 14, 2022 − 最強(かもしれない)CI/CD 環境 −

Slide 2

Slide 2 text

自分について Nona Tech ノ ナ テ ッ ク / @snona_tech Cloud Native Technical Officer

Slide 3

Slide 3 text

今日伝えたいこと Dagger よさそうだよ!

Slide 4

Slide 4 text

Dagger Dag / gerr Directed acyclic graph 有 向 非 巡 回 グ ラ フ Build Test Deploy といったフロー

Slide 5

Slide 5 text

What’s Dagger ? ポータブルな CI/CD 開発キット というコンセプトの OSS Docker の生みの親がプロジェクトを推進している 一度パイプラインを作成すれば、どこでも(ローカルでも)実行できる

Slide 6

Slide 6 text

Dagger は何を解決するのか GitHub Actions Jenkins Local Dagger Build & Test & Deploy 様々な CI/CD ツールにロックインしない ローカルで CI/CD を実行・デバッグできる ジョブ定義を毎回 Git リポジトリなどにプッシュ不要 Docker パッケージを使用してイメージのビルドやプッシュが可能 非推奨の D-in-D を行わなくて済む 既存の Dockerfile を再利用できる

Slide 7

Slide 7 text

Slidev ちなみに… このスライドは、Slidevで作成しています。 Markdown で作成可能な Web ベースのプレゼンテーションツール ビルドすることで静的サイトとしてホスティングできる

Slide 8

Slide 8 text

Dagger を使ってみた このスライドを GitHub Pages に公開してみました。 GitHub Actions Dagger GitHub Pages Slidev

Slide 9

Slide 9 text

Dagger を使ってみた このスライドを GitHub Pages に公開してみました。 GitHub Actions Dagger GitHub Pages Slidev 1. git push

Slide 10

Slide 10 text

Dagger を使ってみた このスライドを GitHub Pages に公開してみました。 GitHub Actions Dagger GitHub Pages Slidev 1. git push 2. dagger do build

Slide 11

Slide 11 text

Dagger を使ってみた このスライドを GitHub Pages に公開してみました。 GitHub Actions Dagger GitHub Pages Slidev 1. git push 2. dagger do build 3. slidev build

Slide 12

Slide 12 text

Dagger を使ってみた このスライドを GitHub Pages に公開してみました。 GitHub Actions Dagger GitHub Pages Slidev 1. git push 2. dagger do build 3. slidev build 4. deploy pages

Slide 13

Slide 13 text

GitHub Actions ビルドジョブはこんな感じ Dagger アクション定義はこんな感じ jobs: dagger: runs-on: ubuntu-latest steps: - name: Clone repository ・・・ - name: Build Slidev uses: dagger/dagger-for-github@v3 with: version: 0.2 cmds: | project init project update do build - name: Deploy pages ・・・ actions: build: { ・・・ bash.#Run & { script: contents: """ npm install npm install -g @slidev/cli slidev build """ }, ・・・ }

Slide 14

Slide 14 text

コードの詳細について GitHub Repository snona-tech/automation-lt-vol-8 GitHub Pages https://snona-tech.github.io/automation-lt-vol-8

Slide 15

Slide 15 text

最後に… 今回の LT を通じて少しでも Dagger に興味を持っていただけたら幸いです 最高の CI/CD 環境を目指しましょう!