「迁移急救包」全云平台无缝迁移云效实操手册

简介: 阿里云云效是国内领先的一站式DevOps平台,提供代码全生命周期管理、智能化交付流水线及精细化研发管控,支持多种开发场景。本文详细介绍了从其他平台(如Coding)向云效迁移的完整方案,包括代码仓库、流水线、制品仓库及项目数据的迁移步骤,帮助用户实现高效、安全的平滑迁移,提升研发效率与协作能力。

640.gif


1. 背景


作为国内领先的一站式 DevOps 平台,阿里云云效提供三大核心能力:


代码全生命周期管理:基于 Git 的代码托管服务,支持大量级仓库并行操作

智能化交付流水线:CI/CD 全链路自动化,构建部署效率提升 50%+

精细化研发管控:支持 Scrum/看板等多模式项目管理,需求流转可视可控


此外,在安全体系构建方面支持代码安全防护、敏感信息检测、基于角色的权限管理做访问控制等功能,最大程度的保障了代码和应用的安全性。


640.png


2. 迁移方案


2.1 迁移代码仓库


云效 Codeup 是企业级代码管理平台,基于 Git 实现代码托管、评审、质量检测与安全扫描。支持权限控制、多层级项目管理,深度集成 CI/CD,提升研发协作效率。具备高可用、高安全性,适配多种开发场景,助力企业实现高效、稳定的软件交付。下面以 Coding 平台迁移为例,详细讲解如何从其他云平台无缝迁移到阿里云云效。


Codeup 提供了自动导入 Coding 代码库的功能,通过简单的配置,就可以将 Coding 代码库一键迁移到 Codeup。


第一步:在 Coding 创建访问令牌 Access Token


三方库导入时,通常需要输入账号和令牌进行鉴权,访问令牌即 Access Token,Access Token 通常在个人账号设置内进行管理和配置。


640 (1).png

在 Coding 创建访问令牌


第二步:在云效输入令牌绑定 Coding 账号


从 Codeup 中导入 Coding 的代码仓库


第三步:选择代码库进行批量迁移


云效会展示 Coding 的所有代码库,选择需要迁移的代码库,即可完成一键迁移。


640 (2).png

将 Coding 的代码仓库批量迁移到云效 Codeup


如何在Codeup迁移/导入三方代码库


Access Token访问令牌如何获取?


2.2 迁移流水线


为了批量在云效创建你的流水线配置,你可以创建一个流水线的 YAML 文件,并把各个流水线之间的不同之处变成占位符,通过编程方式针对各个流水线将占位符替换成实例的值,实例化成为一个完整的 YAML,然后调用创建流水线的 API。


640 (3).png


第一步:创建一条在你的组织比较典型的流水线


下面以代码源使用阿里云云效 Codeup、镜像制品源使用阿里云 ACR 为例,创建一条流水线。


创建 Codeup 服务连接—>创建阿里云 ACR 的服务连接—>创建流水线。


640 (4).png




第二步:使用 API 批量创建流水线


对上述的流水线 YAML 配置进行泛化,在其中抽取了下面几个变量:


1. Codeup 的服务连接的 ID

2. 代码库路径

3. ACR 的服务连接的 ID

4. 镜像地址


调用云效的 API 流程为:


  • 创建个人 token,访问链接


640 (5).png


  • 获取到当前企业的组织 ID:



640 (6).png



云效支持多种部署方式(K8s 部署&主机部署),下面会给出一个 K8s 部署的例子,需要主机部署支持的开发者可进入钉群咨询。


K8S 部署在流水线中进行 K8S 的部署非常简单首先将 K8S 集群注册到流水线



创建阿里云 ACR 的服务连接。


进行 K8S 部署,需要先将镜像推送到 registry 中,然后再在 K8S 集群中进行部署,这里使用阿里云 ACR 作为 registry。为了能够在运行时动态获取 ACR 的 registry 密码,需要按照如下方式建立服务连接。


640 (7).png


在流水线中进行部署。


回到流水线中,我们选择一个主机部署的模板来新建流水线。


640 (8).png


新建的流水线中只需要替换服务连接和仓库地址接口。


运行流水线,可以看到部署成功:


640 (9).png


2.3 迁移制品仓库


云效制品仓库同时支持 Maven 库和 npm 库的迁移。


1. Maven 库支持从 Nexus3 直接导入和本地文件批量上传;

2. npm 库支持从 Nexus3 直接导入和从其他制品源导入;


云效提供了迁移工具,请先按照帮助文档的提示下载迁移工具,然后直接执行迁移命令,命令行中需要的参数可以在云效制品仓库页面上获取。迁移成功后即可在云效制品仓库页面看到包列表。


640 (10).png

制品仓库的迁移说明页面


640 (11).png

迁移成功后的 Maven 制品仓库


640 (11).png

迁移成功后的云效 npm 仓库


如何将其他 NPM 仓库中的制品同步 packages 仓库?


2.4 迁移项目


项目和工作项的数据,可以通过导出再导入的方式进行迁移,


第一步:从 Coding 导出工作项


在 Coding 的项目中,选择工作项,导出到 Excel 文件;


640 (13).png


第二步:配置工作项字段模板和工作流


在正式导入之前,需要在云效项目中配置工作项的字段模板和工作流,这样才能将 Coding 的工作项数据完整的迁移到云效,


640 (14).png

云效工作项字段设置


640 (15).png

云效工作流设置


第三步:将 Excel 导入云效项目


在云效的项目中导入工作项时,云效会首先提供一个 Excel 文件模板,这里需要将 Coding 的 Excel 文件内容复制到云效 Excel 文件,然后再进行导入。导入的进度可以在操作记录中查看,如果导入失败,云效也会提供日志文件展示失败原因,指导用户修改 Excel 文件,直至成功导入。


640 (16).png

云效的工作项导入页面


云效工作项导入进度展示


导入&导出事项 - 什么是 DevOps? DevOps 介绍 | CODING DevOps


有哪几种方式支持需求导入_云效(Alibaba Cloud DevOps)-阿里云帮助中心

作者介绍
目录