170 likes | 189 Views
Autobuild is an Ant/Python-based framework for build, deployment, and configuration automation with extensive IBM product support. It offers tight integration with Eclipse/RAD/WID, full lifecycle automation, and centralized environment management. With Autobuild, developers can focus on application development while enjoying improved turnaround, reliability, security, and transparency. WAS, WPS/WESB, and DataPower support make it versatile and efficient in managing diverse IBM environments. ###
E N D
AUTOBUILD Build and Deployment Automation Solution
What is Autobuild? • Ant/Python-based build/deployment/configuration framework with extensive support for IBM products (WAS, Portal, WPS/WESB, DataPower). • Comes pre-packaged/integrated with open source build server “Luntbuild” to support cont. integration, release management. Also supports Hudson. Other build servers can be used. • Full lifecycle automation: compile, package, deploy, test (Junit, WebTest Canoo and soapUI). • Tight integration with Eclipse/RAD/WID.
Key Features • Support building of JAR, WAR, EAR, Web services, EJB 2/3, portlets, portal themes, portlet factory. • The notion of “environment” is built into the core – intuitive file format to manage your env. properties (no XML). • Automatic generation of build scripts based on a project directory structure/Eclipse/RAD settings. No Ant scripts. • Dependency management via Eclipse/RAD/WID classpath. No properties or XML/POM files to manage. Change your dependencies directly from IDE.
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.
WAS Support • Minimal manual configuration-most parameters inferred from the project structure. Example – modules targeting:was.deployment.target=DevCluster • WAS 6.0, WAS 6.1 and WAS 7 support. • Automatic binaries distribution to remote nodes. • Automatic application startup – application is fully deployed and available after the build.
WAS Support –Cont’d • Extensive checks before deployment – is node agent up? Is at least one server up? • Multi-cluster support for same app./diff. versions deployed into diff. clusters. • Automatic targeting to Web servers for web apps. • Resources (DataSource, JMS) configuration via “declarative” jython scripts (property file-based version is in the works).
WPS/WESB Support • Integration with “serviceDeploy” command to generate WPS code. • No need to install/mount WESB or WID on the build machine; all deployments are remote. • EAR files are generated based on WID projects. SCA library dependencies are handled automatically. • Import endpoints are updated automatically based on the target environment (can be done separately from deployment) – also works for non-WESB clients. • Long-running processes support – warns/stops if there are running instances.
DataPower Support • WSDL, XSD, XSLT files are automatically uploaded to the device as part of the build. • Multiple files can be uploaded based on a pattern. • Automatically creates directory structure that mirrors local structure. • Support for configuration templates – initially created by exporting configuration, could be split in multiple files. • Values in an exported configuration could be overridden in an external XML fragment so that base config could be re-exported without changes.
soapUI Support • soapUI tests run automatically after deployment. • Different tests suites can be executed for different environments (e.g., full for development, smoke for QA). • Endpoints are automatically updated based on the target environment. • Test reports are automatically generated and published on the build server. • (in progress) Support for environment-specific property files.
Monitoring • Build server provides scheduling, log collection, notifications for monitoring jobs. • JMX-based monitoring of server availability or other parameters (e.g., heap). • Periodically runs Canoo or soapUI script to test availability.
Other Features • Support for the promotional lifecycle: deploy, configure, test. • “Group” builds – build multiple projects with a single push of a button. • Extensive WebSphere Portal and portlets support. • Integration with FindBugs static code analysis tool. • Numerous configuration properties – e.g., can be used to override/complement Eclipse. • Great extensibility - most Ant targets of Python scripts can be extended without changing Autobuild code.
Autobuild Implementation Service • Analyze your environment and processes. • Install/configure the framework and the build server. • Configure target environments for deployments. • Extend the framework if needed. • Enable build/deployment of your applications. • Knowledge transfer. End result: automation of your build/deploy process.
Autobuild Support Service • MyArch is notified every time there is a build failure. • We do incident analysis/triage with you. • Prompt bug fixes. • Help with environment and project configuration files. • (optionally) Build/deployment configuration in a build server. • Lifetime free new versions for your product set.