Policy API Spec Driven Development • API Spec Driven Development using Swagger • https://speakerdeck.com/spring_mt/api-spec-driven- development-with-swagger
Policy Stateless and Immutable Build Artifacts • Artifacts will work everywhere without modifying • Artifacts will be deployable regardless of previous contexts
CI Build artifacts on every repos push • Server : Build Docker images • Client : Make ipa and apk files • Service Contents Data : Zipped JSON Files Run tests before integration Store All Artifacts
CI Why use external tools like CircleCI and Bitrise? • It is important to introduce CI from the beginning • So, to be easy to introduce CI is important • Independent from local environment
CI for Client Bitrise • Why? • Useful features for client app building • Easy to manage iOS Provisioning profile • Easy to manage Android Code signing • Store all artifacts(DeNA uses elite plan) • Distribute Apps on Bitrise • Easy to use workflow Editors
Bitrise Client Build Settings History History of build workflows using Bitrise 1. Default React Native Configurations • Simple and Fast! 2. Fastlane • For controlling build types
CD No CD • Deploy manually in ReRep • Server : kubectl set image • Client : Under preparation(will upload from Bitrise) • Contents Data for Service : Upload from Administrator tools
Deploy Docker images for Server Move docker image to Prod from Dev directly when QA finished • Move Docker image in Google Cloud Registry over GCP Project using gcloud command • gcloud container images add-tag
Retrospective Sever Troubles in Prod • No Release Step Troubles • One Prod Specific bug • Using “Rails.production?” Ops Client Troubles in Prod • Not Yet