Enviar pesquisa
Carregar
Jenkins と groovy
•
Transferir como PPTX, PDF
•
13 gostaram
•
7,837 visualizações
Kohsuke Kawaguchi
Seguir
JGGUGで2011/2/24にした発表です
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 38
Baixar agora
Recomendados
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
Kazuhito Miura
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
Unityと.NET
Unityと.NET
AimingStudy
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
京大 マイコンクラブ
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
UnityTechnologiesJapan002
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
例外設計における大罪
例外設計における大罪
Takuto Wada
Recomendados
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
Kazuhito Miura
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
Unityと.NET
Unityと.NET
AimingStudy
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
京大 マイコンクラブ
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
UnityTechnologiesJapan002
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
例外設計における大罪
例外設計における大罪
Takuto Wada
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
Riverpodでテストを書こう
Riverpodでテストを書こう
Shinnosuke Tokuda
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
Jenkins 再入門
Jenkins 再入門
Jumpei Miyata
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
入門!Jenkins
入門!Jenkins
Shuntaro Saiba
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
Koji Morikawa
こわくない Git
こわくない Git
Kota Saito
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
torisoup
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
Riderはいいぞ!
Riderはいいぞ!
UnityTechnologiesJapan002
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
UnityTechnologiesJapan002
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy
zgmf_mbfp03
Mais conteúdo relacionado
Mais procurados
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
Riverpodでテストを書こう
Riverpodでテストを書こう
Shinnosuke Tokuda
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
Jenkins 再入門
Jenkins 再入門
Jumpei Miyata
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
入門!Jenkins
入門!Jenkins
Shuntaro Saiba
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
Koji Morikawa
こわくない Git
こわくない Git
Kota Saito
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
torisoup
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
Riderはいいぞ!
Riderはいいぞ!
UnityTechnologiesJapan002
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
UnityTechnologiesJapan002
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
Mais procurados
(20)
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Riverpodでテストを書こう
Riverpodでテストを書こう
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
Jenkins 再入門
Jenkins 再入門
インタフェース完全に理解した
インタフェース完全に理解した
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
入門!Jenkins
入門!Jenkins
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
こわくない Git
こわくない Git
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Riderはいいぞ!
Riderはいいぞ!
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Destaque
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy
zgmf_mbfp03
Jenkinsfileのlintで救える命がある
Jenkinsfileのlintで救える命がある
Jumpei Miyata
Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0
Hiroshi Maekawa
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
de:code 2017
20170809 start python_selenium
20170809 start python_selenium
Hiroko Tamagawa
Destaque
(6)
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy
Jenkinsfileのlintで救える命がある
Jenkinsfileのlintで救える命がある
Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
20170809 start python_selenium
20170809 start python_selenium
Semelhante a Jenkins と groovy
Gws 20120521 gradle
Gws 20120521 gradle
Nobuhiro Sue
明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
Grailsのススメ(仮)
Grailsのススメ(仮)
Tsuyoshi Yamamoto
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
masanori kataoka
Groovy base gradle_20130309
Groovy base gradle_20130309
Nobuhiro Sue
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
Gradle handson
Gradle handson
Nemoto Yusuke
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
Nobuhiro Sue
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
Yu Nobuoka
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nobuhiro Sue
Nseg20120929
Nseg20120929
hiro345
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
Atsushi Suzuki
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Naruto TAKAHASHI
Gradleプラグインを作成してみた
Gradleプラグインを作成してみた
shinya sakemoto
Hudson using Groovy #jggug
Hudson using Groovy #jggug
kimukou_26 Kimukou
CruiseControl.NET設置
CruiseControl.NET設置
Kuniaki Igarashi
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
Javaユーザに贈るJenkins 25のTips
Javaユーザに贈るJenkins 25のTips
Masanori Satoh
Semelhante a Jenkins と groovy
(20)
Gws 20120521 gradle
Gws 20120521 gradle
明日から使えるgradle
明日から使えるgradle
Grailsのススメ(仮)
Grailsのススメ(仮)
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
Groovy base gradle_20130309
Groovy base gradle_20130309
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
Gradle handson
Gradle handson
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nseg20120929
Nseg20120929
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Gradleプラグインを作成してみた
Gradleプラグインを作成してみた
Hudson using Groovy #jggug
Hudson using Groovy #jggug
CruiseControl.NET設置
CruiseControl.NET設置
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
Javaユーザに贈るJenkins 25のTips
Javaユーザに贈るJenkins 25のTips
Mais de Kohsuke Kawaguchi
Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
Kohsuke Kawaguchi
Workflow, container, and beyond
Workflow, container, and beyond
Kohsuke Kawaguchi
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
Kohsuke Kawaguchi
JavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build Environment
Kohsuke Kawaguchi
On sharing ideas & sharing code
On sharing ideas & sharing code
Kohsuke Kawaguchi
コードの互換性と進化の両立
コードの互換性と進化の両立
Kohsuke Kawaguchi
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Kohsuke Kawaguchi
Jenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: Keynote
Kohsuke Kawaguchi
Jenkins State of union 2013
Jenkins State of union 2013
Kohsuke Kawaguchi
How we made jenkins community
How we made jenkins community
Kohsuke Kawaguchi
第六回Jenkins勉強会
第六回Jenkins勉強会
Kohsuke Kawaguchi
Large scale automation with jenkins
Large scale automation with jenkins
Kohsuke Kawaguchi
Jenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San Francisco
Kohsuke Kawaguchi
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Kohsuke Kawaguchi
ここ最近のJenkins新機能
ここ最近のJenkins新機能
Kohsuke Kawaguchi
Jenkins user conference 東京
Jenkins user conference 東京
Kohsuke Kawaguchi
Dev@cloudの実装
Dev@cloudの実装
Kohsuke Kawaguchi
Developer summit continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
Kohsuke Kawaguchi
Creating a Developer Community
Creating a Developer Community
Kohsuke Kawaguchi
Jenkins user conference 2011
Jenkins user conference 2011
Kohsuke Kawaguchi
Mais de Kohsuke Kawaguchi
(20)
Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
Workflow, container, and beyond
Workflow, container, and beyond
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
JavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build Environment
On sharing ideas & sharing code
On sharing ideas & sharing code
コードの互換性と進化の両立
コードの互換性と進化の両立
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: Keynote
Jenkins State of union 2013
Jenkins State of union 2013
How we made jenkins community
How we made jenkins community
第六回Jenkins勉強会
第六回Jenkins勉強会
Large scale automation with jenkins
Large scale automation with jenkins
Jenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San Francisco
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
ここ最近のJenkins新機能
ここ最近のJenkins新機能
Jenkins user conference 東京
Jenkins user conference 東京
Dev@cloudの実装
Dev@cloudの実装
Developer summit continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
Creating a Developer Community
Creating a Developer Community
Jenkins user conference 2011
Jenkins user conference 2011
Último
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Último
(12)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Jenkins と groovy
1.
Jenkins と Groovy
川口耕介 CloudBees, Inc.
2.
3.
スクリプトコンソール 任意のGroovyスクリプトをeval 実行中のアプリケーションの内部を操作
VMWareESXiのsshアクセスみたいなもの トラブル対応 デバッグフラグをon/offしたり バッチ処理 ジョブの設定を一括で変えたり 情報収集 実行中のスレッドの一覧
4.
スクリプトコンソール 以前は運用中のJenkinsにデバッガを接続してやっていた デバッガでしかできない事もある
でも不便な事もある スクリプトを渡してユーザーに実行してもらう Jenkinsユーザーは開発者なので自分でクリエイティブに活用する人も
5.
実装 GroovyShellを使えば簡単 GroovyShell
shell = new GroovyShell(cl); StringWriter out = new StringWriter(); PrintWriter pw = new PrintWriter(out); shell.setVariable("out", pw); Object output = shell.evaluate(script); pw.println("Result: "+output);
6.
リクエスト・レスポンス方式の限界 ウェブページという仕組み上の制約 長く実行するプログラムを書けない
スクリプトをコピペしないといけない スクリプトに他の入力を渡すのが大変 スクリプトをscriptingできない
7.
やっぱりCLI! コマンドラインから実行すれば問題解決 Jenkins
JVM Client JVM Jenkins remoting GroovyShell
8.
デモ
9.
2つのJVMを跨ぐ Jenkins remoting
layerを利用 よく考えると色々面白い問題が System.outはどこへ? new File(“data.txt”)はどこへ? 両方アクセスできるようにする工夫が色々 new FilePath(channel, “data.txt”) ©2010 CloudBees, Inc. All Rights Reserved
10.
2つのJVMを跨ぐ データアクセスをtransparentに Jenkins
JVM Client JVM Jenkins remoting GroovyShell FilePath
11.
更に次のステップへ 計算を他のVMへ送りたい
12.
更に次のステップへ 計算を他のVMへ送りたい
13.
実験プロジェクト Droovy 分散計算プラットフォーム
Hadoopと勝負!ではなく、ちょっとしたやつ 複数の計算機を気軽に跨ぎたい Jenkinsの分散ビルド環境を利用
14.
ここでJenkins分散ビルドについて一言 マスター HTTPリクエストを処理
重要なデータを保管 スレーブ 170KB jar 信頼性は低くてよい 200位は普通に繋げる リンク 双方向バイトストリームで接続
15.
Back to Droovy
複数の計算機を跨いでスクリプトを書きたい 負荷テスト 処理の並列化 暗黙にコードを共有したい 通信路を意識しないプログラムを書きたい
16.
クロージャをリモート実行 slave =
connect(); slave { println “This code executes on a slave”; } println “This code executes on master”;
17.
クロージャには束縛された変数を含む slave =
connect(); name = “Duke”; slave { println “Hello from ${name}”; }
18.
コードは暗黙に共有される def sayHello(name)
{ println “Hello from ${name}”; } slave = connect(); name = “Duke”; slave { sayHello(name); }
19.
デモ
20.
Droovyまとめ コード共有とかの問題はJenkins remotingで解決済み
なぜGroovy? クロージャ概念がリモート実行とうまくマッチ 誰か使ってみませんか?
21.
Jenkins Groovy Shell
Groovyshもアプリケーションに埋め込める だからやってみた モデルは前と同じ 実行はJenkinsの中 I/OはクライアントJVMで 対話性は便利 障害対応とか スクリプトを書くための練習環境として
22.
Jenkins & Groovy
Mavenを使っていると時々… 些細なプラグインを書かされる羽目になったり 既存のプラグインの設定項目が足りなかったり Antを使ったほうが早い時があったり
23.
<plugin>
<groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.5</version> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>some directory</source> </sources> </configuration> </execution> </executions> </plugin>
24.
Mavenなんてやってられるか!
25.
GMaven そこでGMaven ビルドの一部をGroovyで書ける
Mavenの内部コンポーネントにアクセスできる AntBuilderも当然使える 利用例 コードカバレッジの取得と集計
26.
GMavenの欠点 しかし… Groovyを呼び出すだけで15行位書かないといけない
呼べるコンポーネントの量が少ない MavenProjectへの変更が反映されない 利用できる局面は限定的に パッチを当てたバージョンを作った http://github.com/kohsuke/gmaven 今後はGradleとかも試してみたい Polyglot Mavenがメンテナンスされれば…
27.
Groovyでテストを記述 Jenkinsのテストの一部はGroovyで書かれている 型宣言の手間が省ける
それでいてauto-completionは使える リテラルの構築が楽 さようならthrows節 プロパティアクセスなどが楽 実行速度?
28.
void testVariablesResolved() {
def project = createFreeStyleProject(); hudson.nodeProperties.replaceBy([ new EnvironmentVariablesNodeProperty( new Entry("KEY1", "value"), new Entry("KEY2",'$KEY1'))]); def builder = new CaptureEnvironmentBuilder(); project.buildersList.add(builder); buildAndAssertSuccess(project); def envVars = builder.envVars; assertEquals("value", envVars["KEY1"]); assertEquals("value", envVars["KEY2"]); }
29.
とはいえ… 思ったよりGroovyテストが増えてない Maven+Groovy+IntelliJが壊れやすい
ソースディレクトリが認識されなかったり 型安全でなくてもいいが、補完は必須 Closure周りで型情報が失われる
30.
Jelly -> Groovy
JenkinsではHTMLのレンダリングにJellyを使っている (JSTLのようなもの) <html> <head> <meta name="ROBOTS" content="INDEX,NOFOLLOW" /> <j:set var="mode" value="header" /> <j:forEach var="pd" items="${h.pageDecorators}"> <st:include it="${pd}" page="header.jelly" /> </j:forEach> ...
31.
Jelly -> Groovy
Builderを書いてGroovyで置き換えてみた html { head { meta(name:"ROBOTS",content:"INDEX,NOFOLLOW") mode = "header"; h.pageDecorators.each { pd -> st.include(it:pd, page:"header.jelly") } ...
32.
Jellyの欠点を解消 ツールサポートがない Expression
Languageが補完できない デバッガでステップ実行できない タグ・属性が補完されない
33.
欠点を解消したつもり… ELの補完は今ひとつ 暗黙の変数など
タグ・属性の補完は今ひとつ 実行速度は大丈夫? IntelliJにはDSLの補完を助ける機構があるらしいので試してみたい
34.
YouDebug 障害対応の選択肢を広げる ログやスタックトレースでは予期できない時が
開発中でも… ブレークする条件が複雑な場合 ソースがない場合 リモートで実行する場合 デバッガプロトコルを制御するDSLを作った
35.
YouDebug ブレークポイントでクロージャを実行 クロージャ内からローカル変数等にアクセス
“@1”などで序数からアクセスもできる breakpoint("org.acme.Main",15) { println "x=${x},y=${y}" }
36.
YouDebug JDIがサポートする全てのブレークポイントの種類が使える デバッガの用にターゲットVMで任意のメソッド・フィールドにアクセスできる
37.
デモ ©2010 CloudBees,
Inc. All Rights Reserved
38.
まとめ Jenkinsでは色々Groovyを使ってみた 実行時にユーザーに使わせる機能として
文句なしに便利 開発時の生産性を上げるために 結局はツールサポートの問題に Javaには優れたツールサポートがあるのでGroovyで置き換えてもメリットが薄い場合も
Baixar agora