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
Jenkinsおじさんと楽しい連携ツールたち
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
toshihirock
January 10, 2015
Technology
2.5k
1
Share
Jenkinsおじさんと楽しい連携ツールたち
Jenkinsユーザーカンファレンス2015東京LT
toshihirock
January 10, 2015
More Decks by toshihirock
See All by toshihirock
Lambdaを使ってJawsDaysをHackしてみよう!
toshihirock
2
1.9k
保守、運用で使ってみようLambda!
toshihirock
4
1.8k
CodeDeployを使ったアプリケーションデプロイを考える
toshihirock
0
680
Other Decks in Technology
See All in Technology
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
190
QGISプラグイン CMChangeDetector
naokimuroki
1
310
マルチエージェント × ハーネスエンジニアリング × GitLab Duo Agent Platformで実現する「AIエージェントに仕事をさせる時代へ。」 / 20260421 GitLab Duo Agent Platform
n11sh1
0
130
DevOpsDays Tokyo 2026 軽量な仕様書と新たなDORA AI ケイパビリティで実現する、動くソフトウェアを中心とした開発ライフサイクル / DevOpsDays Tokyo 2026
n11sh1
0
140
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
AWS認定資格は本当に意味があるのか?
nrinetcom
PRO
1
250
Eight Engineering Unit 紹介資料
sansan33
PRO
3
7.2k
昔はシンプルだった_AmazonS3
kawaji_scratch
0
300
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
310
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
78k
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
340
Featured
See All Featured
Designing for Timeless Needs
cassininazir
0
190
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
200
The Mindset for Success: Future Career Progression
greggifford
PRO
0
310
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
490
The Limits of Empathy - UXLibs8
cassininazir
1
290
Making Projects Easy
brettharned
120
6.6k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Claude Code のすすめ
schroneko
67
220k
Docker and Python
trallard
47
3.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
130
Transcript
Jenkins͓͡͞Μͱָ͍͠࿈ ܞπʔϧͨͪ +FOLJOTϢʔβʔΧϯϑΝϨϯε౦ژ !UPTIJIJSPDL
ࣗݾհ ɾ@toshihirock ɾ͓٬༷ઌʹͯAndroid։ൃͷ͓ख͍(ओʹ ։ൃڥվળ)Λ͍ͯ͠Δ ɾ͖ͳϙουΩϟετʮRebuildʯͱ ʮϥΠϜελʔӉଟؙͷΟʔΫΤϯυγϟο ϑϧʯ
͢͜ͱ
❤️ loves
❤️
Slack ɾνϟοτΞϓϦ ɾJenkinsͷϏϧυ݁Ռͷ௨Λߦ͏ ɾJenkins Slack pluginΛར༻ͯ͠࿈ܞ
͜Μͳײ͡Ͱදࣔ͞ΕΔ
Կ͔͞Έ͍ͬͯ͠ݴΘΕͨ
ίʔυม͑ͯΈͨ
EmojiͰΜͩ
❤️
Gitlab ɾGitHubͷΫϩʔϯɻCommunityEditionແྉͰ͑ Δ ɾ࣮ࡍʹར༻ͯ͠΄Ͳܦա͍ͯ͠Δ͕΄΅ͳ ͍͑ͯ͘Δ ɾMergeRequest(PullRequestͱ΄΅ಉ͡)Ͱ࣮ࡍʹ MasterʹϚʔδ͢ΔલʹϏϧυɺ੩తղੳɺςετΛ ߦ͏ ɾGitlab Merge
Request Builder PluginΛར༻ͯ͠࿈ܞ
Gitlab-MergeRequest݁Ռ
❤️
deploygate ɾiOS/AndoridΞϓϦͷςετ൛ΞϓϦͷ৴͕ ग़དྷΔ ɾΞϓϦʹରͯ͠ҙͷϝοηʔδΛ༩Ͱ͖Δ ɾgradle-deploygate-pluginΛར༻ͯ͠࿈ܞ (ProxyରԠͯ͠ͳ͔ͬͨͷͰϓϧϦΫͯ͠Ϛʔδ ͯ͠Βͬͨ)
GradleΛͬͯΞϓϦʹରͯ͠Ϗ ϧυ൪߸ ͱίϛοτใΛՃ
Ϗϧυ൪߸ ί ϛοτϝοηʔδ
࠷େݸͷ όʔδϣϯΛཧ
build.grade ʢ https://gist.github.com/toshihirock/ f4a0c96bc4809152d990ʣ
import groovy.json.* ext { jenkinsUrl = 'http://localhost:8080' buildNumber = System.getenv("BUILD_NUMBER");
jobName = System.getenv("JOB_NAME"); println "build number is ${buildNumber}" println "jobName is ${jobName}" } def getJson(url) { println "start getJson $url" def response = new URL(url).text return new JsonSlurper().parseText(response) } def getJenkinsMessage(msg) { def url = "${jenkinsUrl}/job/${jobName}/${buildNumber}/api/json" def items = getJson(url)['changeSet']['items'] items.eachWithIndex() { obj, i -> msg += obj['msg'] + ' ' } return msg }
deploygate { userName = ownerName token = myToken apks {
example { sourceFile = file(“build/outputs/apk/hoge.apk") //Below is optional if(buildNumber != null) { String msg = "B${buildNumber} " message = getJenkinsMessage(msg) } } } }
·ͱΊ ɾJenkins͓͡͞Μ୯ಠͰศར͚ͩͲଞ ͷ࿈ܞπʔϧͱΈ߹ΘͤΔͱศར ɾͨͩ͏͚ͩͰͳͯ͘ͻͱ͢Δͱͬ ͱศར ɾϙουΩϟετࠓฉ͖͍ͨ