25
Presented By: Mohamed TAIEB @taiebmd Industrialization of Android Development (Concept)

Industrialization of Android Development (Concept)

Embed Size (px)

Citation preview

Presented By: Mohamed TAIEB@taiebmd

Industrialization of Android Development

(Concept)

Hi !

Hi. I’m Mohamed TAIEB. I’m a Front-End & Mobile Developer

@taiebmd

Hi !

I’m working for a pretty cool campany:

Summary

1. TDD

2. CI

3. CD

4. CDP

5. Tools (Jenkins)

6. Demo

Test Driven Development (TDD)

1. TDD

Software development practice

First understand the requirement

Create test that tests this requirement

Run test and expect FAIL

Provide basic implementation

Run test and expect PASS

Improve your implementation to test changes

What is Continuous Integration(CI)?

2. CISoftware development practice

Continuous commit (at least once, best several times a day)

Run UT/IT tests (githooks) in local environment before commit.

Continuous build and Deploy: check Functional tests, performances, …

Why?

Each integration is verified by an automated build (including test)

detect integration errors as quickly as possible.

it helps the code stay robust enough

ensure that you are not committing buggy code.

2. CI

Continuous Integrations doesn’t get rid of bugs, but it does make them dramatically

easier to find and remove.

What is Continuous Delivery (CD)?

3. CD

Next step of CI

Every commit, change to the system, can be released for production at the push of a button

Manual Release (RC)

Why?

Get automatic and fast feedback from production like environment with each commit.

Prepare for deployment Pipelines

What is Continuous Deployment (CDP)?

4. CDP

Conclusion of CD

Confused with CD The release to production is completely

automated Every validated commit is automatically

released to production

Why?

Create deployment Pipelines: Automated implimentation of your application’s build, deploy, test and release process.

Tools

5. Tools

Apache Continuum Hudson/Jenkins Vulcan TinderBox CruideControl (.Net) Bamboo (Cloud Solution) CloudBees (Cloud Solution) Adobe PhoneGap Builder ….

Android / Jenkins

6. CI Android/Jenkins / Install

Download the appropriate package from: https://jenkins-ci.org/

If you use the .war package:$ cd /Documents/jenkins Jenkins$ java –jar jenkins.war

If you use the Jenkins-OSX installer package- Follow the steps of the installer (License, destination, …)- Restart the computer

Point your browser to: http://localhost:8080

6. CI Android/Jenkins / Configuring

Jenkins > Manage Jenkins > Configure System.

6. CI Android/Jenkins / Configuring

Jenkins > Manage Jenkins > Configure System.

6. CI Android/Jenkins / Configuring

Jenkins > Manage Jenkins > Configure System.

6. CI Android/Jenkins / Configuring

Jenkins > Manage Jenkins > Manage Plugins.

6. CI Android/Jenkins / Create a Job

Turn it on Jenkins

Q & A@taiebmd