Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • H hivemind
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 70
    • Issues 70
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 11
    • Merge requests 11
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • hivehive
  • hivemind
  • Wiki
  • Continuous Integration design principles

Continuous Integration design principles · Changes

Page history
Added job parameters descriptions authored Jul 29, 2020 by Bartek Wrona's avatar Bartek Wrona
Hide whitespace changes
Inline Side-by-side
Continuous-Integration-design-principles.md
View page @ 90b63064
Build and deployment process of Hivemind project is splitted into several stages:
- build of python code (production of distribution package (i.e. egg) next to be installed at specified Python site
- data supply - first part of application testing covering initial sync phase. Here are executed initial sync process (`hive sync`) filling up the storage database basing on specified hived node url being a data source
- synced hivemind instance deployment - this means starting (async. to CI job) `hive server` process on specified port to serve API calls implemented at Hivemind
- starting specified API test suite to query deployed Hivemind instance for (end-to-end test phase).
1. General
Build and deployment process of Hivemind project is splitted into several stages:
- build of python code (production of distribution package (i.e. egg) next to be installed at specified Python site
- data supply - first part of application testing covering initial sync phase. Here are executed initial sync process (`hive sync`) filling up the storage database basing on specified hived node url being a data source
- synced hivemind instance deployment - this means starting (async. to CI job) `hive server` process on specified port to serve API calls implemented at Hivemind
- starting specified API test suite to query deployed Hivemind instance for (end-to-end test phase).
Right now basic deployment and testing phase covers `smoketest` set of e2e tests and the sync limited to 5M blocks (due to time required for sync).
Right now basic deployment and testing phase covers `smoketest` set of e2e tests and the sync limited to 5M blocks (due to time required for sync).
1. Job parameters
The data supply, deployment and e2e testing can be parametrized by specifying following variables at pipeline spawn:
* `HIVEMIND_MAX_BLOCK` number of blocks to perform `hive sync` process for
* `HIVEMIND_SOURCE_HIVED_URL` url of a `hived` node providing blocks and virtual operations during syncing i.e.: `{"default":"http://hive-4:8091"}`
* `HIVEMIND_HTTP_PORT` basic port of hive-server process (to be started after successfull sync). This number can be modified by CI system by adding a value of `$CI_CONCURRENT_ID` variable if few concurrent jobs were running. Job description prints a actual port the started hivemind instance is listening to. Also dedicated entry to the created environment is created (including name of branch being deployed to such instance)
\ No newline at end of file
Clone repository
  • Continuous Integration design principles
  • Drop and recreate dependencies when you want to alter table or view in Postgresql
  • Testing hivemind using docker images
  • Testing hivemind
  • Home