Slide 1

Slide 1 text

Concourse入門

Slide 2

Slide 2 text

profile: name: 松井 渉 trn: さび開発 twitter: @watawuwu role: [ Server, Infra, SRE ] lang: [ Rust, Scala, Golang, PHP ]

Slide 3

Slide 3 text

アジェンダ ⊸ Concourseとは? ⊸ その特徴は? ⊸ アーキテクチャ ⊸ パイプライン実行までの流れ ⊸ ユニークな機能

Slide 4

Slide 4 text

Concourseとは

Slide 5

Slide 5 text

アジャイル開発を実践し 複雑なパイプラインを扱う チームにフォーカスしたCI/CD

Slide 6

Slide 6 text

既存CI/CDツールの問題 ⊸ 設定変更の確認にGit pushが必要 ⊸ 差分確認ができず、レビューが難しい ⊸ 依存関係や状態管理が発生した ⊸ WebUIによる隠された設定が発生した

Slide 7

Slide 7 text

Pivotalエンジニアが中心となり Go言語で開発されているOSS

Slide 8

Slide 8 text

Pipeline Job Job Task Task Task Resource

Slide 9

Slide 9 text

その特徴は?

Slide 10

Slide 10 text

1. Everything runs in containers

Slide 11

Slide 11 text

2. Configuration As Code resources: - name: slack-notif type: git source: uri: watawuwu/slack-notification-resource/ jobs: - name: demo plan: - get: slack-notif trigger: true - task: unit-test file: test.yml

Slide 12

Slide 12 text

3. Fancy Visualization

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

3. Fancy Visualization

Slide 15

Slide 15 text

4. All operations by CLI $ fly -t ci set-pipeline \ --config job.yml \ --pipeline name

Slide 16

Slide 16 text

5. Rapid Local Iteration $ fly -t ci execute --config test.yml \ --input some-input=.

Slide 17

Slide 17 text

6. Bring Your Own Integrations

Slide 18

Slide 18 text

アーキテクチャ

Slide 19

Slide 19 text

Servers Worker Web DB

Slide 20

Slide 20 text

パイプライン 実行までの流れ

Slide 21

Slide 21 text

hello.yaml jobs: - name: job-hello plan: - task: hello config: platform: linux image_resource: type: docker-image source: { repository: busybox } run: path: echo # pathとは実行コマンドのパスのこと(イケテナイ) args: - hello

Slide 22

Slide 22 text

$ fly -t ci set-pipeline \ --pipeline pipeline-hello \ --config hello.yaml

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

$ fly -t ci unpause-pipeline \ --pipeline pipeline-hello

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

$ fly -t ci trigger-job \ --job pipeline-hello/job-hello

Slide 27

Slide 27 text

ユニークな機能

Slide 28

Slide 28 text

Secrets Manager

Slide 29

Slide 29 text

Thanks! 質問どうぞ!! Rust、GCP、DevOpsな エンジニアは必要ありませんか? @watawuwu