Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Electron アプリのビルド + 配信自動化
ngs
February 10, 2016
Programming
0
2.4k
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.3k
Hubot を使って日々のルーチンワークをゼロにする
ngs
3
1.4k
IBM Cloud Tools for Swift
ngs
0
350
WWDC 2016
ngs
2
930
CI2Go
ngs
0
620
Oneteam の開発チームが行っている協同のための工夫 v2016-04-13
ngs
0
1.9k
Swift で開発した Web アプリケーションを Amazon EC2 Container Services で運用する
ngs
3
3.6k
Oneteam の 少人数で複数プロダクトを 開発する技術的な試行錯誤 #eventdots
ngs
2
2k
Kaizen Platform での Hubot 活用事例
ngs
7
4.6k
Other Decks in Programming
See All in Programming
[DevTrends - Jun/2022] Arquitetura baseada em eventos
camilacampos
0
150
The strategies behind ddd – AdeoDevSummit 2022
lilobase
PRO
4
250
Vite でお手軽 Vue.js の環境構築
azuki
2
180
開発速度を5倍早くするVSCodeの拡張機能を作った
purp1eeeee
2
150
Meet Swift Regex
usamik26
0
350
#JJUG_CCC 「サポート」は製品開発? - JDBCライブラリ屋さんが実践する攻めのテクニカルサポートとJavaエンジニアのキャリアについて -
cdataj
0
420
Running Laravel/PHP on AWS (AWS Builders Day Taiwan 2022)
dwchiang
0
140
Scrum Fest Osaka 2022/5年で200人になったスタートアップの アジャイル開発の歴史とリアル
atamaplus
1
890
短納期でローンチした新サービスをJavaで開発した話/launched new service using Java
eichisanden
6
1.9k
Angular‘s Future without NgModules: Architectures with Standalone Components @enterJS
manfredsteyer
PRO
0
230
Android スキルセットをフル活用して始めるスマートテレビアプリ開発
satsukies
1
200
Jetpack Compose best practices 動画紹介 @GoogleI/O LT会
takakitojo
0
330
Featured
See All Featured
The Mythical Team-Month
searls
209
39k
What's new in Ruby 2.0
geeforr
336
30k
How to train your dragon (web standard)
notwaldorf
58
3.9k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
213
11k
Six Lessons from altMBA
skipperchong
14
1.4k
Thoughts on Productivity
jonyablonski
43
2.3k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
10k
Designing for humans not robots
tammielis
241
23k
How to Ace a Technical Interview
jacobian
265
21k
Clear Off the Table
cherdarchuk
79
280k
Documentation Writing (for coders)
carmenhchung
48
2.6k
GraphQLとの向き合い方2022年版
quramy
16
8.3k
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
ଟँ