Top Banner
Presented By: Mohamed TAIEB @taiebmd Industrialization of Android Development (Concept)
25
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Industrialization of Android Development (Concept)

Presented By: Mohamed TAIEB@taiebmd

Industrialization of Android Development

(Concept)

Page 2: Industrialization of Android Development (Concept)

Hi !

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

@taiebmd

Page 3: Industrialization of Android Development (Concept)

Hi !

I’m working for a pretty cool campany:

Page 4: Industrialization of Android Development (Concept)

Summary

1. TDD

2. CI

3. CD

4. CDP

5. Tools (Jenkins)

6. Demo

Page 5: Industrialization of Android Development (Concept)

Test Driven Development (TDD)

Page 6: Industrialization of Android Development (Concept)

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

Page 7: Industrialization of Android Development (Concept)

What is Continuous Integration(CI)?

Page 8: Industrialization of Android Development (Concept)

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.

Page 9: Industrialization of Android Development (Concept)

2. CI

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

easier to find and remove.

Page 10: Industrialization of Android Development (Concept)

What is Continuous Delivery (CD)?

Page 11: Industrialization of Android Development (Concept)

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

Page 12: Industrialization of Android Development (Concept)

What is Continuous Deployment (CDP)?

Page 13: Industrialization of Android Development (Concept)

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.

Page 14: Industrialization of Android Development (Concept)

Tools

Page 15: Industrialization of Android Development (Concept)

5. Tools

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

Page 16: Industrialization of Android Development (Concept)

Android / Jenkins

Page 17: Industrialization of Android Development (Concept)

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

Page 18: Industrialization of Android Development (Concept)

6. CI Android/Jenkins / Configuring

Jenkins > Manage Jenkins > Configure System.

Page 19: Industrialization of Android Development (Concept)

6. CI Android/Jenkins / Configuring

Jenkins > Manage Jenkins > Configure System.

Page 20: Industrialization of Android Development (Concept)

6. CI Android/Jenkins / Configuring

Jenkins > Manage Jenkins > Configure System.

Page 21: Industrialization of Android Development (Concept)

6. CI Android/Jenkins / Configuring

Jenkins > Manage Jenkins > Manage Plugins.

Page 22: Industrialization of Android Development (Concept)

6. CI Android/Jenkins / Create a Job

Page 23: Industrialization of Android Development (Concept)

Turn it on Jenkins

Page 24: Industrialization of Android Development (Concept)
Page 25: Industrialization of Android Development (Concept)

Q & A@taiebmd