Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Software development, build&deployment

In order to To support software development in GÉANT and meet SDT needs, WP9T2 maintains several software development platforms, which can be easily integrated to create a more effective and user-friendly environment.

  • BitBucket is a Git-based code repository developed by Atlassian, which not only . It secures typical storage and versioning capabilities but also and provides several extensions.
  • Jira is an issue and ticket tracker, also commonly used for defining and managing requirements and general software project management. Service Desk and other extensions (like issue collectors) allow the development teams to support their users and customers to get in getting feedback and raise raising issues directly via the dedicated form.
  • GitLab is an open-source end-to-end software development platform, that spans spans the entire software development lifecycle from repository management through team communication to task coordination and Continuous Integration/Continuous Delivery (CI/CD), including a simplified form of an issue and bug management.
  • Artifactory is a repository for managing software packages and components in various versions that helps to share released software and libraries.
  • Bamboo is a CI/CD service that is well integrated with other Atlassian services like BitBucket and Jira. It allows for automating several activities in the software development process. The instance provided by WP9T2 helps is automating automate CI/CD pipelines, which could be used for software integration, testing, and deployment.
  • SonarQube is a static code analysis tool that supports quality assurance.

...

Due to its distributed organizational structure, GÉANT offers a variety of tools supporting communication within teams and between teams.

There is are no project- or team-specific mailboxes for team members that GÉANT would be managed by GÉANTmanage. Instead, they are provided and managed by the team members' home NRENs of the team members.

For instant communication, GÉANT offers and administers a Slack space for instant communication. Several topic-oriented channels already exist, and new ones can be created on demand. The channels could be left publicly open or restricted to specific members. Slack allows for archiving messages, but due to the license restrictions, there is a limit on the number of messages in the archive .is limited due to license restrictions.

Another Confluence (available at https://wiki.geant.org) is another commonly used communication tool is the Confluence wiki. It allows for documenting the work, online collaboration, and data exchange of data. Most projects have dedicated spaces , with clearly separated public and private content. Additionally, Confluence includes several plugins that extend its capabilities for sketching, planning, scheduling events, tracking comments, etc.

GÉANT, with its distributed structure, provides various communication tools for intra- and inter-team collaboration. Team-specific mailboxes are managed by members' home NRENs, not by GÉANT. For instant communication, GÉANT administers a Slack space with topic-specific channels that can be public or restricted. Slack archives messages, but archiving is limited by license restrictions.

Confluence (https://wiki.geant.org) is widely used for documenting work, online collaboration, and data sharing, with dedicated project spaces and plugins for sketching, planning, scheduling, and tracking.

Quality assurance

Quality assurance and management (QA) usually relies rely on tests conducted at different levels. In GÉANT it is , the SDTs who are responsible for organizing and executing tests. However, although there are some best practices for SDTs (elaborated by WP9T2) that provide recommendations to the teams with in that respect.

Another quality pillar of quality is static code analysis and review, which is as important as software testing and is necessary to deliver high-quality software products. WP9T2 offers a variety of code review services: , from the assessment performed solely by a tool (SonarQube and Mend) and interpreted by WP9T2's experts , up to a comprehensive review conducted by human subject-matter experts. The services provide a high level of security and maintainability-related protection for the GÉANT products and can be customized to fit the SDTs' needs.

Also, Jira (managed by WP9T2) is essential for effective practical QA-related work. It allows for tracking the progress of issues and tasks, starting from requirements , through development , up to fixing and verifying defects.

Quality assurance and management (QA) in GÉANT relies on multi-level testing, primarily managed by SDTs (Service Development Teams). SDTs follow best practices set by WP9T2, which provides guidelines for organizing and executing tests. Another key element of QA is static code analysis and reviews, equally crucial to testing. WP9T2 offers various code review services, ranging from automated tool-based assessments (SonarQube, Mend) to in-depth reviews by experts. These services enhance security and maintainability.

Jira, also managed by WP9T2, is vital for tracking progress across development stages, ensuring efficient issue management and defect resolution.

Project analytics and reporting

The primary source of holistic comprehensive information about GÉANT software projects is the Software Catalogue (SC). It is a GÉANT-wide system (hosted and developed by WP9T2) that collects and delivers a variety of information about GÉANT-created software. The SC provides a rich and consistent profile for a single software project, no matter if whether its resources are hosted in a single place or are distributed over the Internet (issue trackers, Git repositories, etc.). That way, SC provides a big picture from two perspectives: the individual project , and the entire organization. Project records cover a broad spectrum of information, including (but not limited to) automatically discovered data, such as team and community members, the adopted technology stack, analytics, and reports (statistics, visualisations visualizations for : code, issues tracker, member's activity), as well as manually maintained information (e.g., basic description, specific practices applied by the team). The SC integrates smoothly with external analytical tools such as SonarQube and Mend , and provides the access to data in GitHub and GitLab (which is coming soon!) to learn more about the project offer than what these tools can tell about the source code and its evolution.

Management of external software libraries, their licences licenses, and their mutual compatibility is also a crucial concern for GÉANT. WP9T2 offers a service based on the Mend tool, which scans the software files and identifies the licenses of various product components. It can also be also used to support the interpretation of mutual compatibility of present licences licenses and the identification of components with licenses that are not compatible with the product's licencelicense. In addition, it identified obsolete versions of libraries and those that ate known to be vulnerable.


The Software Catalogue (SC) is GÉANT's central hub for holistic information on its software projects. Developed and hosted by WP9T2, the SC consolidates data from various sources (issue trackers, Git repositories, etc.), offering a unified profile for each project. It provides both an individual project view and an organizational overview, with information ranging from auto-discovered data (community members, tech stack, analytics) to manually maintained details (descriptions, team practices). Integrated with tools like SonarQube and Mend, the SC allows deeper insights into project status and code evolution.

WP9T2 also manages software library licenses via Mend, ensuring compatibility, detecting vulnerabilities, and identifying outdated components.

Help and Knowledge Base 

For technical information, GÉANT provides a dedicated Confluence space with Knowledge Base, which provides that answers to several recurring issues. It is a good starting point for collecting information , and is constantly extended and updated.

...