deployment automation framework with selenium

Post on 29-Nov-2014

2.564 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

In my slides, I presented my experience in setting up a deployment automation framework with selenium. The deployment automation framework dramatically dramatically reduced my deployment workload. I hope my deployment automation setup experience help you in your own/customized automation framework setup with selenium and other open source tools.

TRANSCRIPT

Deployment Automation Practice

in Agile Software Development

Wenhua Wang

Software Quality Assurance Engineer

Marin Software Company

Email: wenhua.wang@marinsoftware.com, wangwenhua06@hotmail.com

Outline

• Introduction to the deployment work

• Deployment work in agile software development

• Is it valuable to do the deployment automation work?

• Deployment work automation

• Deployment working environment and procedure

• Deployment automation implementation

• Q & A

Deployment work in agile software development

Deployment work is tedious

• Marin has 30+ developers.

No one wants to take it.

• A senior QA engineer left,

because of this tedious work.

Outline

• Introduction to the deployment work

• Deployment work in agile software development

• Is it valuable to do the deployment automation work?

• Deployment work automation

• Deployment working environment and procedure

• Deployment automation implementation

• Q & A

Working environment

• 12 distributed, heterogeneous, and specialized servers.

• 26 steps are required

Working procedure

1. Grab the current tracking number (Example: Appendix 1).

• branches-iteration-0019-front_end-47279 @ 20110913-04:44:58

branches-iteration-0019-mscm-47280 @ 20110902-04:54:56

2. Log into SVN server.

• Input URL, user name and password

3. Got revision log page.

4. Search all the revisions after 47280 and copy them (Example: Appendix 2).

5. Log into email server.

• Input URL, user name and password

6. Compose deployment notification email (Example: Appendix 3).

• Receivers: QA, DEV, PRODUCT

• Title: what build, what time, where to deploy

• Content: new revisions

************wait for the deployment time*************

Working procedure

7. Log into the deployment server.

• Host name, username, password

8. Download latest compiled files from build server.

• Java Bridge, Spring Server, ACDC, Front End, ……

9. Stop services in the enterprise testing environment.

10. Deploy compiled files to enterprise testing environment.

• Java Bridge, Spring Server, ACDC, Front End, ……

11. Go to database schema management server

12. Update data cloud schema.

13. Exit database schema management server.

14. Start services in the enterprise testing environment.

15. Log into admin server.

• Host name, username, password

Working procedure

16. Switch to enterprise log server.

• Host name, username, password

17. Go to log file server to check environment status.

• /var/splunk/logs/dbs02/acdc/acdc-log.log

• /var/splunk/logs/aps04/mscm/springserver-log.log

• /var/splunk/logs/wps01/javabridge-log.log

• /var/ftp/logs/ftpserver-log.log

18. ~ 26. : repeat 9~17 for the Pro testing environment.

Outline

• Introduction to the deployment work

• Deployment work in agile software development

• Is it valuable to do the deployment automation work?

• Deployment work automation

• Deployment working environment and procedure

• Deployment automation implementation

• Q & A

Automate deployment work

• Techniques: Linux shell scripts, Selenium, and

Hudson.

• Automated steps 8 ~ 26 with Linux shell scripts.

• Pushing build script

• Status checking script

• Next: used selenium to automate the rest 9 steps.

Automate deployment work

1. Grab the current version number.

• branches-iteration-0019-front_end-47279 @ 20110913-04:44:58

branches-iteration-0019-mscm-47280 @ 20110902-04:54:56

2. Log into SVN server.

• Input URL, user name and password

3. Got revision log page.

4. Search all the revisions after 47280 and copy them

5. Log into email server.

• Input URL, user name and password

6. Compose deployment notification email.

• Receivers: QA, DEV, PRODUCT

• Title: what build, what time, where to deploy

• Content: new revisions

************wait for the deployment time*************

Automate deployment work

7. Log into the deployment server.

• Host name, username, password

8. Run pushing scripts for deployment work.

• Deploy a new build for enterprise and environment.

• Deploy a new build for pro environment.

9. Run status checking scripts.

Automate deployment work

Automate deployment work

Outline

• Introduction to the deployment work

• Deployment work in agile software development

• Is it valuable to do the deployment automation work?

• Automating whole deployment process

• Deployment working environment and procedure

• Deployment automation implementation

• Q & A

Appendix 1

Appendix 2

Appendix 3

Appendix 4

Thanks !

top related