DANS is een instituut van KNAW en NWO
The development process in DataverseSSHOC
Senior Information Scientist
DataverseEU Kick-Off meeting, 10.04.2019
DataverseSSHOC project have two parallel tracks of the development:
• Core development team will be working on the modification and extension
of the Dataverse core functionality. All tasks of this team will get label Core.
• The application development team will create new or will integrate existent
tools that will be published on Dataverse App Store website. Tasks of this
team will be labelled as App.
IDE: Eclipse/NetBeans, Maven for building/deployment in containers
We follow SCRUM with quick but small updates, all new functionality will go
through DTAP (Development, testing, acceptance and production ) pipeline:
local (own PC) – test (cloud) – acceptance (cloud) – production (cloud)
Images will be available on Docker Hub for all collaborators from Dataverse
community and in CESSDA Containers Registry for DataverseSSHOC devops
Orchestration is the automated configuration, coordination,
and management of computer systems and software.
• Docker Compose for the local development and testing
• Kubernetes (K8s) for deployment on Google Cloud (CI/CD
pipeline with Jenkins and Helm on Kubernetes)
• Unit tests (Java) for core development team
• Integration tests (Selenium) for app development team
• Performance/stress tests (Apache JMeter) before Dataverse
will go to Acceptance/Production
Testing core functionality and Dataverse apps
Testing process should be compliant with CESSDA services maturity
Important: every change of Dataverse functionality should be supplied with
unit test, changes of external functionality should get Selenium scenarios.
Goal: to score as high as possible according to CESSDA maturity model