Jenkins Continuous Integration Build Server
The purpose of this discussion is to help you create your own Jenkins iDempiere Build Server. The benefits of having a build server are:- You create a self-documented process to build and deploy iDempiere
- It can tell almost immediately if someone pushes code that breaks the build
- You can publish enhancements directly from Jenkins
Jenkins iDempiere Installation Demonstration
- Introduction
- 0:01:15 where to find the script
- 0:02:00 How to resolve the "unable to resolve host xx:xx:xx:xx" error
- 0:03:30 What tools the script installs
- 0:05:30 Create a local clone of iDempiere
- 0:07:00 Install director
- 0:08:15 Install buckminster along with core, maven and pde
- 0:09:30 Configure Apache web server
- The below steps move some of your build results to the apache folder. You can access your files with:
- www.YourURL.com/idempiere/p2/
- www.YourURL.com/idempiere/migration/
- The below steps move some of your build results to the apache folder. You can access your files with:
- 0:11:30 Configure Jenkins through the UI
- 0:12:30 Install Jenkins mercurial and buckminster plugins
- 0:13:30 Configure Jenkins System (tell Jenkins about buckminster)
- 0:15:00 Create iDempiere build job
- 0:15:45 mercurial
- 0:16:15 shell script to remove old build details
- 0:16:45 buckminster scripts
- 0:18:15 shell scripts to move to apache
- 0:19:00 Build !!!!
- You can access the files moved to Apache using this url: www.YourURL.com/idempiere/p2/
- You can also access your build files through jenkins:
- www.YourURL.com:8080/job/iDempiere-2.0/ws/buckminster.output/org.adempiere.server_2.0.0-eclipse.feature/
- www.YourURL.com:8080/job/iDempiere-2.0/ws/migration/
- where "iDempiere-2.0" is the name of my Jenkins project/job.
- 0:19:45 Debugging build errors
- 0:20:15 How iDempiere core team used Jenkins
- 0:21:15 Use Jenkins to quickly identify broken builds
Upgrading a Production Installation from your Jenkins iDempiere Build Server
- Demonstrated here
- NOTE: the below assumes you used my installation script to create your production server.
- NOTE: when specifying the URL for the p2 upgrade, make sure you include the "http://" in the url. You will get a "java.lang.IllegalArgumentException: Location must be absolute:" error otherwise.
- Log into your production server via ssh (putty)
- Issue the following commands if you installed iDempiere with my script before 8/10/2014
- wget www.YourJenkinsURL.com/idempiere/migration/migration.zip
- unzip migration.zip
- cd /opt/idempiere-server/chuboe_utils
- ./chuboe_idempiere_upgrade.sh -u http://www.YourJenkinsURL.com/idempiere/p2 -m /path/to/your/migration/from/above
- Issue the following command if you installed iDempiere with my script on or after 8/10/2014. Notice the new version introduces a "-M" or capital M to specify a migration.zip URL vs. the "-m" to specify the file path.
- ./chuboe_idempiere_upgrade.sh -u http://www.YourJenkinsURL.com/idempiere/p2 -M http://www.YourJenkinsURL.com/idempiere/migration/migration.zip