Continuous Build and Test Integration

Get Started. It's Free
or sign up with your email address
Continuous Build and Test Integration by Mind Map: Continuous Build and Test Integration

1. N, New Project

1.1. Single Sign On with Network Creds

1.1.1. Self-Service Team Creation

1.1.2. Invite other Team Members to private Team

1.2. Multi-Tenant

1.2.1. Team Organizations

1.2.2. Multi-Team Build and Test Organizations

1.3. Add a Repository

1.3.1. stash.soma

1.3.2. github.com

1.3.3. git.soma

1.3.4. perforce (v3)

1.4. Configure your Repos

1.4.1. Build on change detection

1.4.2. Build manually

1.4.3. Build triggered by other builds

1.4.4. Build with a special node (OSX, Windows, or Linux) (Self-Service in v3)

1.5. Create yaml file

1.5.1. Build and test commands in the source code, yaml

1.5.2. Partition work horizontally, developer-driven or automatically

2. Review Results

2.1. Test Failures and Passes

2.1.1. Full report available

2.1.2. Configurable Retention Period

2.1.3. API to Luna (v3)

2.1.4. Gus Integration (OSX v2, Linux and Windows Phone v3)

2.1.5. Screenshots Captured and Persisted (Linux v2, OSX and Windows v3)

2.1.6. Video Captured and Persisted (Linux v2, OSX and Windows v3)

2.2. Test Non-Determinism Detected

2.2.1. Auto-retry of failed tests for potential non-determinism

2.2.2. Auto-detection of non-determinism (v3)

2.3. New Test Failures Detected

2.3.1. New failures highlighted

2.4. Configurable Alerts

2.4.1. Email

2.4.2. HipChat

2.4.3. Generic Web Hook for any custom implementation

2.4.4. Chatter (v3)

3. Platforms

3.1. Linux

3.1.1. Android

3.1.1.1. Android 4.2 and below

3.2. Windows

3.2.1. Windows Phone

3.2.1.1. Win8.1

3.3. OSX

3.3.1. iOS

3.3.1.1. iOS8 and below

3.3.1.2. iPhone

3.3.1.3. iPad

4. Make a Change to Source

4.1. Every changelist is tested

4.1.1. Team-driven build and test jobs run against every commit

4.2. Push code change to a topic branch

4.2.1. Build and test are kicked off automatically

4.2.2. Any topic branch automatically tested (if desired)

4.2.3. No change with failure pushed through

4.2.4. Auto-merge into main line upon success (v3)

4.3. No job queue wait time, aggressive parallelizing

4.3.1. Auto-scaling, elastic nodes spun up on demand

4.3.2. Resource management and allocation per Team

4.3.3. Parallelism built in for all jobs (Linux v2, OSX and Windows v3)

4.4. Easy Debugging in CI - Issue only occuring in CI? No problem!

4.4.1. Start Debug Session, ssh to sample node already setup just before build and test starts.

4.4.2. Run commands manually, debug to find the issue, done

5. System Robustness

5.1. Monitoring and Alerts for Off-Premise Cloud

5.1.1. System-wide monitoring and alerting with 24/7, 1 hour response time

5.1.2. Highly redundant masters, backups and recovery mechanisms

5.1.3. Agent running on all nodes detects disk, ram, network and critical process failures, is auto-removed from pool of available workers (Linux v2, OSX and Windows v3)

5.2. Monitoring and Alerting for On-Premise Cloud

5.2.1. System-wide monitoring and alerting with SLA

5.2.2. Restful monitoring API configurable with any internal tool

5.3. Template Management

5.3.1. Code-driven template creation and maintenance

5.3.2. Extensive test automation for new templates

5.3.3. Robust, documented release process

5.3.4. Self-service package install with yaml config file

5.3.5. Option to use a docker container constructed from self-service docker file (Linux only) (v3)