SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
Jenkins Pipeline + Blue Ocean
フルスクラッチからの継続的デリバリ
2© 2017 CloudBees, Inc. All Rights Reserved.
川口耕介とは
• Jenkinsプロジェクトの父
• CloudBeesのCTO
3© 2017 CloudBees, Inc. All Rights Reserved.
継続的デリバリとは
Development Production
Commit Build Test Stage Deploy
Feedback Loop
$
The Business
4© 2017 CloudBees, Inc. All Rights Reserved.
Software changes
continuously deployed
to live production
Continuous
Deployment
Software changes continuously
delivered to stakeholders in any
environment
Continuous
Delivery
Software changes continuously
delivered to stakeholders in any
environment
Continuous
DeliveryContinuous Integration
Automated commit, build and testing of code
in the development environment
DevOps  Cultural approaches & technical practices
User FeedbackRapid Changes
Discipline
AGILE
An incremental
approach to
identifying,
prioritizing, and
coordinating feature
development
Development Production / Prod-like Live Production
Env.Stage
Release Deploy Monitor
Upstream (left) Downstream (right)
Define Plan Code Compile Build Unit Test Analyze Integrate Int. Test Package Place Load Test Acct. Test
Change Mgt. Production Bugs
なぜ継続的デリバリ?
5© 2017 CloudBees, Inc. All Rights Reserved.
Jenkins Pipeline
• Pipeline as Code
• 継続的デリバリのプロセスの定義を記述する
• リポジトリにJenkinsfileとしてコミットする
• jenkins.io/doc/book/pipeline
6© 2017 CloudBees, Inc. All Rights Reserved.
https://flic.kr/p/opw1JR
Blue Ocean
7© 2017 CloudBees, Inc. All Rights Reserved.
8© 2017 CloudBees, Inc. All Rights Reserved.
9© 2017 CloudBees, Inc. All Rights Reserved.
10© 2017 CloudBees, Inc. All Rights Reserved.
11© 2017 CloudBees, Inc. All Rights Reserved.
kohsuke/jhipster-sample-app
ツール
• Maven
• Node / Gulp
• Gatling
• Docker
本日の材料
パイプラインを設計
13© 2017 CloudBees, Inc. All Rights Reserved.
開発者個別
• ビルド
• 単体テスト
• 静的解析
チーム全体
• ビルド
• 単体テスト
• 静的解析
QA環境
• デプロイ
• 性能テスト
本番環境
• デプロイ
パイプラインを設計
14© 2017 CloudBees, Inc. All Rights Reserved.
ブランチ戦略を設計
master
qa
production
15© 2017 CloudBees, Inc. All Rights Reserved.
docker run -p 8080:8080 –u root ¥
-v /var/run/docker.sock:/var/run/docker.sock ¥
-v $PWD/jenkins_home:/var/jenkins_home
jenkinsci/blueocean
Jenkins + Blue Oceanを起動
16© 2017 CloudBees, Inc. All Rights Reserved.
17© 2017 CloudBees, Inc. All Rights Reserved.
ビルド
19© 2017 CloudBees, Inc. All Rights Reserved.
• Jenkins Pipelineはビルドシステムではない!
• 既存のビルドシステムを他とくっつける糊のようなもの
• ゴール
• 再現性のあるポータブルなビルド
• バイナリを作って後のために保存
• 今回はMavenを使います
ビルド
20© 2017 CloudBees, Inc. All Rights Reserved.
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'mvn'
}
}
}
}
ビルド
21© 2017 CloudBees, Inc. All Rights Reserved.
stage('Build') {
agent {
docker {
image 'maven:3-alpine'
}
}
/* .. */
}
ビルド
22© 2017 CloudBees, Inc. All Rights Reserved.
stage('Build') {
agent ...
steps {
sh 'mvn clean install'
archiveArtifacts 'target/*.war'
junit 'target/surefire-reports/*.xml'
}
}
ビルド
23© 2017 CloudBees, Inc. All Rights Reserved.
stage('Build') {
/* .. */
steps {
withMaven {
sh 'mvn clean package'
}
}
}
プラグインを使って頻出パターンを簡略化
24© 2017 CloudBees, Inc. All Rights Reserved.
stage('Build') {
/* .. */
steps {
withMaven(mavenSettingsConfig:'my-maven-settings') {
sh 'mvn clean package'
}
}
}
CIビルド環境に適応
単体テスト
26© 2017 CloudBees, Inc. All Rights Reserved.
stage('Frontend Test') {
agent { docker 'node:alpine' }
steps {
sh 'yarn install'
sh 'yarn global add gulp-cli'
sh 'gulp test'
}
}
フロントエンドの単体テスト
27© 2017 CloudBees, Inc. All Rights Reserved.
stage('Frontend Test') {
agent { docker 'node:alpine' }
steps {
sh 'yarn install'
sh 'yarn global add gulp-cli'
sh 'gulp test'
junit 'target/test-results/karma/*.xml'
}
}
結果の捕捉
静的解析
29© 2017 CloudBees, Inc. All Rights Reserved.
いろいろなオプションがある
• FindBugs
• PMD
• Checkstyle
• …
SonarQube?
• jenkins.io/blog/2017/04/18/continuousdelivery-devops-sonarqube/
静的解析
30© 2017 CloudBees, Inc. All Rights Reserved.
pipeline {
agent any
stages {
stage('Analyze') {
agent ...
steps {
withMaven {
sh 'mvn pmd:pmd'
pmd pattern:'target/pmd.xml'
}
}
}
}
}
PMDの例
QA環境
32© 2017 CloudBees, Inc. All Rights Reserved.
開発者個別
• ビルド
• 単体テスト
• 静的解析
チーム全体
• ビルド
• 単体テスト
• 静的解析
QA環境
• デプロイ
• 性能テスト
本番環境
• デプロイ
パイプラインの設計
33© 2017 CloudBees, Inc. All Rights Reserved.
• Jenkins Pipelineはデプロイメント・システムではない!
• 既存のデプロイメント・システムを他とくっつける糊のようなもの
• 所変われば…
• AWS/Azure
• Chef/Puppet
• アップストアへ登録
• 社内サーバにアップロード
デプロイ
34© 2017 CloudBees, Inc. All Rights Reserved.
pipeline {
agent any
stages {
stage('Deploy to QA') {
steps {
sh './deploy.sh'
}
}
}
}
デプロイ
35© 2017 CloudBees, Inc. All Rights Reserved.
pipeline {
agent any
stages {
stage('Deploy to QA') {
when { branch 'qa' }
steps {
sh './deploy.sh'
}
}
}
}
qaブランチのみで実行
本番環境
37© 2017 CloudBees, Inc. All Rights Reserved.
開発者個別
• ビルド
• 単体テスト
• 静的解析
チーム全体
• ビルド
• 単体テスト
• 静的解析
QA環境
• デプロイ
• 性能テスト
本番環境
• デプロイ
パイプラインの設計
38© 2017 CloudBees, Inc. All Rights Reserved.
stage(‘Deploy to Production') {
steps {
input message: 'Deploy to production?',
ok: 'Fire zee missiles!'
sh './deploy.sh prod'
}
}
確認
39© 2017 CloudBees, Inc. All Rights Reserved.
確認
これで完成?
41© 2017 CloudBees, Inc. All Rights Reserved.
• 継続的デリバリの実現には開発者へのフィードバックが欠かせない
• パイプラインを使って
• メールを送る
• HipChat/Slack通知
• JIRAチケットの更新
• jenkins.io/node/tags/notifications/
フィードバックループを作る
Q & A
43© 2017 CloudBees, Inc. All Rights Reserved.
jenkins.io/doc/book/pipeline
jenkins.io/projects/blueocean
Docker コンテナ
• jenkinsci/jenkins:lts-alpine
• jenkinsci/blueocean
jenkinsci-users@googlegroups.com
資料

Contenu connexe

Tendances

がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはJun-ichi Sakamoto
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...Preferred Networks
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
 
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてHiroyuki Wada
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本kazuki kumagai
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
まじめに!できる!LT
まじめに!できる!LT まじめに!できる!LT
まじめに!できる!LT Akabane Hiroyuki
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCdisc99_
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
Multibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことMultibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことRecruit Lifestyle Co., Ltd.
 

Tendances (20)

がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
 
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
 
Digitaltransformation Journey
Digitaltransformation JourneyDigitaltransformation Journey
Digitaltransformation Journey
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
まじめに!できる!LT
まじめに!できる!LT まじめに!できる!LT
まじめに!できる!LT
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
Multibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことMultibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだこと
 

En vedette

開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovyzgmf_mbfp03
 
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーJunya Suzuki
 
NetOpsCoding#5 introduction
NetOpsCoding#5 introductionNetOpsCoding#5 introduction
NetOpsCoding#5 introductionTaiji Tsuchiya
 
Telemetry事始め
Telemetry事始めTelemetry事始め
Telemetry事始めnpsg
 
Ansible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nsoAnsible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nsoAkira Iwamoto
 
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyYahoo!デベロッパーネットワーク
 
ネットワーク自動化ツール紹介(Ansible・NAPALM編)
ネットワーク自動化ツール紹介(Ansible・NAPALM編)ネットワーク自動化ツール紹介(Ansible・NAPALM編)
ネットワーク自動化ツール紹介(Ansible・NAPALM編)akira6592
 
パケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作るパケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作るcloretsblack
 
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudyKazuhito Miura
 

En vedette (10)

開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy
 
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
 
Jenkins と groovy
Jenkins と groovyJenkins と groovy
Jenkins と groovy
 
NetOpsCoding#5 introduction
NetOpsCoding#5 introductionNetOpsCoding#5 introduction
NetOpsCoding#5 introduction
 
Telemetry事始め
Telemetry事始めTelemetry事始め
Telemetry事始め
 
Ansible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nsoAnsible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nso
 
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
 
ネットワーク自動化ツール紹介(Ansible・NAPALM編)
ネットワーク自動化ツール紹介(Ansible・NAPALM編)ネットワーク自動化ツール紹介(Ansible・NAPALM編)
ネットワーク自動化ツール紹介(Ansible・NAPALM編)
 
パケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作るパケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作る
 
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
 

Similaire à [DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ

2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化Issei Hiraoka
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜Daiki Kawanuma
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーションYuta Matsumura
 
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Akira Inoue
 
GitHub Actions で CI/CD
GitHub Actions で CI/CDGitHub Actions で CI/CD
GitHub Actions で CI/CDIssei Hiraoka
 
20140605_じどうかの窓口_CloudBees_Jenkins
20140605_じどうかの窓口_CloudBees_Jenkins20140605_じどうかの窓口_CloudBees_Jenkins
20140605_じどうかの窓口_CloudBees_JenkinsSHIFT Inc.
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCIToshiyuki Hirata
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio CodeTakashi Okawa
 
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介decode2016
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewKeiji Kamebuchi
 
20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS AzureIssei Hiraoka
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Shinichiro Arai
 
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨde:code 2017
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナーNGINX, Inc.
 
Visual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使うVisual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使うTakeshi Fukuhara
 
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデートAkira Inoue
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 日本マイクロソフト株式会社
 

Similaire à [DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ (20)

2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
 
ACI Kubernetes Integration
ACI Kubernetes IntegrationACI Kubernetes Integration
ACI Kubernetes Integration
 
GitHub Actions で CI/CD
GitHub Actions で CI/CDGitHub Actions で CI/CD
GitHub Actions で CI/CD
 
20140605_じどうかの窓口_CloudBees_Jenkins
20140605_じどうかの窓口_CloudBees_Jenkins20140605_じどうかの窓口_CloudBees_Jenkins
20140605_じどうかの窓口_CloudBees_Jenkins
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCI
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
 
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 
20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
 
Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
 
Alfresco CI
Alfresco CIAlfresco CI
Alfresco CI
 
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
 
Visual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使うVisual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使う
 
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
 

Plus de de:code 2017

[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用de:code 2017
 
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~de:code 2017
 
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にあるde:code 2017
 
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例de:code 2017
 
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能にde:code 2017
 
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装de:code 2017
 
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~de:code 2017
 
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころde:code 2017
 
[SP04] これからのエンジニアに必要な「マネジメント」の考え方
[SP04] これからのエンジニアに必要な「マネジメント」の考え方[SP04] これからのエンジニアに必要な「マネジメント」の考え方
[SP04] これからのエンジニアに必要な「マネジメント」の考え方de:code 2017
 
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦de:code 2017
 
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却de:code 2017
 
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?de:code 2017
 
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~de:code 2017
 
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しようde:code 2017
 
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...de:code 2017
 
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜de:code 2017
 
[SP03] 「怠惰の美徳~言語デザイナーの視点から」
[SP03] 「怠惰の美徳~言語デザイナーの視点から」[SP03] 「怠惰の美徳~言語デザイナーの視点から」
[SP03] 「怠惰の美徳~言語デザイナーの視点から」de:code 2017
 
[SP02] Developing autonomous vehicles with AirSim
[SP02] Developing autonomous vehicles with AirSim[SP02] Developing autonomous vehicles with AirSim
[SP02] Developing autonomous vehicles with AirSimde:code 2017
 
[SP01] CTO が語る! 今注目すべきテクノロジー
[SP01] CTO が語る! 今注目すべきテクノロジー[SP01] CTO が語る! 今注目すべきテクノロジー
[SP01] CTO が語る! 今注目すべきテクノロジーde:code 2017
 
[DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure [DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure de:code 2017
 

Plus de de:code 2017 (20)

[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
 
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
 
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
 
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
 
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
 
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
 
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
 
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
 
[SP04] これからのエンジニアに必要な「マネジメント」の考え方
[SP04] これからのエンジニアに必要な「マネジメント」の考え方[SP04] これからのエンジニアに必要な「マネジメント」の考え方
[SP04] これからのエンジニアに必要な「マネジメント」の考え方
 
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
 
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
 
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
 
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
 
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
 
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
 
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
 
[SP03] 「怠惰の美徳~言語デザイナーの視点から」
[SP03] 「怠惰の美徳~言語デザイナーの視点から」[SP03] 「怠惰の美徳~言語デザイナーの視点から」
[SP03] 「怠惰の美徳~言語デザイナーの視点から」
 
[SP02] Developing autonomous vehicles with AirSim
[SP02] Developing autonomous vehicles with AirSim[SP02] Developing autonomous vehicles with AirSim
[SP02] Developing autonomous vehicles with AirSim
 
[SP01] CTO が語る! 今注目すべきテクノロジー
[SP01] CTO が語る! 今注目すべきテクノロジー[SP01] CTO が語る! 今注目すべきテクノロジー
[SP01] CTO が語る! 今注目すべきテクノロジー
 
[DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure [DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure
 

Dernier

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Dernier (12)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ

  • 1. Jenkins Pipeline + Blue Ocean フルスクラッチからの継続的デリバリ
  • 2. 2© 2017 CloudBees, Inc. All Rights Reserved. 川口耕介とは • Jenkinsプロジェクトの父 • CloudBeesのCTO
  • 3. 3© 2017 CloudBees, Inc. All Rights Reserved. 継続的デリバリとは Development Production Commit Build Test Stage Deploy Feedback Loop $ The Business
  • 4. 4© 2017 CloudBees, Inc. All Rights Reserved. Software changes continuously deployed to live production Continuous Deployment Software changes continuously delivered to stakeholders in any environment Continuous Delivery Software changes continuously delivered to stakeholders in any environment Continuous DeliveryContinuous Integration Automated commit, build and testing of code in the development environment DevOps  Cultural approaches & technical practices User FeedbackRapid Changes Discipline AGILE An incremental approach to identifying, prioritizing, and coordinating feature development Development Production / Prod-like Live Production Env.Stage Release Deploy Monitor Upstream (left) Downstream (right) Define Plan Code Compile Build Unit Test Analyze Integrate Int. Test Package Place Load Test Acct. Test Change Mgt. Production Bugs なぜ継続的デリバリ?
  • 5. 5© 2017 CloudBees, Inc. All Rights Reserved. Jenkins Pipeline • Pipeline as Code • 継続的デリバリのプロセスの定義を記述する • リポジトリにJenkinsfileとしてコミットする • jenkins.io/doc/book/pipeline
  • 6. 6© 2017 CloudBees, Inc. All Rights Reserved. https://flic.kr/p/opw1JR Blue Ocean
  • 7. 7© 2017 CloudBees, Inc. All Rights Reserved.
  • 8. 8© 2017 CloudBees, Inc. All Rights Reserved.
  • 9. 9© 2017 CloudBees, Inc. All Rights Reserved.
  • 10. 10© 2017 CloudBees, Inc. All Rights Reserved.
  • 11. 11© 2017 CloudBees, Inc. All Rights Reserved. kohsuke/jhipster-sample-app ツール • Maven • Node / Gulp • Gatling • Docker 本日の材料
  • 13. 13© 2017 CloudBees, Inc. All Rights Reserved. 開発者個別 • ビルド • 単体テスト • 静的解析 チーム全体 • ビルド • 単体テスト • 静的解析 QA環境 • デプロイ • 性能テスト 本番環境 • デプロイ パイプラインを設計
  • 14. 14© 2017 CloudBees, Inc. All Rights Reserved. ブランチ戦略を設計 master qa production
  • 15. 15© 2017 CloudBees, Inc. All Rights Reserved. docker run -p 8080:8080 –u root ¥ -v /var/run/docker.sock:/var/run/docker.sock ¥ -v $PWD/jenkins_home:/var/jenkins_home jenkinsci/blueocean Jenkins + Blue Oceanを起動
  • 16. 16© 2017 CloudBees, Inc. All Rights Reserved.
  • 17. 17© 2017 CloudBees, Inc. All Rights Reserved.
  • 19. 19© 2017 CloudBees, Inc. All Rights Reserved. • Jenkins Pipelineはビルドシステムではない! • 既存のビルドシステムを他とくっつける糊のようなもの • ゴール • 再現性のあるポータブルなビルド • バイナリを作って後のために保存 • 今回はMavenを使います ビルド
  • 20. 20© 2017 CloudBees, Inc. All Rights Reserved. pipeline { agent any stages { stage('Build') { steps { sh 'mvn' } } } } ビルド
  • 21. 21© 2017 CloudBees, Inc. All Rights Reserved. stage('Build') { agent { docker { image 'maven:3-alpine' } } /* .. */ } ビルド
  • 22. 22© 2017 CloudBees, Inc. All Rights Reserved. stage('Build') { agent ... steps { sh 'mvn clean install' archiveArtifacts 'target/*.war' junit 'target/surefire-reports/*.xml' } } ビルド
  • 23. 23© 2017 CloudBees, Inc. All Rights Reserved. stage('Build') { /* .. */ steps { withMaven { sh 'mvn clean package' } } } プラグインを使って頻出パターンを簡略化
  • 24. 24© 2017 CloudBees, Inc. All Rights Reserved. stage('Build') { /* .. */ steps { withMaven(mavenSettingsConfig:'my-maven-settings') { sh 'mvn clean package' } } } CIビルド環境に適応
  • 26. 26© 2017 CloudBees, Inc. All Rights Reserved. stage('Frontend Test') { agent { docker 'node:alpine' } steps { sh 'yarn install' sh 'yarn global add gulp-cli' sh 'gulp test' } } フロントエンドの単体テスト
  • 27. 27© 2017 CloudBees, Inc. All Rights Reserved. stage('Frontend Test') { agent { docker 'node:alpine' } steps { sh 'yarn install' sh 'yarn global add gulp-cli' sh 'gulp test' junit 'target/test-results/karma/*.xml' } } 結果の捕捉
  • 29. 29© 2017 CloudBees, Inc. All Rights Reserved. いろいろなオプションがある • FindBugs • PMD • Checkstyle • … SonarQube? • jenkins.io/blog/2017/04/18/continuousdelivery-devops-sonarqube/ 静的解析
  • 30. 30© 2017 CloudBees, Inc. All Rights Reserved. pipeline { agent any stages { stage('Analyze') { agent ... steps { withMaven { sh 'mvn pmd:pmd' pmd pattern:'target/pmd.xml' } } } } } PMDの例
  • 32. 32© 2017 CloudBees, Inc. All Rights Reserved. 開発者個別 • ビルド • 単体テスト • 静的解析 チーム全体 • ビルド • 単体テスト • 静的解析 QA環境 • デプロイ • 性能テスト 本番環境 • デプロイ パイプラインの設計
  • 33. 33© 2017 CloudBees, Inc. All Rights Reserved. • Jenkins Pipelineはデプロイメント・システムではない! • 既存のデプロイメント・システムを他とくっつける糊のようなもの • 所変われば… • AWS/Azure • Chef/Puppet • アップストアへ登録 • 社内サーバにアップロード デプロイ
  • 34. 34© 2017 CloudBees, Inc. All Rights Reserved. pipeline { agent any stages { stage('Deploy to QA') { steps { sh './deploy.sh' } } } } デプロイ
  • 35. 35© 2017 CloudBees, Inc. All Rights Reserved. pipeline { agent any stages { stage('Deploy to QA') { when { branch 'qa' } steps { sh './deploy.sh' } } } } qaブランチのみで実行
  • 37. 37© 2017 CloudBees, Inc. All Rights Reserved. 開発者個別 • ビルド • 単体テスト • 静的解析 チーム全体 • ビルド • 単体テスト • 静的解析 QA環境 • デプロイ • 性能テスト 本番環境 • デプロイ パイプラインの設計
  • 38. 38© 2017 CloudBees, Inc. All Rights Reserved. stage(‘Deploy to Production') { steps { input message: 'Deploy to production?', ok: 'Fire zee missiles!' sh './deploy.sh prod' } } 確認
  • 39. 39© 2017 CloudBees, Inc. All Rights Reserved. 確認
  • 41. 41© 2017 CloudBees, Inc. All Rights Reserved. • 継続的デリバリの実現には開発者へのフィードバックが欠かせない • パイプラインを使って • メールを送る • HipChat/Slack通知 • JIRAチケットの更新 • jenkins.io/node/tags/notifications/ フィードバックループを作る
  • 42. Q & A
  • 43. 43© 2017 CloudBees, Inc. All Rights Reserved. jenkins.io/doc/book/pipeline jenkins.io/projects/blueocean Docker コンテナ • jenkinsci/jenkins:lts-alpine • jenkinsci/blueocean jenkinsci-users@googlegroups.com 資料