[Cloud Co-Creation] CodeArts Repo --- Efficient Code Collaborative Development Journey

Table of contents

1. History of code hosting development  

1.1 First generation  

1.2 The second generation  

1.3 The third generation  

2. Introduction to CodeArts Repo  

2. CodeArts Repo Functional Architecture  

2.1 R&D collaboration  

2.2 Code management function  

2.3 Code Storage Features  

3. CodeArts Repo technical capabilities  

3. The development history of HUAWEI CLOUD code hosting technology  

4. CodeArts Repo usage scenario introduction  

4.1 Warehouse administrator  

4.2 Daily development activities of developers  

4.3 Code Review Activities  

4.4 Automation system configurator  

4.5 Testers  

4.6 version manager released version  

4.7 QA/Product Manager  

5. CodeArts Repo product advantages  

5.1 Full-stack self-developed, safe and worry-free  

5.2 Efficient code collaborative development  

5.3 Multi-level code quality protection  

5.4 Code-centric R&D asset traceability  

6. Introduction of Application Scenarios  

6.1 Team-level development collaboration  

6.2 Enterprise-level development collaboration  

Seven, CodeArts Repo feature introduction  

7.1 Code review and access control  

7.2 Code inspection  

7.3 Fine-grained permission control  

7.4 E2E traceability around the code  

7.5 Warehouse specifications and templates  

7.6 Safety and Resilience  

7.7 Multiple job stream support  

7.8 Full-stack self-development  

8. The key process of using CodeArts Repo  

8.1 Determine the development specification  

8.2 Determine the development process           

8.3 Configure warehouse rules  

Nine. Summary  


Today I will bring you an introduction to CodeArts Repo, Huawei Cloud's self-developed full-stack code hosting platform, hoping to provide you with an excellent choice for choosing a code hosting platform for your internal development.

1. History of code hosting development  

         

picture

         

A brief overview of the development history of the version control system has gone through three generations. Let me give you a brief introduction:

1.1 First generation  

No network deployment, only one file can be operated at a time, based on synchronous lock blocking mechanism, typical products: RCS, SCCS

1.2 The second generation  

Centralized network deployment, can operate multiple files at a time, supports concurrent operations but needs to be merged locally, and then submitted to the repository, typical products: CVS, Subversion, SourceSafe, Microsoft's TFS version control system

1.3 The third generation  

Distributed network deployment, operating multiple files based on changesets, supports concurrency, needs to be submitted first, and then merged into the version library, typical products: Git, Mercurial, Bazaar.

Among them, the third generation is a distributed version control system (Distributed Version Control System) represented by Git. Git was born in 2002 and was developed by the Linux open source community led by Linus Torvalds, the father of Linux. The original intention was to use it to manage the huge open source code of the Linux kernel, and it was subsequently carried forward by international open source software such as GitHub and Gitlab, and is currently used by most open source projects and enterprise projects. Git belongs to the mainstream technology of current code hosting.

         

2. Introduction to CodeArts Repo  

picture

CodeArts Repo (formerly CodeHub) is Huawei's self-developed full-stack code hosting service platform, which provides distributed code management and collaborative development capabilities based on Git. Provides practical functions such as member management, authority control, code hosting, code inspection, code review, code traceability, CI/CD integration, etc., to help companies of different sizes improve R&D quality and efficiency.

         

2. CodeArts Repo Functional Architecture  

picture

2.1 R&D collaboration  

Single warehouse development collaboration: code browsing, merge request, code review, file search, protection branch, merge access control (code merge check mechanism)

Multi-storage development collaboration: multi-storage inspection, Change-id, multi-storage submission, order-picking integration, atomic integration, fine-grained permissions.

2.2 Code management function  

Warehouse & branch management: warehouse management, branch management, tag management, history management

Organization authority management: member management, role management, authority management, organization management

Inspection & access control: file comparison, access control judgment, comment, code review

System integration: requirement system, defect system, CI/CD, custom extension

2.3 Code Storage Features  

Stability: multi-center, disaster recovery, multi-active, containerized deployment, elastic scaling

Performance: multiple copies, distributed database, distributed cache, distributed deployment

Security: Vulnerability awareness, intelligent monitoring, anti-tampering, encrypted storage, blocking isolation, least privilege, situational awareness, attack detection

         

3. CodeArts Repo technical capabilities  

External interface: support SSh/HTTPS, Web Portal, APIs, WebHooks Stream event.

Operation and maintenance monitoring: live network alarm, live network unplugging test, API monitoring, full link monitoring, storage bandwidth monitoring, traffic monitoring, capacity monitoring, upgrade operation and maintenance, abnormal access monitoring.

         

3. The development history of HUAWEI CLOUD code hosting technology  

2010: Pre-research code warehouse technology, selection

2013: Based on the transformation of Gitlab, the Huawei code warehouse was launched

2019: Complete self-research, self-controllable code warehouse online

2020: Complete the unified management of all code warehouses in Huawei

2022: The mature CodeArts Repo code hosting platform supporting 200,000 R&D personnel will be completed.

         

picture

4. CodeArts Repo usage scenario introduction  

picture

4.1 Warehouse administrator  

Activities: Create warehouse, initialize code, warehouse configuration settings at the beginning of the project, and complete warehouse member management, authority management, configuration protection branch authority configuration at the same time.

Interaction mode: interface operation, API interface and code hosting service interaction

4.2 Daily development activities of developers  

Activities: upload and pull code; pull branch, create MR, collaborative development; online monitoring code, repair code, associated requirement defect list.

Interaction mode: command line, development tools, browser

4.3 Code Review Activities  

Activities: Check code online, check code code review, code responsibility field guard; access control, code integration; manage Committer permissions.

Interaction mode: development tool, browser

4.4 Automation system configurator  

Activities: pipeline webhook and other configurations; pipeline construction triggers; access control, project-level CI, and version-level CI docking.

Interaction method: Webhook, API

4.5 Testers  

Activities: test code upload and download; test software package.

Interaction method: browser

4.6 version manager released version  

Activities: lock library, release version and tag

Interaction method: browser

4.7 QA/Product Manager  

Activities: Audit Metrics, E2E Retrospective Audit

Interaction method: API

         

5. CodeArts Repo product advantages  

5.1 Full-stack self-developed, safe and worry-free  

picture

Full-stack self-developed based on cloud-native architecture, Cell-based deployment, unique fragmented encrypted storage, IP whitelist and fine-grained access control, encrypted transmission, remote disaster recovery and backup, providing you with codes with extreme security and resilience in the cloud baby sitting program.

5.2 Efficient code collaborative development  

picture

Built-in achievements of Huawei's transformation practice for many years, covering various development collaboration scenarios such as cloud, pipe, and end vehicle, supporting collaborative development of teams of different sizes, including microservice devops and large teams, and built-in various rules and templates to ensure efficient team collaboration.

5.3 Multi-level code quality protection  

picture

Based on the code branch and member roles, the workflow control of code uploading to the library is combined with the automated tool inspection and manual review process to embed Huawei's CleanCode practice results to ensure the quality of each line of uploaded code.

5.4 Code-centric R&D asset traceability  

picture

The code as the core asset of R&D allows you to clearly understand the ins and outs of each line of code, and provides a complete traceability path from requirements, design, Story, code, defect to product version, which facilitates version tracking and problem fixing.

6. Introduction of Application Scenarios  

6.1 Team-level development collaboration  

picture

Advantage

Cloud code storage, out of the box

Simple development process, rapid iterative development

Multiple collaborative development mode options (branch development/fork warehouse development)

 View code anytime, anywhere

Chain seamlessly integrated with automated assembly line

6.2 Enterprise-level development collaboration  

picture

Advantage

Cross-team and cross-region collaborative development

Organization-level code development specification

Multi-role fine-grained authority control

Multiple built-in templates, unified development process

R&D asset data analysis and insights

 Abundant extension points to facilitate enterprise integration

Code core asset backup

         

Seven, CodeArts Repo feature introduction  

7.1 Code review and access control  

picture

Features: Multi-level, fine-grained code library quality access control

Supports manual review and automated assembly line integration to control the quality of code uploaded to the library. Code that does not meet quality indicators is not allowed to be stored in the library. Manual review supports the principle of separation of duties and responsibilities (SOD), and automated inspection supports branch-level control

         

7.2 Code inspection  

picture

Feature: Multiple forms of code inspection activities

Support document-based free-to-view and merge request code review capabilities, allowing the team to conduct centralized review or distributed collaborative review, support review templates, automatic assignment of reviewers, review task notification settings, review comments can be tracked, and can be closed-loop

7.3 Fine-grained permission control  

picture

Feature: role-based fine-grained permission control

Provide fine-grained authority control for activities such as warehouse management, warehouse configuration, and code development. The code access authority of different members supports branch-level authority control, improving collaborative development efficiency and ensuring code security.

7.4 E2E traceability around the code  

picture

Feature: Traceability of R&D assets around the code

Provide records and traceability from requirements, tasks, designs, defects, codes, and versions, and grasp the ins and outs of each code to facilitate online problem location and auditing.

7.5 Warehouse specifications and templates  

picture

Features: Rich warehouse templates, standardized team development activities

Provides warehouse templates, code review templates, and merge request templates. Mandatory and optional fields can be configured to ensure uniform development behavior of the team and make performance analysis and improvement based on R&D data more convenient.

         

7.6 Safety and Resilience  

picture

Features: Provides ultimate security and resilience

Based on full-stack self-developed cloud-native architecture, it provides extremely resilient and secure code hosting capabilities, derived from Huawei's practical achievements, covering cloud, pipe, terminal, vehicle, IT and other large-scale product collaborative development, 1 billion-level code management, and a team of 10,000 people Concurrent online collaborative work High concurrent code download, large storage capacity.

7.7 Multiple job stream support  

picture

Features: Provide multiple development operation collaboration methods

Provides a variety of development collaboration models based on Git, which is not only suitable for the flexible development model of small and medium-sized enterprises, but also supports the complex development collaboration model of medium and large enterprises.

7.8 Full-stack self-development  

picture

Features: Huawei full-stack self-developed

The brand-new cloud architecture is based on cloud-native architecture layered construction, cell cluster deployment, intelligent copy scheduling, and original compressed storage technology to increase the upper limit of concurrent code access, and support ultra-large-scale and ultra-large team collaborative development.

8. The key process of using CodeArts Repo  

         

picture

8.1 Determine the development specification  

Set the default branch: master

 Determine the protection branch: master and develop

 Determine the naming convention of the branch:

¡ Features/abc[feature description]

¡ hotfix/115 [Trouble Ticket Date]

Determine the naming convention of the version, and use this specification to label

 Determine the unified Commit specification within the team

Determine the participants and responsibilities of the merge request

picture

         

8.2 Determine the development process  

Create warehouse

Developers download code

 Create a working branch

Submit code

 Create a merge request

 Invite team members to participate in code review

Warehouse administrator, merge code after review

picture

         
 

8.3 Configure warehouse rules  

You can learn how to configure warehouse rules in detail through the official help documentation.

Growth Map_Code Hosting CodeArts Repo_HUAWEI CLOUD (huaweicloud.com)

         

picture

The following shows some interface effects of configuring warehouse rules. I believe it will be very helpful for everyone to understand CodeArts Repo. Let's take a look.

submission rules

picture

edit submission rules

picture

Project member management

picture

Set protection policy for branches

picture

edit protected branch

picture

Merge request settings interface

picture

Set code review merge request policy

         

picture

Code merge review effect interface

picture

Code View Audit Details Interface

picture

Nine. Summary  

This Huawei self-developed code hosting platform covers almost all functions and features in the field of code hosting, such as (authority control, security, high performance, code review mechanism, version logging, support for multi-job flow, etc.), for enterprises It is a very good choice for software companies.

         

Guess you like

Origin blog.csdn.net/xishining/article/details/131923409