Continuous integration server for Erlang code

2019-03-29 06:24发布

What kind of agile tools are you using for Erlang development? What continuous integration (CI) server are you using to build Erlang code? The only reference I got was from Quora question How do I integrate Erlang unit tests in Jenkins (Hudson)?.

I am also interested in the nifty details of setting them up and making talk to each other.

4条回答
趁早两清
2楼-- · 2019-03-29 07:00

If you want to do it using Jenkins, I have written a common test hook which generates JUnit XML output for your tests which Jenkins can use to produce test statistics.

https://github.com/garazdawi/cth_tools/blob/master/src/cth_junit.erl

查看更多
Deceive 欺骗
3楼-- · 2019-03-29 07:01

We use Jenkins for our Python code, so I think you may use Jenkins with Erlang code.

查看更多
成全新的幸福
4楼-- · 2019-03-29 07:09

We use buildbot with our own recipes to hook unit tests.

查看更多
干净又极端
5楼-- · 2019-03-29 07:12

As a company using Erlang actively, Klarna (www.klarna.com) use Jenkins (formerly Hudson) for daily regression test on nearly every dev commit. It's an org with about 80 people total in rnd and we use distribute mode of Jenkins which allows us to have more than 10 build slaves mastered by only one Jenkins server. Basically we have a code base with Eralng code which is version controlled by tools like svn or git. All these testcases are under common test framework and all works well under Jenkins.

Previously, we tried Cruise Control and gave it up since Jenkins does much better.

As Lukas mentioned, you probably will need a tool to gen xml files sine common test doesn't export them directly. Haven't really tried that module though, we do have an implementation of common test event handler to do the job, but it was abandoned due to performance, we do have a a critical requirement on test time. right now, we use a own made script to export xml from common test log directly.

There are a lot more you could do with Erlang and Jenkins, like code coverage analyze if you compile properly and export formatted xml to Cobertour plugin, gui test with selenium etc.

For setting up Jenkins, I think Jenkins home page has a good introduction.

Regarding agile tools, I guess it's really hard to define what a agile tool. Also what I believe is it's very much depend on the size of you org. You will probably need a good process view tool (team level or depart level), a good ticket tracking tool, code review tool, communication tool. There are bunch of them implemented under open source. According to our exp, none of them seems to be able to work seamlessly with Jenkins which means you will need to select and tweak by your own requirement. BUT that's the beauty of open source isn't it :)?

查看更多
登录 后发表回答