Skip to content

Latest commit

 

History

History
30 lines (23 loc) · 1.44 KB

File metadata and controls

30 lines (23 loc) · 1.44 KB

ZeroCI life cycle

There are two scenarios in which a build will be triggered

1- Pushing in repo already defined in zeroCI configuration

For such a scenario, the following steps will be done:

  • When a commit is pushed, Automatically a job is created and stored in redis.
  • A worker will take this job and start to execute it. (Note: There are 5 workers that can handle only up to 5 jobs max).
  • A docker container will be created on kubernetes cluster that zeroci is running on.
  • Run installation commands against this container as defined in zeroCI.yaml.
  • Store the result in database in failure case.
  • Run tests commands one by one against this container as defined in zeroCI.yaml.
  • Store the result in database.
  • Send result url to telegram and update commit status on version control system.

2- Scheduled nightly builds

For such a scenario, the following steps will be done:

  • Make post request with install commands, tests commands, timeout and execution time.
  • Store this job in scheduler.
  • A worker will pick up this job at the specified execution time defined by the scheduler.
  • A docker container will be created on kubernetes cluster that zeroci is running on.
  • Run installation commands against this container as defined on that schedule.
  • Store the result in database in case of failure.
  • Run tests commands one by one against this container as defined on that schedule.
  • Store the result in database.
  • Send result url to Telegram.