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
2.7k
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.6k
Hubot を使って日々のルーチンワークをゼロにする
ngs
3
1.4k
IBM Cloud Tools for Swift
ngs
0
410
WWDC 2016
ngs
2
1.2k
CI2Go
ngs
0
760
Oneteam の開発チームが行っている協同のための工夫 v2016-04-13
ngs
0
2.2k
Swift で開発した Web アプリケーションを Amazon EC2 Container Services で運用する
ngs
3
4k
Oneteam の 少人数で複数プロダクトを 開発する技術的な試行錯誤 #eventdots
ngs
2
2.4k
Kaizen Platform での Hubot 活用事例
ngs
7
5k
Other Decks in Programming
See All in Programming
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
1.2k
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
310
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
510
使ってみよう Azure AI Document Intelligence
kosmosebi
2
300
Milestoner
bkuhlmann
1
410
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
670
PHPはいつから死んでいるかの調査
chiroruxx
1
400
ONE WEDGE_company_guide
1wedge_one
0
470
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Become a Pro
speakerdeck
PRO
11
4.5k
We Have a Design System, Now What?
morganepeng
43
6.7k
Code Review Best Practice
trishagee
55
15k
Six Lessons from altMBA
skipperchong
21
3k
Design by the Numbers
sachag
274
18k
Visualization
eitanlees
136
14k
The Mythical Team-Month
searls
216
42k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
In The Pink: A Labor of Love
frogandcode
138
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
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
ଟँ