Integrate tools
In the software development process, the toolchain is the silent force behind every large open source project. It is a combination of tools that are indispensable in various fields such as business requirements, architecture design, code development, product testing, application deployment, environment monitoring, product security, and performance indicators. From small compilation and debugging script tools to complex engineering projects, the toolchain runs through every step of the process, playing an irreplaceable role.
The platform has a complete toolchain integration system and is committed to enriching the developer ecosystem. From the production end to the application end, it helps to make the development process more agile. By building an extensible, open, and rich toolchain integration system, it helps enterprises to develop applications and services more quickly and better. The platform supports the integration of various types of toolchains, such as builds, code management, artifact repository, code quality analysis, test management, and project management tools.
Through the platform’s integration function, the toolchain currently in use in the project can be integrated into the platform. After integration, it will be displayed in the form of a card on the page and assigned to the designated project for use by project members. You can integrate the toolchain into the platform in the following ways:
-
Integrate existing toolchains: If the toolchain you are using is in the list of supported integrated tools , you can directly integrate it into the platform according to this document.
-
Plugin integration toolchain: If the DevOps tool you are using is not in the displayed on UI, such as Jira and ZenTao, you can add it to the platform toolchain list and integrate it with a plugin. For details about the plugin, see DevOps Tools Plugin Installation and Deployment in the Customer Portal knowledge base.
-
Custom Toolchain Plugin: If the above two methods are not sufficient for your integration needs, you can customize DevOps tool plugins by following the instructions in the Platform Toolchain Plugin Development Specification , which is available in the Customer Portal knowledge base.
Tools
Builds
| Tool | Description |
|---|---|
| Jenkins | Jenkins is a continuous integration tool based on Java, used to monitor continuous repetitive work, and aims to provide an open and easy-to-use software platform to make continuous integration of software possible. |
Code Management
| Tool | Description |
|---|---|
| GitLab | Gitlab is an open source code hosting platform that use Git as a distributed version control system. It provids Git repository management, project management, builds and pipeline and other functions. |
| Bitbucket | Bitbucket is a Git-based code hosting and collaboration tool, built for teams. It provides features including code review, merge PR, issue tracking, builds and pipeline. Integration Prerequisites: Deploy the Bitbucket Integration plugin in Clusters. |
Artifact Management
| Tool | Description |
|---|---|
| Docker Registry | Docker Registry is an image repository that can be used to build private Docker images. It can be used to access Docker images when Docker hub is not accessible. |
| Harbor | Harbor is an open-source project of a registry server designed by VMware China team for enterprise users. It includes essential enterprise features such as RBAC, LDAP, auditing, management interface, self-registration, HA, and features designed for Chinese users such as image replication and Chinese language support. |
| Nexus | Nexus is a powerful Maven repository manager that greatly simplifies the maintenance of internal repositories and access to external repositories. With Nexus, you can fully control access and deployment of every Artifact in the repositories you maintain in one place. Nexus is an “out-of-the-box” system that does not require a database. It uses a file system plus Lucene to organize data. Nexus uses ExtJS to develop the interface and provides complete REST APIs through Restlet. It is integrated with Eclipse through m2eclipse. Nexus supports WebDAV and LDAP secure authentication. |
| HCS OBS | Object Storage Service (OBS) is a highly scalable, secure, and cost-effective cloud storage that provides a wide range of storage types for you to choose from. Integration Prerequisites: Deploy the HCS SWR Integration plugin in Clusters. |
| HCS SWR | Software Repository for Container (SWR) is an image repository that supports full lifecycle management of images and provides simple, easy-to-use, secure, and reliable image management functions. Integration Prerequisites: Deploy the HCS SWR plugin by referring to the DevOps Tools Plugin Installation and Deployment in the Customer Portal Knowledge Base. |
Code Quality Analysis
| Tool | Description |
|---|---|
| SonarQube | SonarQube is an open-source platform for managing code quality, used to manage the quality of source code. |
Project Management
| Tool | Description |
|---|---|
| JIRA | JIRA is a project and issue tracking tool produced by Atlassian, widely used in areas such as defect tracking, customer service, requirement collection, process approval, task tracking, project tracking, and agile management. Integration Prerequisites: Deploy the Jira plugin by referring to the DevOps Tools Plugin Installation and Deployment in the Customer Portal Knowledge Base. |
| Zentao | Zentao is a open-source project management software. It integrates product management, project management, quality management, document management, organization management, and transaction management, and is a professional R&D project management software. Integration Prerequisites: Deploy the ZenTao 2.8 or ZenTao 3.3 plugin by referring to the DevOps Tools Plugin Installation and Deployment in the Customer Portal Knowledge Base. |
Test Management
| Tool | Description |
|---|---|
| TestLink | TestLink is a web-based test case management tool that helps with testing process management, from requirements gathering and test case design to test execution and reporting. |
Procedure
-
On the left navigation bar, click DevOps Toolchain > Artifact Registry Binding.
-
Click Integrate.
-
After selecting a tool, refer to the following instructions to configure the relevant parameters:
Parameter Description Name Enter the name of the integration tool, which cannot be the same as an existing integration tool name. Address Enter the access address of the tool. API Address Enter the service address of the integration tool. The format of the service address is: HTTP/HTTPS protocol + IP + port number or HTTP/HTTPS protocol + domain name. Public code repositories do not support modifying the default API address. Secrets Select a credential that has been created or create a new one .
Tip:- When integrating with GitLab, make sure to select read_api and write_repository permissions in the token generated on the GitLab side.
- When integrating with Jenkins, this field is not required and credentials can be added when assigning projects.
-
Click Integrate. After integrating the tool, you can allocate tool resources to projects .
Note: To facilitate unified management, tools with the same tool type and API URL are automatically placed in the same folder in the UI.
What’s next
Synchronize the latest status
After successful tool integration, the platform automatically synchronizes the status information of the tool to the platform every 10 hours. If you are aware of changes in the tool’s status, you can also manually synchronize the changes to the platform through the Synchronize the Latest Status operation.
GitLab
To facilitate the use of code repository triggers, when integrating with GitLab, the platform allows Webhook and services to request the local network by default. However, due to the special nature of Webhook usage , if you do not need to configure code repository triggers, or need to meet stricter security requirements, you can disable Webhook and services from requesting the local network . After disabling, code repository triggers cannot be used.
Nexus
For raw repositories that already exist in Nexus, if the
Strict Content Type Validation
configuration is enabled in the repository, the overly strict file verification rules may cause you to fail to upload files to this repository normally in DevOps. For example, when using the Upload File task in a continuous build pipeline, the task fails with a 400 error code.
If you want to upload files to this raw repository, it is recommended to disable the Strict Content Type Validation configuration of the raw repository while integrating Nexus: Click on the name of the raw repository in Nexus, and uncheck the configuration in the Storage area.