• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Flash Camp Chennai - Build automation of Flex and AIR applications
 

Flash Camp Chennai - Build automation of Flex and AIR applications

on

  • 2,042 views

Complete session on how to set up a continuous integration server for compiling and deploying Flex, Flash and AIR applications. The build process also include code quality check, code duplication ...

Complete session on how to set up a continuous integration server for compiling and deploying Flex, Flash and AIR applications. The build process also include code quality check, code duplication check, compiler warning reporting, TODO and FIXME list reporting, and Unit testing.

Statistics

Views

Total Views
2,042
Views on SlideShare
1,990
Embed Views
52

Actions

Likes
1
Downloads
0
Comments
1

2 Embeds 52

http://www.indiflashcamp.com 51
http://www.slashdocs.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Check out our blog post on this subject: http://techblog.dozeo.com/post/56336651309/using-ant-for-build-and-deployment-automation-of-flash.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Flash Camp Chennai - Build automation of Flex and AIR applications Flash Camp Chennai - Build automation of Flex and AIR applications Presentation Transcript

    • Build Automation of Flash, Flex, and AIR apps Vipin Chandran Project Manager – Impelsys India http://twitter.com/flashchemist http://blog.flashchemist.com
    • What is build automation?
      • Build automation is the act of scripting or automating a wide variety of tasks that software developers do in their day-to-day activities including things like:
      • compiling computer source code into binary code
      • packaging binary code
      • running tests
      • deployment to production systems
      • creating documentation and/or release notes
      - Wikipedia
    • Identify these?
    • Run – Builds a swf movie with debug information Debug – Run the swf in Debug Perspective Profiler – Run the swf in Profiler Perspective
    • Export Release Build What you do when you release a Flex/AIR application?
    • Export Release Build Is this the only thing you need, to deploy a software? You may need to:
      • Rename the swf file
      • Encrypt the swf file (to protect from de-compilation)
      • Add other files to the release folder.
      • May zip the files and folders.
      • Collect all the related source files for delivery.
      • Upload to an FTP
      • Upload to a server
      • Send an Email saying that the release has been made.
      • Prepare a Release Note.
      • Alert the developers that a build is failed due to errors.
    • Pre Compilation tasks Compilation Post Compilation tasks Compile the application
      • All developers check-in the code to source repository
      • Make changes to configuration to reflect release requirements
      • Change paths, change services...
      • Create source code files with specific configurations we want...
      • Rename the swf file/s
      • Encrypt the swf files
      • Create output folder structure
      • Copy required dependent files into the folders.
      • Run a unit test
      • Run a code quality tool and report the problems.
      • Run a compiler warning tool and report all the warnings.
      • Run documentation tool and create a documentation.
      • Upload the files to a server using SCP.
      • Send Email to stake holders about the success/failure of this process.
      • Archive the files and keep in an svn repository.
      • Tag the source repository if with details.
      • .......
    • Change Config (A) Compile Copy, rename, upload etc. Change Config (B) Compile Copy, rename, upload etc. While development For Release
    • Build Automation or Release Engineering “ Release engineering is to software engineering as manufacturing is to an industrial process” “ It is often seen as a sign of organizational and developmental maturity”
    • Types of automation
      • On-Demand automation such as a user running a script at the command line
      • Scheduled automation such as a continuous integration server running a nightly build
      • Triggered automation such as a continuous integration server running a build on every commit to a version control system.
    • On-Demand automation Simple command line Apache ANT Scripting languages like PERL, Python, PHP etc.. [DEMO] [DEMO -2] [DEMO]
    • Scheduled and Triggered automation Continuous Integration Server running scheduled builds (nightly build) Continuous Integration Server running build on every svn commit (any kind of trigger)
    • What is Continuous Integration Server? Build runs here... Source code repository. (SVN, CVS etc.) Individual developers commit the code to this server Notify
    • Continuous Integration is a software development practice where members of a team integrate their work frequently, leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. What is Continuous Integration Server?
    • What are the advantages?
      • We keep a Single Source Repository.
      • Automate the Build
      • Make our Build Self-Testing
      • Everyone Commits To the Mainline Every Day
      • Test in a Clone of the Production Environment, every day from day 1.
      • Make it Easy for Anyone to Get the Latest Executable
      • Everyone can see what's happening
      • Automate Deployment
    • What it will do? Pre compile tasks – Configuration settings, environment settings, checkout code from repos, copy or create certain files Compilation Post compilation tasks - Testing, Code quality analysis Documentation, Build deployment etc.. Single Process
    • Few examples Hudson CI
    • Cruise Control Few examples
    • Demo of a sample Hudson Job
    • Tools used for this job MXMLC COMPC Compilers ADT AIR Packager Flex SDK FlexPMD FlexCPD FlexUnit Open source tools from Adobe
    • Reports generated by Hudson
    • Cons Initial setup time required. well-developed test-suite required to achieve automated testing advantages large-scale refactoring can be troublesome due to continuously changing code base hardware costs for build machines can be significant
    • Questions?? twitter.com/flashchemist http://blog.flashchemist.com