#esioci
EsioCi is an OpenSource Continuous Integration software
- Elixir >= 1.2
- OTP 19
- PostgreSQL database
- Download source code
- Edit config/config.exs
- Set api port
- Configure database
- Create database
- Run migration
mix ecto.migrate - Seed database
mix run priv/repo/seeds.exs - Run application
screen iex -S mix run - Configure github push webhook and point it to
address:port/api/v1/default/bld/gh
Returns json with last build status for project: project_name
Run github project
- get dependencies
mix deps.get - compile
mix compile - Create database
mix ecto.create - Migrate database
mix ecto.migrate - Seed database
mix run priv/repo/seeds.exs - run
iex -S mix run
- Run unit tests and generate html coverage report
mix coveralls.html - Coverage html report in cover directory
- Version 0.1
- SCM systems:
[DONE] support for GIT
- Build:
[DONE] Run build only on server
- Build configuration file:
[DONE] All build configuration in esioci.yaml[DONE] exec() - run basic shell commands
- REST:
- run build using webhook
[DONE] github
[DONE] check last build status
- run build using webhook
[DONE] CI in esioci
- SCM systems:
- Version 0.2
- Build configuration file:
- artifacts() - store artifacts specified directory
- REST:
- get_artifacts
- CRUD for projects, add support for multiple projects in one instance
- Build configuration file:
- Version 0.3
- Build:
- Run on distributed nodes
- Build configuration file:
- Run on specified node
- Build:
- Version 0.4
- Build:
- Distributed nodes have properties
- Build configuration file:
- Node properties support, e.g. run on node with attribute, OS, etc.
- Build:
- Version 0.5
- Build:
- parallel builds
- Build configuration file:
- add supports for multiple steps, parallel, sequential, etc.
- REST:
- get build steps map
- Build:
Grzegorz "esio" Eliszewski - http://esio.one.pl