Simona Cotin: Code and Deploy Angular to the Cloud
Keynote talk by Simon Cotin at the Plone Conference 2017 in Barcelona.
I am a cloud development advocate at Microsoft.
"The Plone community is a drinking community with a software problem," quoting Alexander Loechel.
"It works on my machine..." You hear that a lot. CICD (Continuous Integration and Continuous Development) help here. I will show you that you too can be a CICD master.
You want to automate your builds, your deployments, and your testing.
You want to have change management. Sure, you use a repository for your source code. But what about database schemas and configuration?
Continuous Integration needs:
- frequest commits
- test runs for each commit
- fixing production is the main priority
Continuous Delivery, why?
- avoid a deployment risk
- real progress: a bug is fixed, and the fix is not just sitting there in a repository, but is actually live
- you get quick feedback from your users
- automate the build
- automate the test
- automate the deployment
For Angular you can use Angular CLI: ng build --prod --build-optimizer. Lots of flags, like --aot for ahead of time compilation, for a faster web site.
On Circle CI you can register with your github account and let it build your project, and then you can use it on for example Docker. It does require access to all your projects currently.
[Demo of Circle CI and Docker.]
There is also an Azure Container registry, where you can have private docker images. You can setup hooks that watch for a new release here, and immediately deploy the new image to production.