svn commit: r1820668 - /ofbiz/tools/documentation/BuildBot/BuildBot.md

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1820668 - /ofbiz/tools/documentation/BuildBot/BuildBot.md

jleroux@apache.org
Author: jleroux
Date: Tue Jan  9 15:03:51 2018
New Revision: 1820668

URL: http://svn.apache.org/viewvc?rev=1820668&view=rev
Log:
Completes the BuildBot documentation

Modified:
    ofbiz/tools/documentation/BuildBot/BuildBot.md

Modified: ofbiz/tools/documentation/BuildBot/BuildBot.md
URL: http://svn.apache.org/viewvc/ofbiz/tools/documentation/BuildBot/BuildBot.md?rev=1820668&r1=1820667&r2=1820668&view=diff
==============================================================================
--- ofbiz/tools/documentation/BuildBot/BuildBot.md (original)
+++ ofbiz/tools/documentation/BuildBot/BuildBot.md Tue Jan  9 15:03:51 2018
@@ -16,6 +16,62 @@ KIND, either express or implied.  See th
 specific language governing permissions and limitations
 under the License.
 -->
-Apache® OFBiz® BuilbBot documentation
+BuilbBot documentation
 =============
 
+## What is BuilbBot and why using it?
+OFBiz uses [BuilbBot](https://en.wikipedia.org/wiki/Buildbot) as its Continuous Integration (CI) tool. There are other CI tools [used at the ASF](https://ci.apache.org/).
+
+IMO the BuildBot pros and cons are
+### Pros
+* Compared to a tool like Jenkins (those are the 2 I know) you don't have to use an UI, you write scripts. This is also a cons for some.
+* The syntax is simple and well documented, some prefer intuitive UI.
+* The infra team at the ASF provides a kind of compiler which prevents to commits error in the shared script (the builders are all common to the ASF)  
+* The infra team, especially Gavin McDonald, is always ready to help in a very efficient way
+
+### Cons
+* You have no UI so you have to write your own scripts, some prefer UIs to scripts.
+* Despite the "compiler" you sometimes get unexpected result when you don't completely master BuildBot concepts. You must then ask infra for help, either on [HipChat infra room](https://apache.hipchat.com/chat/room/669587) or though the [service desk](https://issues.apache.org/jira/servicedesk/customer/portal/1/create/3)
+
+## OFBiz and BuildBot
+
+[Here is the OFBiz BuildBot script](https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/ofbiz.conf)
+
+You can see the OFBiz builders and their states in the [common Buildbot waterfall view](https://ci.apache.org/waterfall) (look for "ofb").
+Here are the [test results](ci.apache.org/projects/ofbiz/logs/)
+
+The [ofbizTrunkFramework builder](https://ci.apache.org/builders/ofbizTrunkFramework) is triggered on commits in the trunk framework branch. This also triggers the [ofbizTrunkFrameworkPlugins](https://ci.apache.org/builders/ofbizTrunkFrameworkPlugins) to check that a commit in the framework puts no regressions in plugins.
+The same apply to the [ofbizBranch17Framework](https://ci.apache.org/builders/ofbizBranch17Framework) and the [ofbizBranch17FrameworkPlugins](https://ci.apache.org/builders/ofbizBranch17FrameworkPlugins)
+The current stable branch R16.12 has only [one builder](https://ci.apache.org/builders/ofbizBranch16). This will be gone in future. All new releases needs 2 builders.
+
+In an OFBiz builder page you can see [an history of the builds up to 100+](https://ci.apache.org/builders/ofbizTrunkFramework). OFBiz randomly (except for RAT) uses 3 servers to build as you can see at the bottom of this page. You may want to explore more to get acquainted with the tool...
+
+There is also the [RAT builder](https://ci.apache.org/builders/ofbizTrunkFrameworkRat) which check the licenses in OFBiz. You can find the result [here](https://ci.apache.org/projects/ofbiz/rat-output.html)
+
+# Handling issues
+Sometimes (rarely) you can get transient tests errors in BuildBot. This mean tests don't all pass in BuildBot, though they pass in your local instance. In such case, it's most certainly an issue with servers. Those are hard workers and make errors from time to time, which shows that not only human make errors :smirk:.
+
+Before being anything it's best to check which BuildBot step is impacted and if it exists have a look at the logfile (stdio)
+
+Some other errors may happen, like
+* svn not updating
+* upload not working
+* you name it...
+
+
+In such case you can trigger a build from IRC to see if the problem resolves by itself. Most of the time tests and svn issues are resolved this way. If it does not then the best is to ask Infra help, either on [HipChat infra room](https://apache.hipchat.com/chat/room/669587) or through the [service desk](https://issues.apache.org/jira/servicedesk/customer/portal/1/create/3)
+
+When something like that happens, I get to IRC (using https://webchat.freenode.net). There using a recognisable username (I use jleroux) I get to the ofbiz channel. I wait for ofbiz-bot to appear, click on it, click on query and then I can make a request in the chat line to restart a scheduler.
+A request is of the form
+
+    force build ofbizTrunkFramework
+    
+you can put the text you want to appear in builder, after this expression, something like
+    
+    forces manual build after weird error
+  
+So the whole request is of the form
+
+    force build ofbizTrunkFramework forces manual build after weird error
+
+Note though that with our last config (see [INFRA-15394](https://issues.apache.org/jira/browse/INFRA-15394)) the ofbizTrunkFrameworkPlugins and ofbizBranch17FrameworkPlugins builders are dependent and respectively automatically launched by the ofbizTrunkFramework and ofbizBranch17Framework builders but only on commits. So if you use an IRC command like `force build ofbizTrunkFramework` only this builder will be launched not the dependent ofbizTrunkFrameworkPlugins.
\ No newline at end of file