AstonJ
1
How are you building Erlang applications?
If you’re building web apps do you use any web frameworks? If so which ones? If not, why not and what do you use instead?
Are there any libraries or tools you always turn to?
Is there a specific way in which you architecture your apps?
I think a lot of people will be interested in this thread - me included!
4 Likes
AstonJ
Split this topic
2
srijan
3
I recently started a new Erlang project at my work. Here are some salient points from the tooling perspective:
- Used rebar3
- Structure as multi-app project (Multi-App Projects | Adopting Erlang)
- Introduce code formatting from the start (GitHub - WhatsApp/erlfmt: An automated code formatter for Erlang)
- Logger with flatlog for logging.
- CT for testing (with eunit assert macros for better failure messages)
-
docker-compose ct hook for running external services for some end-to-end tests.
- Different release definitions in the top level rebar.config to support releasing a subset of apps in a release.
- Used
sys_config_src
feature of relx to be able to take some configuration from environment variables.
- Release multi-platform docker images (modified version what’s described here: Docker | Adopting Erlang)
- Integrate with Jenkins (cth_surefire, covertool)
Will add to the list if I remember something else.
7 Likes
phild
4
Interesting idea, I’ve not tried that.
2 Likes
Note the asserts are in stdlib
now, -include_lib("stdlib/include/assert.hrl").
, since this was so common
8 Likes