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
Electron アプリのビルド + 配信自動化
Search
ngs
February 10, 2016
Programming
0
3k
Electron アプリのビルド + 配信自動化
#meguroes 2 にて発表させていただいたスライドです。
ngs
February 10, 2016
Tweet
Share
More Decks by ngs
See All by ngs
Mindstorms NXT Playground Book for iPad
ngs
0
1.9k
Hubot を使って日々のルーチンワークをゼロにする
ngs
3
1.6k
IBM Cloud Tools for Swift
ngs
0
510
WWDC 2016
ngs
2
1.5k
CI2Go
ngs
0
910
Oneteam の開発チームが行っている協同のための工夫 v2016-04-13
ngs
0
2.8k
Swift で開発した Web アプリケーションを Amazon EC2 Container Services で運用する
ngs
3
4.4k
Oneteam の 少人数で複数プロダクトを 開発する技術的な試行錯誤 #eventdots
ngs
2
3.1k
Kaizen Platform での Hubot 活用事例
ngs
7
5.4k
Other Decks in Programming
See All in Programming
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.1k
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
390
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
1.9k
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.8k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
400
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.4k
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
200
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
900
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
440
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
89
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
260
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
My Coaching Mixtape
mlcsv
0
13
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
32
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
73
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Transcript
Electron ΞϓϦͷ Ϗϧυ + ৴ࣗಈԽ Atsushi Nagase @ngs / http://ja.ngs.io/
https://one-team.com/products/
νʔϜͷڠಉΛαϙʔτ͢ΔαʔϏεΛఏڙ͍ͯ͠·͢ɻ
None
τϐοΫΛ࡞ͯ͠ɺ
ϦΞϧλΠϜʹٞΛੵΈॏͶͯ ࣄΛਐΊ͍ͯ͘ιϑτΣΞͰ͢
Tech Stack Frontend Deploy Backend API Distribute
None
Deploy • docker build -t $TARGET docker • docker push
"${DOCKER_REPO}:${TAG_WEB}-staging-b${CIRCLE_BUILD_NUM}" • npm run asset:sync (to AWS S3) • aws ecs update-service --cluster ${CLUSTER} —service ... • webpack --config config/webpack.config.babel.js • jade src/templates/index.jade --out build ⛏ Build Distribute • electron-packager ./app Oneteam --out build --platform=darwin ... • electron-builder $BUILT --platform=osx --out=$DIR ... • codesign --deep --force --verify --verbose --sign "$identity" "$app" ... • productbuild --component "$APP_PATH" /Applications ... • slack-notify
Deploy • docker build -t $TARGET docker • docker push
"${DOCKER_REPO}:${TAG_WEB}-staging-b${CIRCLE_BUILD_NUM}" • npm run asset:sync (to AWS S3) • aws ecs update-service --cluster ${CLUSTER} —service ... • webpack --config config/webpack.config.babel.js • jade src/templates/index.jade --out build ⛏ Build Distribute • electron-packager ./app Oneteam --out build --platform=darwin ... • electron-builder $BUILT --platform=osx --out=$DIR ... • codesign --deep --force --verify --verbose --sign "$identity" "$app" ... • productbuild --component "$APP_PATH" /Applications ... • slack-notify Darwin!!!1! git add -A build && cd build git push --force $YET_ANOTHER_GIT_REPO $CIRCLE_BRANCH
Setup ূ໌ॻͷಡΈࠐΈ
Setup Homebrew ͰඞཁͳιϑτΣΞͷΠϯετʔϧ
Setup Homebrew ͰඞཁͳιϑτΣΞͷΠϯετʔϧ
Setup Homebrew ͰඞཁͳιϑτΣΞͷΠϯετʔϧ cd /usr/local tar cvfz $CIRCLE_ARTIFACTS/HomebrewCellar.tgz Cellar
#
electron-packager ./app Oneteam \ --out build \ --platform=darwin --arch=x64 \
--version=$ELECTRON_VERSION \ --build-version=$BUILD_NUM \ --app-bundle-id=$BUNDLE_ID_PREFIX.Oneteam \ --app-version=$VERSION \ --asar \ --helper-bundle-id=$BUNDLE_ID_PREFIX.OneteamHelper \ --icon=assets/osx/app.icns \ --overwrite \ --sign 'Developer ID Application: Oneteam Inc. (579B4336F6)' https://github.com/maxogden/electron-packager
electron-builder build/Oneteam-darwin-x64/Oneteam.app \ --platform=osx --out=$DIR --config=packager.json electron-builder build/Oneteam-win32-ia32 \ --platform=win
--out=$DIR --config=packager.json https://github.com/loopline-systems/electron-builder
aws s3 sync dist \ "s3://$S3BUCKET/desktop/${VERSION}/b${BUILD_NUM}" \ --acl public-read curl
-X POST --data-urlencode "payload={ ... }" \ $SLACK_WEBHOOK_URL
TODO
Windows ༻ͷূ໌ॻͷΠϯετʔϧ TODO
TODO Auto Updater ͷઃఆ http://electron.atom.io/docs/v0.36.7/api/auto-updater/
https://one-team.com/ja/recruit/ We're HIRING
ଟँ