150 likes | 371 Views
AUTOBUILD. Build and Deployment Automation Solution. What is Autobuild?. Open source Ant/Python-based build/deployment framework with extensive support for IBM products (WAS, Portal, Process server, DataPower). Open source build server (LuntBuild) integrated with the framework.
E N D
AUTOBUILD Build and Deployment Automation Solution
What is Autobuild? • Open source Ant/Python-based build/deployment framework with extensive support for IBM products (WAS, Portal, Process server, DataPower). • Open source build server (LuntBuild) integrated with the framework. • Full lifecycle automation: compile, package, deploy, test. • Consulting services to configure/setup builds for your applications and environments. • Optional maintenance and support services.
Autobuild Consulting Service • Analyze your environment and processes. • Install/configure the framework and the build server. • Configure target environments for deployments. • Enable build/deployment of your applications. • Knowledge transfer. End result: automation of your build/deploy process.
Why Automate Builds? Improved software quality: • Early defect detection, including integration-related problems. • Information sharing – logs, reports and statistics are available to the entire team. • Support for agile development (e.g., continuous integration).
Why Automate Application Deployments/Configuration? More reliable operations and change management: • Repeatability and consistency. • Eliminates error-prone manual processes. • Faster code-to-environment turnaround. • Improved control and accountability Forrester: IT Operations accounts for 60% of budget; 40% of budget goes to human labor
Typical Build Automation Options • RAD/Eclipse + Manual deployment: • Limited repeatability, no CM integration. • Home-grown Ant/Maven scripts: • Incomplete, high maintenance. • Build/Continuous integration server: • Provides nice UI but does not know how to build your code.
Why is Build Automation Hard? • Highly specialized skills (Ant, Maven, JMX, CM, deployment architecture). • Support for different component types/formats (war, portlets, Web services, EJB, EAR, etc.). • Dependency management (compile/run-time); usually with numerous third party/in-house components. • Multiple environments with many different configuration settings. • Proprietary deployment and configuration mechanisms (e.g., wsadmin, serviceDeploy, XMLAaccess). • Integration with CM/Change management. Comprehensive build automation requires significant investments. Its development and maintenance is a major distraction for developers.
Autobuild’s Key Benefits • Complete automation of your build/deployment process, improved turnaround and reliability. • Developers are freed up to focus on developing applications. • Adding new applications/components requires no scripting. • Agile development support, incl. continuous integration, automated unit and integration testing. • Improved operations via centralized configuration management of your environments. • Improved security, accountability and transparency.
Autobuild Key Principles • Reliability and consistency, e.g.: • Automatic labeling, promotion from a label. • Applications are always fully uninstalled before deployments. • Discovery over configuration, e.g.: • Automatic “targeting” to clusters and IHS. • Convention over configuration, e.g.: • Build files are generated based on the directory structure. • Project configuration via Eclipse/RAD, e.g.: • Dependencies are managed via Eclipse classpath. • Build server UI over command line: • Builds configured/started/monitored using the build server.
Autobuild Features • Support for many component types ( Jar, War, Ear, portlets, portal themes (wps.ear) Portlet Factory projects, Web services, EJB 2). • Automatic generation of build scripts based on the project directory structure/Eclipse-RAD settings. Most projects don’t require any Ant or property files. • Dependency management via Eclipse-RAD classpath. No properties or XML files to manage. • Support for FindBugs static analysis tool. • Support for environment-dependent configuration properties via easy-to-use syntax (no XML).
Autobuild Features – Cont’d • Automated deployment to WAS 6.0/6.1 incl. node distribution and application startup. • WAS cell diagnostic before deployment ensures that node managers and servers are up and running. • Periodic WAS environment health check (node agents and servers) configured from the build server. • Support for WAS/Portal conf. files distribution to environments. • Automated portlet deployment to WebSphere portal (XMLAccess is generated automatically) • Automated cleanup of portal pages based on patterns. Customizable pages are preserved.
Autobuild Features – Cont’d • Support for open-source Canoo Web testing tool (incl. macros for portal login). Tests run automatically after deployments. • All reports (Junit, Canoo, FindBugs), logs, documentation and artifacts are available from the build server. • Tight integration with LuntBuild build server. • Deployments into higher environments are password-protected. • Support for continuous integration and scheduled builds. • Support for your release process, including build promotion to test, stage, prod environments. • Support for CVS, Subversion, ClearCase, others.