CI System

Outline

  1. Introduction

  2. Working Flow

  3. Problem we met

  4. What I have learned

  5. Reference

  6. Q & A

Introduction

Demo Travis & heroku

Introduction

Demo GitLab CI

Why not using GitLab CI?

Introduction

  1. Build project per commit

  2. Less flexiblility

    1. plugin
    2. gitlab ci cannot adjust when to test

Introduction

Introduction

Why using Jenkins?

  1. Well know

  2. Easy to use

  3. Flexibility

    1. a lot of plugin (mail, pipline...etc)
    2. adjust build time when you need

Currently, we think that jenkins is more suitable for us

Working Flow

  1. phase1:

    1. Update Jenkins jobs

    2. Update CI Master

  2. phase2:

    1. Assign jobs to labs

  3. phase3:
    1. update labs scripts before test run
    2. run test

phase1: Update jenkins jobs

&

CI Master

Phase2: Assign jobs to lab

Phase3: Update lab & run job

Problem we met

Dev Environment

Jobs configs

Logs

Jobs configs

Jenkins server 1

Jenkins server 2

Dev Environment

Jobs configs

Logs

Jobs configs

Jenkins server 1

Jenkins server 2

current solution: rsync

rsync

Test Golden Data

  1. synoqc
  2. synostorage
  3. our lab

How to test CI System?

Multiple Serverices (container & DS)

  1. Check DS alive or died in lab
  2. Control container like a lot of host
    1. not like single cluster host
  3. Define what data need to log in database
  4. Server (container) deploy to different machine
  5. Add Test lab (currently by manual)

Multiple Serverices (container & DS)

Solutions?

  1. docker-machine style behavior
  2. docker swarm
  3. etcd , consul

Mail List

&

When send reports

(failed, success, any ...ect)

Report Format

What I have learned?

A lot of python programming technique

Testing Framework

Generating document is important

  1. sphinx
  2. webapi-DSM5/docs/apidoc.py

Implement Applications in docker

Database ORM

Database Migration

Advanced use jenkins

SSH is Powerful

Provide Service not just provide app

Service discover is important

Some cluster concepts

Reference

Q & A

CI System

By chang-ning tsai

CI System

  • 414