Dear Support,
Is it feasible, sensible to use any or one of the publication types or a new type to automate publications? Some time ago, I poked around in the version 3.2 framework and found the ant build files, but it seemed that there was also some dependencies on the framework controllers. Perhaps I over-thought the idea at the time and didn't see things clearly.
Our IT project development services encourage the use of Hudson or Jenkins and we'd like to explore the possibility of taking advantage of these tools. Can you offer any insight, advice?
Thank you,
Mike
Is it feasible, sensible to use any or one of the publication types or a new type to automate publications? Some time ago, I poked around in the version 3.2 framework and found the ant build files, but it seemed that there was also some dependencies on the framework controllers. Perhaps I over-thought the idea at the time and didn't see things clearly.
Our IT project development services encourage the use of Hudson or Jenkins and we'd like to explore the possibility of taking advantage of these tools. Can you offer any insight, advice?
Thank you,
Mike
RE: Continuous Integration
You can trigger the publication process using a SOAP web service call, which may help you in this area.
If you have a working WebMaker install on your CI server, you could then set up a job that updates the project specification in the WM repository to the latest version, and then calls the publication process to produce the final output (eg a WAR file).
Depending on how far you want to go, you could then look at deploying this WAR to a test environment etc.
In order to trigger a publication you need to send the following message format to the http://localhost:7070/xde_services studio URL with a 'SOAPAction' header parameter of Publish.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <project_details xmlns="http://www.hyfinity.com/xfactory"> <user>[workspace name]</user> <product>mvc</product> <blueprint_location>[workspace name]/mvc</blueprint_location> <project>[project name]</project> <project_name>[project name]</project_name> </project_details> </SOAP-ENV:Header> <SOAP-ENV:Body> <publish xmlns="http://www.hyfinity.com/xfactory"> <request> <existing_environment>[publication environment name]</existing_environment> </request> </publish> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
In this message, the user element in the header should actually contain the workspace name for your project, the blueprint_location element should always be this workspace name with '/mvc' at the end, and both the project and project_name elements should contain the name of the project
The existing_environment tag in the body should contain the name of the publication environment for this project that you would like to run. (As listed in the Publish Settings dialog.)
One thing I should point out is that although you can use this service, it isn+?+?+?t officially documented/supported, and may change in newer WebMaker versions.
I hope this is helpful, and gives you some idea of how you could hook into a CI build process.
Please let me know your thoughts, or if you have any questions.
Regards,
Gerard
RE: Continuous Integration
Oh - cool - OK. I can prototype something up in our dev environments to support recommendations for putting WebMaker on an Integration server.
We are currently using the version 5.0 rev r16494 that is bundled with BizFlow.
Thank you again,
Mike