#meguroes 2 にて発表させていただいたスライドです。
Electron ΞϓϦͷϏϧυ + ৴ࣗಈԽAtsushi Nagase@ngs / http://ja.ngs.io/https://one-team.com/products/
View Slide
νʔϜͷڠಉΛαϙʔτ͢ΔαʔϏεΛఏڙ͍ͯ͠·͢ɻ
τϐοΫΛ࡞ͯ͠ɺ
ϦΞϧλΠϜʹٞΛੵΈॏͶͯࣄΛਐΊ͍ͯ͘ιϑτΣΞͰ͢
Tech StackFrontendDeployBackend APIDistribute
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⛏ BuildDistribute• 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⛏ BuildDistribute• 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-notifyDarwin!!!1!git add -A build && cd buildgit push --force $YET_ANOTHER_GIT_REPO $CIRCLE_BRANCH
Setupূ໌ॻͷಡΈࠐΈ
SetupHomebrew ͰඞཁͳιϑτΣΞͷΠϯετʔϧ
SetupHomebrew ͰඞཁͳιϑτΣΞͷΠϯετʔϧcd /usr/localtar 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.jsonelectron-builder build/Oneteam-win32-ia32 \--platform=win --out=$DIR --config=packager.jsonhttps://github.com/loopline-systems/electron-builder
aws s3 sync dist \"s3://$S3BUCKET/desktop/${VERSION}/b${BUILD_NUM}" \--acl public-readcurl -X POST --data-urlencode "payload={ ... }" \$SLACK_WEBHOOK_URL
TODO
Windows ༻ͷূ໌ॻͷΠϯετʔϧTODO
TODOAuto Updater ͷઃఆhttp://electron.atom.io/docs/v0.36.7/api/auto-updater/
https://one-team.com/ja/recruit/We're HIRING
ଟँ