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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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.9k
CodeDeployを使ったアプリケーションデプロイを考える
toshihirock
0
690
Other Decks in Technology
See All in Technology
Chainlitで作るお手軽チャットUI
ynt0485
0
260
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
130
攻撃者視点で考えるDetection Engineering
cryptopeg
3
1.9k
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
230
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
360
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
150
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
260
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
150
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
130
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
3k
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
230
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
エンジニアに許された特別な時間の終わり
watany
107
250k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
Google's AI Overviews - The New Search
badams
0
1k
Music & Morning Musume
bryan
47
7.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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͓͡͞Μ୯ಠͰศར͚ͩͲଞ ͷ࿈ܞπʔϧͱΈ߹ΘͤΔͱศར ɾͨͩ͏͚ͩͰͳͯ͘ͻͱ͢Δͱͬ ͱศར ɾϙουΩϟετࠓฉ͖͍ͨ