ci-from-scratch



ci-from-scratch

0 0


ci-from-scratch

Slides of Continuous Integration from Scratch Session

On Github omero / ci-from-scratch

Continuous integration from scratch

Drupal Camp Mexico

November 2015, UNAM

About me

Omar Aguirre

Drupal Architect at AXTEL

My names is ....

I work for FFW (Formely knonw as Blink reaction & Propeople

We live in an environment where every day more products and services are based on software, where we can always find a number of problems, which doing a deep analysis always have a common enemy, the poor quality of the technology.

It is also a reality that every day, the software projects are becoming more and more complex, they interact with a large number of systems at once, and should not be surprising to have some errors.

The developers are living in a dangerous world of chalenges, therefore working with very complex environments and we haven't alternatives except that deal with it.

For that reason coming up, we are going to talk about some practices that can help us to overcome this challenges

Continuous Integration

Agenda

  • What is Continuous Integration
  • Why sould be worried about CI on my development workflow
  • Terminology
  • How to made Continuous Integration
  • Defining a workflow (Inspiration)
  • Demo

What is Continuous Integration

Wikipedia says: Is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day.

Originally is something like integrate code, databases, etc of the development team into the main project at the production environments at the end of the day ...

This tedious task for only one person, in fact for all the team ... at the end of the day can do the project more slower and more expensive, and of course more boring.

When we are making software … one of the most exciting and important things is focus on the new features of our project, and sometimes we forgot and don’t see if our new features or components broke other part of our project.

Now the CI has evolutionate a lot, thanks to the automation and the hard work of the community, this has been passed from a tedious series of task to some kind of awesome magic.

Why sould be worried about "CI" on my development workflow

The risky business of software developmtment.

  • Fixing bugs late is costly
  • Big teams can made big and great things, but also big disasters (lack of cohesion)
  • Poor quality of code (inmaintanible project at sometime of the project)
  • Poor visibility of the project (who knows who did this :/ )

But not all is bad news ...

We can build software, better, faster and cheaper :D

Better

  • Build better quality software
  • Test early and often
  • Using best practices

Faster

  • Test in parallel
  • Immediately feedback

Cheaper

  • Fix when least costly
  • Identification of errors early
  • Automated Testing and Continuos Deployment

The complexity of our project forces it increase the quality on the implementation.

Be awesome and automate all the things

Terminology

  • Branch
  • Commits
  • Automated test
  • Self Testing
  • Build
  • Integration
  • Deploy
  • Notifications

How to do Continuous Integration?

CI Servers

CI Services (Sass)

Testing

Backend

Frontend

Quality Assurance

Defining a workflow (Inspiration)

CI Services

CI Servers

Based Workflows

  • Grunt Drupal Tasks
  • Terra Ops

DEMO TIME

Q & A

THANKS

Continuous integration from scratch Drupal Camp Mexico November 2015, UNAM