Sébastien Lucas / Dev wiki
  • Blog Wiki
  • Story book
  • Developers comics
  • Angular
    • Angular CLI + Angular.json
    • ngTemplateOutlet
    • Angular Schematic
    • Interceptor
    • Micro frontend + Mono repo
    • Build a library module
    • Error handling
    • Virtual and infinite scroll
    • Angular i18n
    • Debug Angular
    • Angular LifeCycle Hook
    • Nested forms in Angular
    • Angular Recipes
    • Master component in Angular
    • Perfomance optimization
    • Service Workers + PWA
    • Mobile
    • Electron app / Desktop app
    • Unit test & Angular
      • Unit test recipes (Jasmine / Karma / Angular)
      • Testing services with httpMock
    • Communication between components
    • Angular snippet library
    • Release and version management
    • Angular tutorial selection
    • UI components libraries
    • Angular libraries
    • Angular Tutorials
    • NGRX
      • Angular NGRX / Tips and code examples
      • Angular new Redux (alternative to ngrx)
      • NGRX unit test
      • Angular ngrx / Basics
    • Angular 2/Angular 1 differences
  • Graphql
  • Three.js
  • Ag grid
  • Open source BIM and 3D
  • Javascript
    • Null vs undefined
    • Html API
    • Await API
    • Debug memory leaks
    • Offline and PWA
    • Javascript tutorials
    • Javascript recipes
    • Bluebird missing docs
    • Alternative to lodash with ES6
    • ES6 syntax the best parts
    • Vanilla JS
  • RXJS
    • Docs
    • Recipes
    • Mock API and sandbox
    • Observables rxjs recipes
    • Combination operators
  • NODE.js
    • Environment variables
    • Fix CORS
    • Pagination requests in API
    • API tests
    • Node.js security
    • Learn node.js
    • Best libraries for node.js
    • Mongoose recipe
    • Debug node.js
  • Gatsby / React
    • Hooks
    • React concepts
    • Gatsby internationalisation
  • Ghost blog
  • Services for developers
    • SaaS images services
    • Airtable API examples
  • MISC
    • JIRA debugging
    • Wordpress plugins
    • Interview Sébastien Lucas
    • English expression
    • True recipes
    • Science podcast
  • AI
    • Machine learning open source
    • Tensor flow
    • Machine learning
    • Code examples
    • Courses and tutorials
    • Datasets
    • The Future of AI
    • Learn algo and data structures
  • Typescript
    • Generic types
    • Typescript recipes
    • Advanced types
      • Conditional types
      • Type guards
    • d.ts files
  • Docker
    • Starting with docker
    • Dockerise simple node app
    • Docker by aymen el amri
  • Mongodb
    • Pattern and data modeling
  • Devops
    • Heroku
    • Scaleway
    • Github template
    • Gitlab CI
    • http2
    • nginx
    • zsh
    • CI Continuous integration
    • DNS
    • Devops resources
    • Gcloud useful commands
    • Authenticate Gcloud
    • Documentation generators
    • Firebase database
  • Developers ressources
    • Online platform coding
      • Online courses
      • Coding games
      • Coding test platforms
      • Links to check
    • Good developers blogs
    • Nice open source project / github
  • Tooling
    • The chrome urls
    • Linux Mac tips
    • Webstorm configuration
    • Develop in Windows
    • Mac debug hardware
    • Mac Setup for a developer
    • Chrome extension
    • Develop toolbox
  • HTML / CSS
    • Tailwind
    • Css grid
    • ☘️Nice styles & generators
    • Favicon
    • Flexbox grid
    • Flexbox layout
    • PUG templates tips
    • Html and css references
    • Css snippets
    • SASS-CSS libraries
    • New things in scss
    • SASS best practices
    • Style lint
  • Tests
    • Cypress
      • Learn cypress and more tests
      • Cypress commands
      • Cypress plugins
      • Page object && app actions
      • Flaky tests
    • Mobile test
    • BDD + Cucumber
    • Puppeteer
    • Type of tests + Ressources
    • Jasmine test
    • Mock, fake, stub in unit tests
    • E2e tests with protactor
    • Mocha
  • REVIT & AEC tools
  • Git
    • Git commits
    • Git tips
    • Git hooks
    • Set up a mono repo
  • Design Pattern
    • Functional Programming
  • Job board / Remote jobs
  • SVG
  • JSON
  • Github
    • Forking a github repo
  • NPM
    • Private NPM packages
    • Publish to NPM with np
  • Yarn
    • Yarn evolution / 2, 3...
    • Yarn Linking
Powered by GitBook
On this page
  • One repo or multiple repos
  • What is Continuous integration / Continuous deployement
  • Which CI server to choose

Was this helpful?

  1. Devops

CI Continuous integration

PreviouszshNextDNS

Last updated 6 years ago

Was this helpful?

One repo or multiple repos

  • One repo better

  • One or multiple in the context of micro-services

  • Mono repository for micro service

What is Continuous integration / Continuous deployement

Continuous Integration (CI) : Push changes on developement server quickly and automatically so new changes can be tested earlier

Continous Deployement (CD) : Push changes on production server quickly and automatically so new changes can benefits to users earlier

All the infos here

The most important being :

The practice

  • Maintain a single source repository

  • Automate the build

  • Make your build self-testing

  • Every commit should build on an integration machine

  • Keep the build fast

  • Test in a clone of the production environment

  • Make it easy for anyone to get the latest executable version

  • Everyone can see what’s happening

  • Automate deployment

How to do it

  • Developers check out code into their private workspaces

  • When done, commit the changes to the repository

  • The CI server monitors the repository and checks out changes when they occur

  • The CI server builds the system and runs unit and integration tests

  • The CI server releases deployable artefacts for testing

  • The CI server assigns a build label to the version of the code it just built

  • The CI server informs the team of the successful build

  • If the build or tests fail, the CI server alerts the team

  • The team fixes the issue at the earliest opportunity

  • Continue to continually integrate and test throughout the project

Team responsibilities

  • Check in frequently

  • Don’t check in broken code

  • Don’t check in untested code

  • Don’t check in when the build is broken

  • Don’t go home after checking in until the system builds

Which CI server to choose

A comparison of continuous integration tools

  • Amazon AWS tutorial for contiuous integration

https://nrwl.io/nx/why-a-workspace
https://medium.com/@somakdas/code-repository-for-micro-services-mono-repository-or-multiple-repositories-d9ad6a8f6e0e
http://blog.shippable.com/our-journey-to-microservices-and-a-mono-repository
https://www.thoughtworks.com/continuous-integration
https://www.code-maze.com/top-8-continuous-integration-tools/
https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials.html