华为云用户手册

  • 什么是管理手机号,为什么会出现管理手机号? 如果您登录华为云后,在基本信息页出现“管理手机号”,表示您使用该手机号注册了两个或三个华为账号并开通了华为云业务。 在您使用该手机号注册的第二个或第三个华为账号登录华为云时,“华为账号信息”区域会出现“管理手机号”,该管理手机号用于您登录华为云,查询华为账号名,以及接收资讯和活动消息等。如您需要修改,请单击“前往管理”进入华为账号的账号中心更改“管理手机号”。 父主题: 基本概念
  • 华为账号绑定/修改邮箱后,为什么系统提示:“3天后生效”?如何处理? 华为账号绑定/修改邮箱后,系统提示“3天后生效”。 以下原因可能导致系统提示“3天后生效”。 账号为高价值账号 账号存在盗号风险 如果您的业务需要立即生效,可通过如下方法处理: 提交工单处理。 您可在“问题描述”中输入以下信息,工单中的手机号码和邮箱请根据实际情况填写。 业务场景:(按实际情况填写) 诉求:绑定邮箱后立即生效 拨打客服电话4000-955-988,联系客服处理。 父主题: 基本概念
  • 计费示例 假设您在2023/06/30 15:50:04购买了一套包年/包月 云防火墙 (版本:专业版,扩展包:扩展防护公网IP数1个、扩展防护流量峰值5Mbit/s、扩展VPC数1个),计费资源包括专业版和增值包(扩展防护公网IP数、扩展防护流量峰值、扩展VPC数)。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/06/30 15:50:04 ~ 2023/07/30 23:59:59 第二个计费周期为:2023/07/30 23:59:59 ~ 2023/08/30 23:59:59 图 包年/包月CFW费用计算示例给出了上述示例配置的费用计算过程。 图中价格仅为示例,实际计算请以云防火墙价格详情中的价格为准。 图1 包年/包月CFW费用计算示例 按需计费模式下,各计费项的计费示例请参见计费示例。
  • 计费说明 云防火墙的计费项由服务版本和扩展包(扩展防护公网IP数、扩展防护流量峰值、扩展VPC数)组成。具体内容如表1所示。 如您需要快速了解CFW服务的具体价格,请参见CFW价格详情。 表1 云防火墙计费项 计费项 计费项说明 适用的计费模式 计费公式 服务版本 不同的版本提供不同的功能。 包年/包月、按需计费 包年/包月:服务版本 * 购买时长 按需:服务版本 * 计费时长 扩展包 防护互联网边界公网IP数 如套餐内数量无法满足您的防护需求,可额外购买对应的扩展包。 包年/包月 扩展包单价 * 个数 * 购买时长 防护互联网边界的流量峰值 防护的VPC数量 实际使用流量 按照实际使用的流量计费。 按需计费 实际使用的流量(GB)* 流量价格 在使用云防火墙过程中,可能还会涉及一些高级配置的费用,如企业路由器、 云日志 。具体如表2所示。 表2 高级配置计费项 计费项 计费项说明 企业路由器 如有对VPC间流量或专线流量进行防护的需求,您可能需要购买企业路由器进行引流。 详细计费信息请参见企业路由器价格详情。 云日志服务 如有日志存储需求,您需要购买云日志服务,为您提供1~365天日志数据存储功能。 详细计费信息请参见云日志服务价格详情。 消息通知 服务 如有告警通知需求,您需要购买消息通知服务配置接收通知方式(例如邮件或短信),以便您及时接收到相关的告警通知。 详细计费信息请参见 SMN 价格详情
  • CFW计费模式概述 云防火墙提供包年/包月、按需计费两种计费模式,以满足不同场景下的用户需求。如您需要快速了解CFW服务不同计费模式的具体价格,请参见CFW价格详情。 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。购买周期越长,享受的折扣越大。一般适用于设备需求量长期稳定的成熟业务。 按需计费:一种后付费模式,即先使用再付费,按照云防火墙实际使用时长计费,秒级计费,按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。一般适用于电商抢购等设备需求量瞬间大幅波动的场景。 表1列出了计费模式的区别。 表1 计费模式 计费模式 包年/包月 按需计费 付费方式 预付费 按照订单的购买周期结算。 后付费 按照云防火墙实际使用时长和实际处理流量计费。 计费周期 按订单的购买周期计费。 秒级计费,按小时结算。 使用量类型 服务版本; 扩展包数量(扩展防护公网IP数、扩展防护流量峰值、扩展VPC数) 服务版本 使用时长 变更计费模式 不支持变更为按需计费模式。 不支持变更为包年/包月计费模式。 变更规格 支持变更服务版本规格。 不涉及 适用场景 适用于可预估资源使用周期的场景,购买时长越久价格越优惠。 比按需计费模式更优惠。对于长期使用者,推荐该方式。 适用于计算资源需求波动的场景,可以随时开通,随时删除。 父主题: 计费模式
  • 放行业务访问某平台的流量 假如您需要放行EIP(xx.xx.xx.185)对“cfw-test.com”和“*.example.com”的80端口和443端口的访问流量,设置参数如下,其余参数可根据您的部署进行填写。 将平台 域名 添加至应用型域名组,如图 添加某平台域名组所示。 配置两条防护规则: 一条拦截所有流量,如图 拦截所有流量所示,优先级置于最低。 一条放行EIP对某平台的流量访问,如图 放行IP对某平台的访问流量所示,优先级设置最高。 图1 添加某平台域名组 图2 拦截所有流量 图3 放行EIP对某平台的80端口和443端口的访问流量
  • 通配符规则 参数名称 输入示例 说明 源/目的 0.0.0.0/0 所有IP。 域名 www.example.com 对www.example.com域名生效。 域名 *.example.com 所有以example.com为后缀的域名,例如:test.example.com。 服务-源端口/目的端口 1-65535 所有端口生效。 服务-源端口/目的端口 80-443 对80到443之间的所有端口生效。 服务-源端口/目的端口 80 443 对80和443端口生效。
  • 访问控制策略类型 访问控制策略分为“防护规则”和“黑/白名单”两类功能,区别如表 防护规则和黑/白名单的区别所示,流量命中某一条策略时,执行该策略的动作,各功能的防护顺序请参见云防火墙的防护顺序是什么?。 表1 防护规则和黑/白名单的区别 类型 支持的防护对象 网络类型 防护后的动作 配置方式 防护规则 五元组 IP地址组 地理位置(地域) 域名和域名组 公网IP 私网IP 设置为“阻断”:流量直接拦截。 设置为“放行”:流量被“防护规则”功能放行后,再经过入侵防御(IPS) 功能检测。 通过配置防护规则拦截/放行流量 黑名单 五元组 IP地址组 公网IP 直接拦截流量。 管理黑/白名单 白名单 流量被云防火墙放行,不再经过其它功能检测。
  • 配置阻断策略时注意事项 配置阻断IP的防护规则或黑名单时需注意以下几点: 建议优先配置精准的IP(如192.168.10.5),减少网段配置,避免误拦截。 对于反向代理IP(如内容分发网络(CDN)、DDoS高防、 Web应用防火墙 (WAF)的回源IP),请谨慎配置阻断策略,建议配置放行的防护规则或白名单。 对于正向代理IP(如公司出口IP),影响范围较大,请谨慎配置阻断策略。 配置“地域”防护时,需考虑公网IP可能更换地址的情况。
  • 通过E2E单号关联门禁 如果为目标仓库开启了E2E单号关联,即勾选“必须与CodeArts Req关联”。执行如下步骤,完成E2E单号关联: 进入目标仓库,切换到“合并请求”页签,单击目标合并请求名称,进入目标合并请求。 单击“详情”页中“关联工作项”旁的图标,搜索并选择目标工作项。 单击“确定”,完成E2E单号关联。 当合并请求成功关联工作项时显示,如下图所示。 图3 E2E单号关联门禁通过示意图
  • 在Windows中使用密钥对方式进行加密、解密 下载并安装最新的Windows Git客户端,下载最新基于Windows的git-crypt,把下载到的exe文件放到Git安装目录下的“cmd”文件夹中。 执行如下命令,在本地生成密钥对。 打开“Git Bash”,并进入本地代码仓库。 执行如下命令,在Git代码仓库中创建“.git-crypt”文件夹,文件夹包含加密文件所需的密钥和配置文件。 git-crypt init 执行如下命令,把密钥文件导出到C:/test目录并命名为KeyFile。 git-crypt export-key /c/test/keyfile 执行完上述步骤,您可以到密钥导出的文件路径进行验证,确认是否已成功生成密钥。持有这个密钥文件的计算机,可以解密对应的加密文件。 执行如下命令,为代码仓库配置加密范围。 在仓库的根目录下新建一个名为“.gitattributes”的文件。 打开“.gitattributes”文件,设置加密范围,语法如下。 文件名或文件范围 filter=git-crypt diff=git-crypt 下面给出四个示例。 FT/file01.txt filter=git-crypt diff=git-crypt #将特定文件加密,这里加密的是FT文件夹下的file01.txt *.java filter=git-crypt diff=git-crypt #将 .java类型文件加密 G* filter=git-crypt diff=git-crypt #将 文件名为 G 开头的文件加密 ForTest/** filter=git-crypt diff=git-crypt #将 ForTest 文件夹下的文件加密 如果创建.gitattributes文件时提示“必须键入文件名”,可以将文件名填写成 “.gitattributes.”即可创建成功,如果使用Linux指令创建文件,则不会出现此问题。 注意不要将.gitattributes保存成txt文件,否则配置会无效。 进行文件加密。 在仓库根目录打开Git bash,执行如下指令即可完成加密,加密后可看到目前文件的加密状态。 git-crypt status 加密执行后,在您的本地仓库仍能明文方式打开和编辑这些加密文件,这是因为您本地仓库有密钥存在。 这时你可以使用add 、commit、push组合将仓库推送到代码托管仓库,此时加密文件将一同被推送。 加密文件在代码托管仓库中将以加密二进制方式存储,无法直接查看。如果没有密钥,就算将其下载到本地,也无法解密。 “git-crypt status”只会加密本次待提交的文件,对本次未发生修改的历史文件不会产生加密作用,Git会对此设定涉及的未加密文件做出提示(见上图中的Warning),如果想将仓库中的对应类型文件全部加密,请使用“git-crypt status -f”。 在让团队合作中 -f (强制执行)具有一定的风险,请谨慎使用。 进行文件解密。 确认本机器Git安装路径下存在git-crypt文件。 将仓库从代码托管克隆到本地。 获取加密此仓库的密钥文件,并存储于本地计算机。 进入仓库目录,右键打开Git bash。 执行解密指令,执行后无回显,则为执行成功。 git-crypt unlock /C/test/KeyFile #请将 /C/test/KeyFile 更换为您实际的密钥存储路径
  • Linux、Mac平台的git-crypt、GPG安装 Linux平台安装git-crypt、GPG Linux安装依赖环境。 Software Debian/Ubuntu package RHEL/CentOS package Make make make A C++11 compiler (e.g. gcc 4.9+) g++ gcc-c++ OpenSSL development files libssl-dev openssl-devel Linux环境下,使用源码编译方式安装git-crypt。 下载源码 make make install 安装到指定目录。 make install PREFIX=/usr/local Linux环境下,使用源码编译方式安装GPG。 下载源码 ./configure make make install 使用Debian包安装git-crypt。 下载源码 Debian打包可以在项目Git仓库的“debian”分支中找到。 软件包是用“git-buildpackage”构建的,如下所示。 git checkout debian git-buildpackage -uc -us Debian环境下使用构建包安装GPG。 sudo apt-get install gnupg MAC平台安装git-crypt、GPG macOS上安装git-crypt。 使用 brew 软件包管理器,只需运行如下命令。 brew install git-crypt macOS上安装GPG。 使用 brew 软件包管理器,只需运行如下命令。 brew install GPG
  • git-crypt加密在团队合作中的应用 很多时候,团队需要在代码仓库中存储限制公开的文件,这时可以优先考虑使用“CodeArts Repo” + “Git” + “git-crypt”的组合,来实现部分文件在仓库分布式开源中的加密。 通常,直接使用密钥对方式的加密就能满足限制部分文件访问的需要。 当团队需要将加密文件设置不同的秘密级别时,可以使用GPG方式加密,这种方式支持您对同一个仓库的不同文件使用不同的密钥加密,将不同密级的密钥分别随仓库共享给组织内的伙伴,即可实现文件的定向分级限制访问。
  • 使用SSH协议在Git Bash克隆代码仓库到本地 登录CodeArts Repo首页。 进入要克隆的代码仓库主页,单击“克隆/下载”按钮,并复制SSH地址。 在本地Git Bash客户端,执行命令cd D:/Repo,进入您要克隆代码仓的地址。如下命令表示克隆的代码仓将克隆到D盘的Repo文件夹下。 执行如下命令,克隆代码仓到该目录下。 git clone 代码仓库的SSH地址 如果您是第一次克隆仓库,会询问您是否信任远程仓库,输入“yes”即可。 如果出现下图,说明克隆仓库成功。如果克隆代码仓库失败,请根据下面的“说明”排查并解决问题。 图1 使用SSH密钥克隆代码仓成功示意图 如果在执行步骤3时,Git Bash报错“git@test.com: Permission denied.fatal: Could not read from remote repository.Please make sure you have the correct access rights and the repository exists.”,表示您还未配置访问Repo的SSH密钥,请先配置SSH密钥,具体请参考配置SSH密钥。
  • 使用SSH密钥在TortoiseGit克隆代码仓库到本地 登录CodeArts Repo首页。 进入要克隆的代码仓库主页,单击“克隆/下载”按钮,并复制SSH地址。 进入您的本地仓库目录下,右键选择“Git克隆”菜单选项。 在弹出的窗口中将步骤1复制的SSH地址粘贴到URL输入框中,勾选“加载Putty密钥”并选择安装TortoiseGit客户端时生成的私钥文件,如下图所示。 图2 弹出框界面 单击“确定”,如果您是第一次在TortoiseGit客户端克隆代码仓,系统会询问您是否信任远程仓库,单击“是”即可。
  • 常用命令 Git常用命令的功能、格式、参数说明以及使用示例如下所示。 表1 Git常用命令 命令 功能 格式 参数说明 使用实例 ssh–keygen –t rsa 生成密钥 ssh–keygen –t rsa –C [email] email:邮箱地址 在C盘.ssh文件夹下获取密钥文件“id_rsa.pub” ssh–keygen –t rsa –C "devcloud_key01@test.com" git branch 新建分支。 git branch [new branchname] new branchname:新的分支名 新建分支: git branch newbranch git branch –D 删除分支 git branch –D [new branchname] new branchname:新的分支名 删除本地分支: git branch –D newbranch 删除服务器仓库分支 git branch –rd origin/newbranch 同步远端已删除的分支 git remote prune origin git add 添加文件到暂存区。 git add [filename] filename:文件名 添加一个文件到暂缓区: git add filename 添加所有修改的和新增的文件到暂缓区: git add . git rm 删除本地目录或文件。 git rm [filename] filename:文件名或目录名 删除文件: git rm filename git clone 克隆远程仓库。 git clone [VersionAddress] VersionAddress:版本库的网址。 克隆jQuery的版本库: git clone https://github.com/jquery/jquery.git 该命令会在本地主机生成一个目录,与远程主机的版本库同名。 git pull 把远程仓库的分支pull到本地,再与本地的指定分支合并。 git pull [RemoteHostname] [RemoteBranchname]:[LocalBranchname] - 取回“origin”主机的“next”分支,与本地的“master”分支合并: git pull origin next:master git diff 文件、分支、目录或版本的比较。 git diff - 当前与“master”分支的比较: git diff master git commit 文件提交。 git commit - 添加提交信息: git commit –m "commit message" git push 推送文件到远程仓库。 git push [RemoteHostname] [LocalBranchname] [RemoteBranchname] - 如果省略远程分支名,则表示将本地分支推送与之存在“追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建: git push origin master 上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。 git merge 合并分支。 git merge [branch] branch:分支名 假设当前分支为“develop”,将master主分支之后的最新提交merge到当前的develop分支上: git merge master git checkout 切换分支。 git checkout [branchname] branchname:分支名 切换到master分支: git checkout master git log 列出日志信息。 git log - 列出所有的log: git log –-all git status 查看状态输出。 git status - git status git grep 查找字符串。 git grep - 查找是否有“hello”字符串: git grep "hello" git show 显示内容或修改的内容。 git show - git show v1 显示“tag v1”的修改内容 git show HEAD 显示当前版本的修改文件 git show HEAD^ 显示前一版本所有的修改文件 git show HEAD~4 显示前4版本的修改文件 git stash 暂存区。 git stash - git stash 用于保存和恢复工作进度 git stash list 列出暂存区的文件 git stash pop 取出最新的一笔,并移除 git stash apply 取出但不移除 git stash clear 清除暂存区 git ls-files 查看文件。 git ls-files - git ls-files –d 查看已经删除的文件 git ls-files –d |xargs git checkout 将已删除的文件还原 git remote 操作远程。 git remote - git push origin master:newbranch 增加远程仓库的分支 git remote add newbranch 增加远程仓库的分支 git remote show 列出现在远程有多少版本库 git remote rm newbranch 删除远程仓库的新分支 git remote update 更新远程所有版本的分支
  • 权限管理 代码组的权限管理位于代码组详情中“设置”页签下。 您可根据下表给各角色配置权限。 代码组权限矩阵仅支持项目管理员及各层代码组的所有者修改。 如果该仓库成员是从代码组下继承的,那么其角色默认为代码组角色,在仓库中修改该仓库成员的角色后,单击“成员列表”页签下仓库成员所在行对应操作列的按钮时,则该角色权限会改为之前代码组角色。 表1 代码组角色权限 角色/功能 操作权限 项目经理 Committer 开发人员 系统工程师 测试经理、测试人员、参与者、运维经理和产品经理 浏览者 自定义角色 代码组 新建 B B B B C D C 删除 B D D D D D C 设置 B D D D D D C 仓库 新建 B B B B C D C Fork B B B B C D C 删除 B D D D D D C 设置 B D D D D D C 代码 提交 B A A A C D C 下载 B A A A C D C 成员 添加 B D D D D D C 修改 B D D D D D C 删除 B D D D D D C 分支 新建 B B B B C D C 删除 B B B B C D C Tag 新建 B B B B C D C 删除 B C C C C D C MR 新建 B B B B C D C 编辑 B B C C D D C 评论 B B B B C C C 检视 B B B B D C C 审核 B B C C D D C 合并 B B C C D D C 关闭 B B C C D D C 重开 B B C C D D C A:表示该角色默认拥有该权限且不可被移除。 B:表示该角色默认拥有该权限且可被移除。 C:表示该角色可分配到该权限。 D:表示该角色不可分配到该权限。 仓库级权限管理位于仓库详情中“设置”页签下。 您可根据下表给各角色配置权限。 表2 仓库级角色权限 角色/功能 操作权限 项目经理 Committer 开发人员 系统工程师 测试经理、测试人员、参与者、运维经理和产品经理 浏览者 自定义角色 代码组 删除 B D D D D D C 设置 B D D D D D C 仓库 Fork B B B B C D C 删除 B D D D D D C 设置 B D D D D D C 代码 提交 B A A A C D C 下载 B A A A C D C 成员 添加 B D D D D D C 修改 B D D D D D C 删除 B D D D D D C 分支 新建 B B B B C D C 删除 B B B B C D C Tag 新建 B B B B C D C 删除 B C C C C D C MR 新建 B B B B C D C 编辑 B B C C D D C 评论 B B B B C C C 检视 B B B B D C C 审核 B B C C D D C 合并 B B C C D D C 关闭 B B C C D D C 重开 B B C C D D C A:表示该角色默认拥有该权限且不可被移除。 B:表示该角色默认拥有该权限且可被移除。 C:表示该角色可分配到该权限。 D:表示该角色不可分配到该权限。 父主题: 配置代码组
  • 查看代码组详情 在代码组列表中单击代码组名称可进入该代码组的详情页面, 代码托管服务 提供了丰富的控制台操作,详情如下。 表1 页签说明 功能说明 页签说明 代码仓(组) 用于展示代码组的数量、仓库数量、开启中的MR的数量和成员数量等信息。同时您也可以新建仓库和查看未锁定的仓库。 成员 代码组成员管理页面,支持添加成员,调整代码组成员角色。 设置 此代码组的设置入口,代码组所有成员均可查看,但是仅支持项目管理员或代码组所有者修改。 另外代码组详情页框架上还提供以下功能的快捷入口: 获取仓库地址:可通过单击“SSH”或“HTTPS”后的图标,获取仓库地址。 :单击该图标,可关注该代码组。 :在代码组下单击该图标,可查看仓库数目,并进入每个仓库,查看代码组成员并进行代码组成员设置,创建新的子代码组或仓库,按照模板创建新的仓库,以及导入外部仓库。在仓库下单击该图标,可进行关联工作项、成员管理和删除仓库操作。 父主题: 使用代码组
  • 配置代码仓库的企业微信通知设置 表2 企业微信通知设置的参数说明 参数 说明 Webhook地址 该参数必填。用于识别CodeArts Repo成员组所添加机器人的Webhook地址,长度上限为500字符。 仓库 该参数非必填。根据您想收到的微信通知设置即可,包含两个个选项,默认勾选如下两个选项,并且您可以选择想要邮件通知的对象: 如果勾选“删除仓库”,表示有成员删除仓库时,系统将通过邮件通知的方式告知您。 如果勾选“容量预警”,表示超过设置的容量阈值,系统将通过邮件通知的方式告知您,并且您可以下拉选择阈值:60%、80%和90%。 合并请求 该参数非必填,根据您的需要勾选对应选项即可,包含如下选项: 合并请求状态变更。表示开启、更新或者合并请求状态时,会通过微信机器人的方式推送通知。默认勾选的状态:开启、合并。 合并请求检视审核。包括“检视”和“审核”两种状态。 合并请求评审意见。默认勾选“新建”状态,还可以根据需要,勾选是否要通知“解决”状态。
  • 配置代码仓库的邮件通知设置 表1 邮件通知设置的参数说明 参数 说明 仓库 该参数非必填。根据您想收到的邮件通知设置即可,包含四个选项,默认勾选“冻结仓库”和“关闭仓库”,且不可更改,如果仓库出现冻结或者关闭,邮件将通知仓库所有者和项目管理员。另外两个选项如下,并且您可以选择想要邮件通知的对象: 如果勾选“删除仓库”,表示有成员删除仓库时,系统将通过邮件通知的方式告知您。 如果勾选“容量预警”,表示超过设置的容量阈值,系统将通过邮件通知的方式告知您,并且您可以下拉选择阈值:60%、80%和90%。 合并请求 该参数非必填,根据您的需要勾选对应选项即可,包含如下选项: 开启合并请求。表示有合并请求开启时(包括新建和重开合并请求),会邮件通知到您勾选的角色,默认勾选的角色:评审人、审核人、检视人和合并人。 更新合并请求。表示更新合并请求关联分支的代码时,会推送更新邮件,默认勾选的角色:评审人、审核人和检视人。 合并合并请求。表示合并请求时,会推送邮件,默认勾选的角色:MR创建人。还可以勾选“合并人”。 检视合并请求。表示会推送邮件通知检视合并请求,默认勾选角色:MR创建人。 审核合并请求。表示会推送邮件通知审核合并请求,默认勾选角色:MR创建人。 新建评审意见。表示会将新建的评审意见推送给选中角色,默认勾选角色:MR创建人。 解决评审意见。表示会推送邮件给选中角色,让其解决评审意见,默认勾选角色:MR创建人。 如果在CodeArts Repo已打开邮件通知设置,但仍未收到相关邮件通知,请前往CodeArts的消息设置,检查邮箱配置、邮件通知是否开启。
  • 新建代码组 进入项目或父组织中,单击图标下拉框选择“新建代码组”,进入新建代码组页面,根据下表填写基本信息,单击“确定”,完成代码组的新建,代码组最多支持三层目录。 表1 新建代码组参数说明 字段说明 是否必填 备注说明 归属项目 是 代码组必须存在项目下。 如果账号下没有项目请在项目选择框中选择“新建项目”会先弹出“新建项目”页面,这时建立的项目是Scrum。 说明: 只有通过“代码托管”首页入口新建代码组时,才能新建项目。 代码组路径 否 代码组路径对应建仓接口的参数groupId。如果groupId为空,则表示创建项目下的仓库,没有对应的代码组。您可根据自己实际需求选择代码组路径。代码组路径范围是所有首层代码组、子代码组的根组织路径。 代码组名称 是 请以大小写字母、数字、下划线开头,可包含大小写字母、数字、中划线、下划线、英文句点,但不能以.git、.atom或.结尾。代码组和仓库总长度限制为256字符。 描述 否 为您的代码组填写描述,限制2000字符。 是否公开 是 可选择私有和公开只读,默认选择私有。 私有 仅对代码组成员可见。私有代码组下的子代码组和仓库的公开性只能为“私有”。 公开只读 代码组对所有访客公开可读,但不出现在访客的代码组列表及搜索中。公开代码组下的子代码组和仓库的公开性支持私有和公开只读两种。
  • 查看代码组列表 您可以通过以下方式进入代码托管服务代码组列表页。 进入软件开发生产线首页,单击“服务”图标下的“代码托管”,默认展示我参与的仓库列表页,单击“代码组”下的任一菜单,即可进入代码托管服务代码组列表页。 在这里您可以完成新建代码组、配置代码组等操作。 :单击该图标,可进入新建代码组页面。 :单击该图标,关注代码组。可在我关注的代码组中查看该代码组。 :单击代码组所在行右侧的该图标,可进入子代码组首页。 :单击父代码组后的该图标,可展示“仓库”、“成员”、“设置”和“新建子代码组”图标。 :单击该图标,可直接进入代码仓(组)列表页面。 :单击该图标,可直接进入代码组成员列表页面。 :单击该图标,可直接进入代码组“设置”页签下 的代码组信息页面。 :单击该图标,可直接进入新建子代码组页面。 个人首页:支持查看“我关注的”、“我参与的”及“我创建的”等分类的代码组。右上角支持查看“最近创建”和“最近更新”的代码组。 父主题: 使用代码组
  • 购买CodeArts Repo套餐 使用 IAM 账号登录CodeArts Repo购买页面。 在购买CodeArts Repo套餐页面,参考表填写购买参数。 表1 购买CodeArts Repo套餐参数表格 参数 说明 计费模式 该参数不可修改,默认为包年/包月。CodeArts Repo套餐的计费模式为包月或者包年。 区域 该参数必填。当前CodeArts Repo中国站支持如下局点:华北-北京一、华北-北京四、华东-上海一、华东-上海二、华南-广州、西南-贵阳一。 说明: 不同区域购买的资源不能跨区域使用,请谨慎选择。 中国站支持购买国际站区域。 产品 该参数不可修改,默认为CodeArts Repo套餐。 规格 该参数必填,根据您的需要,选择基础版或者专业版套餐。 基础版,该套餐提供以下功能:分支权限管理、代码评审、仓库配置和工作项关联。您可以使用总容量不超过50GB的代码仓库,每个仓库的容量最大为10GB,每次推送的文件大小不超过200MB,并且您可以创建任意数量的代码仓库。 专业版,该套餐提供以下功能:包含基础版所有功能,并且提供合并请求模板、检视意见分类及模板和星级评价。您可以使用总容量不超过500GB的代码仓库,每个仓库的容量最大为20GB,每次推送的文件大小不超过300MB,并且您可以创建任意数量的代码仓库。 说明: 基础版更适用于个人开发者和小微型企业,专业版适用于中大型企业。 购买人数 该参数必填,根据您的需要,选择购买人数,至少1人,最多9999人。 购买时长 该参数必填,根据您的需要,选择购买时长,支持购买1~9个月、1~3年。您还可以根据需要,选择是否勾选自动续费,请参考自动续费规则,关于续费时长,如果您是按月购买,每次续费1个月,次数不限;如果您是按年购买:每次续费1年,次数不限。 协议 该参数必填。 填完购买参数后,确认订单内容无误后,单击“去支付”,付款后,进入Repo控制台页,左上角切换到您购买的区域,可查看到购买的套餐信息。 如果您当前正处于套餐期,无法进行购买操作。 如果您想要体验一站式体验一站式、全流程、安全可信的软件开发生产线(CodeArts),您可以使用IAM账号登录开通/购买软件开发生产线服务组合套餐,购买CodeArts套餐,CodeArts套餐包含的Repo套餐。 如果您购买了10
  • 在线导入Git平台的代码仓库到CodeArts Repo 进入CodeArts Repo首页后,单击“新建仓库”,在“归属项目”下拉框中选择已有的项目或者“新建项目”。 仓库类型选择“导入仓库”,导入方式选择“Git Url”,参数填写请参考表1。 表1 导入Git平台代码仓库的参数表格 字段名称 说明 源仓库路径 该参数必填,该参数表示要导入的仓库路径。源仓库路径需要以(http://)或(https://)开头,以(.git)结尾。 说明: 如果仓库过大或者网络较差时,仓库导入时间可能会超过30min。如果出现导入超时,建议使用客户端clone/push来处理,具体可参考导入外部仓库提示超时。 该功能需要保证被导入的仓库域名和服务节点网络连通。 可见范围 该参数为非必填。该参数表示源仓库的可见范围,包括两个选项: 公开只读(仓库对所有访客公开只读,但不出现在访客的仓库列表及搜索中)。当选择公开只读时,还需要填写“同步仓库设置”参数,具体可参考表。 私有(仓库仅对仓库成员可见,仓库成员可访问仓库或者提交代码)。当选择私有时,还需要填写: 用户名和密码/AccessToken。 填写“分支设置”参数,具体可参考表。 用户名 当代码仓库选择为私有时,该参数必填。该参数表示https克隆代码时的用户名,例如为GitHub的登录名称。 密码/Access Token 当代码仓库选择为私有时,该参数必填。该参数表示https克隆代码时的用户名,例如为GitHub的登录名称。该参数的获取方式请参考获取Access Token。 初始化设置 该参数为非必填。包括两个选项: 允许生成README文件。推荐您勾选该选项,生成该文件后,您可以通过编辑README文件,记录项目的架构、编写目的等信息,帮助其他人更快了解该代码仓。 自动创建代码检查任务(免费)。推荐您勾选该选项,代码仓库创建完成后,在代码检查(CodeArts Check)任务列表中,可看到对应仓库的检查任务。 表2 同步仓库设置的参数表格 字段名称 说明 分支设置 该参数必填。包括两个选项: 默认分支。指新建代码仓库时自动创建的主分支,例如master分支。 全部分支。指代码仓库中的所有分支,包括默认分支及其他自定义分支。 填写完参数后,会自动跳转到“我创建的”代码仓列表页面,如果新建代码仓库名称颜色为灰色,且仓库名称旁有红色感叹号,表示该仓库导入失败,可能原因:用户名或者密码/Access Token错误。可以将该代码仓删除,按照如上步骤操作,重新导入外部仓库。 当前Git支持的外部导入源包括:bitbucket.org、code.aliyun.com、coding.net、git.qcloud.com、gitee.com、github.com、gitlab.com、visualstudio.com、xiaolvyun.baidu.com。
  • 在线导入SVN平台的代码仓库到CodeArts Repo 进入CodeArts Repo首页后,单击“新建仓库”,在“归属项目”下拉框中选择已有的项目或者“新建项目”。 仓库类型选择“导入仓库”,导入方式选择“SVN”。 表1 导入SVN平台代码仓库的参数表格 字段名称 说明 源仓库路径 该参数必填,该参数表示要导入的仓库路径。源仓库路径需要以(http://)开头。 说明: 如果仓库过大或者网络较差时,仓库导入时间可能会超过30min。如果出现导入超时,建议使用客户端clone/push来处理,具体可参考通过Git Bash导入SVN平台的代码仓库到CodeArts Repo。 在线导入的操作方式简单,且将SVN中的分支、Tags进行平移,如果后续想在此代码仓的基础上继续开发,请利用Git Bash客户端导入,具体可参考通过Git Bash导入SVN平台的代码仓库到CodeArts Repo。 该功能需要保证被导入的仓库域名和服务节点网络连通。 可见范围 该参数为非必填。该参数表示源仓库的可见范围,包括两个选项: 公开只读(仓库对所有访客公开只读,但不出现在访客的仓库列表及搜索中)。当选择公开只读时,还需要填写“同步仓库设置”参数。 私有(仓库仅对仓库成员可见,仓库成员可访问仓库或者提交代码)。当选择私有时,还需要填写: 用户名和密码/AccessToken。 填写“分支设置”参数。 用户名 当代码仓库选择为私有时,该参数必填。该参数表示https克隆代码时的用户名,例如为GitHub的登录名称。 密码/Access Token 当代码仓库选择为私有时,该参数必填。该参数表示https克隆代码时的用户名,例如为GitHub的登录名称。该参数的获取方式请参考获取Access Token。 初始化设置 该参数为非必填。包括两个选项: 允许生成README文件。推荐您勾选该选项,生成该文件后,您可以通过编辑README文件,记录项目的架构、编写目的等信息,帮助其他人更快了解该代码仓。 自动创建代码检查任务(免费)。推荐您勾选该选项,代码仓库创建完成后,在代码检查(CodeArts Check)任务列表中,可看到对应仓库的检查任务。
  • 配置代码仓库级的保护分支规则 如果勾选“继承项目设置”,代码仓库下不支持再次“新建保护分支”,代码仓库下的成员均可执行该操作。 如果不继承项目级配置,可参考下表设置参数。 表2 新建保护分支的参数表格 参数名称 参数解释 选择需要添加的保护分支 根据自己的需要输入完整的分支名或者带通配符的分支名。 仅支持单个添加,不支持批量添加。要求以“refs/heads/”开头,结尾可以有 “*”,其它位置不可以出现特殊字符。 添加权限 该参数非必填。支持对管理员/项目经理、Committer和开发人员添加如下权限: 推送。拥有该权限,可推送Commit到保护分支。 合并。拥有该权限,可以对该保护分支合入合并请求。 说明: 如果打开推送权限,默认同步打开合并权限,且不可单独关闭合并权限。
  • 配置“MR预合并” 当MR创建后,您可自定义WebHook、流水线等下载插件的脚本,即下载代码内容可以由您自己控制。 如果勾选“MR预合并”,则服务端会帮助您生成一个隐藏分支,表示该MR代码已经合入,进而您可以直接下载已经存在在隐藏分支的代码。 如果未勾选“MR预合并”,您需要在客户端本地做预合并,即分别下载MR源分支、MR目标分支的代码,并在构建执行机自己做合并动作。 操作命令 服务端预合并命令如下: git init git remote add origin ${repo_url克隆/下载地址} git fetch origin +refs/merge-requests/${repo_MR_iid}/merge:refs/${repo_MR_iid}merge 如果未勾选,则可以通过客户端做预合并操作,本地新建干净的工作目录,命令如下: git init git remote add origin ${repo_url克隆/下载地址} git fetch origin +refs/heads/${repoTargetBranch}:refs/remotes/origin/${repoTargetBranch} git checkout ${repoTargetBranch} git fetch origin +refs/merge-requests/${repo_MR_iid}/head:refs/remotes/origin/${repo_MR_iid}/head git merge refs/remotes/origin/${repo_MR_iid}/head --no-edit 功能优势 对于构建实时性要求高的场景,如:一个MR可能拉起几十或上百台服务器的构建,本地/客户端做预合并可能会与服务端产生的结果不一致,导致构建代码获取不够准确、构建结果不准确等问题。使用服务端预合并可以解决该实时性问题,并且构建脚本命令更简单,开发人员或CIE更好上手。
  • 配置项目级的合并请求规则 合并请求规则包含三个部分:合入机制、合入条件、MR设置和合并模式。 表3 合入机制的参数说明 参数 说明 合入机制 必填参数。包含两个选项: 打分机制:包含代码检视,以打分为基础,可设置最低合入分值,分值范围为0~5分。只有分数和必选评审达到门禁条件时,代码才可以合入,勾选打分机制时需设置最低分值。 审核机制:包含代码检视和合并审核两个步骤,以通过人数为基础,只有审核通过的人数达到门禁条件时,代码才可以合入。 说明: 合并请求默认为“审核机制”,可手动切换为“打分机制”。 修改合入机制后,会改变合并请求的工作流,但之前创建的合并请求仍保留之前的合入机制。 表4 合入条件参数说明 参数 说明 合入条件 非必填参数。包括两个选项: 勾选“评审问题全部解决才能合入”,如果评审意见被勾选为“这是一个需要被解决的问题”,则合入条件会提示“存在未解决的评审意见”且“合入”按钮置灰;如果只是一个普通的评审意见,则不存在“已解决”开关,也不会被合入条件拦截。 如果勾选“必须与CodeArts Req关联”,被关联的所有E2E单号校验必须通过;一个MR只能关联一个单号;可添加多个分支配置合并请求策略,支持手动输入通配符匹配,按回车确认,如:*-stable或production/*。 表5 MR设置参数说明 参数 说明 禁止合入自己创建的合并请求 勾选后,您在查看自己创建的MR时,“合入”按钮置灰,表示自己无法合入代码,需要找其他有合入权限的人合入。 禁止审核自己创建的合并请求 勾选后,您在查看自己创建的MR时,“审核”按钮置灰,自己无法审核,需要找其他有审核权限的人审核。 禁止检视自己创建的合并请求 勾选后,您在查看自己创建的MR时,“检视”按钮置灰,自己无法检视,需要找其他有检视权限的人检视。 允许仓库管理员强制合入 项目创建者和管理员有强制合入的权限,当合入条件不满足,也可通过“强行合并”按钮合入MR。 允许合并请求合并后继续做代码检视和评论 勾选后,已合入MR可继续做代码检视、评论。 是否将自动合并的MR状态标记为关闭状态(如果B MR中的所有commits都包含在A MR中,那么当A MR合并后,则B MR会自动合并。默认B MR会标记为merged状态,可以通过该选项控制将B MR标记为Closed状态) 未勾选时,自动合并的MR被标记为已合并。 勾选后,自动合并的MR的状态将会标记为关闭状态。 不能重新打开一个已经关闭的合并请求 勾选后,当分支合并请求已经关闭后,不能将其重新置回“开启”状态,右上方的“重开”按钮将隐藏。 此设置一般用于流程管控,使历史评审不会被篡改。 合并请求合入后,默认删除源分支 合并成功后,源分支将被删除。 已经设置成保护分支的源分支不会被删除。 此设置对历史合入请求,不会生效,不必担心启用此设置会丢失分支。 禁止Squash合并 勾选后,“Squash合并”按钮被禁止,且合并请求中无该功能使用入口。 新建合并请求,默认开启Squash合并 Squash合并是指Git在做两个分支间的合并时,会把被合并分支上的所有变更“压缩(squash)”成一个提交,追加到当前分支的后面作为“合并提交”(merge commit),可以使分支变得简洁。Squash合并和普通Merge合并唯一的区别体现在提交历史上:对于普通Merge而言,在当前分支上的合并提交通常会有两个提交信息;而Squash Merge只有一个提交信息。
  • 密钥概述 Repo的代码仓库支持SSH和HTTPS两种访问协议,您可以选择以下两种方式之一进行配置。 SSH密钥是一种安全的连接方式,用于在本地计算机与您账号下的Repo之间建立安全连接。不同的用户通常使用不同的计算机,因此在使用SSH方式连接Repo代码仓库前,需要在自己的电脑上生成自己的SSH密钥,并将公钥添加到Repo中。一旦在本地计算机上配置了SSH密钥,并添加公钥到Repo中,此账号下的所有代码仓库与这台计算机之间都可以使用该密钥进行连接。 HTTPS密码是一种用于HTTPS协议方式下载、上传时使用的用户凭证。 在Repo中,HTTPS协议所支持的单文件推送大小不超过200M。如果需要传输大于200M的文件,请使用SSH方式。 可以绑定邮箱的账号才能使用HTTPS协议。 GPG(GNU Privacy Guard)是一种用于数字签名和认证的手段。当您需要将本地代码推送到代码托管仓库时,GPG公钥在Git中用于对代码的提交和Tag进行签名和验证,以确保提交的来源可信以及代码的完整性。 父主题: 配置访问CodeArts Repo代码仓库的密钥
  • 如何将Fork仓库中的修改合入源仓库 进入代码托管服务仓库列表页。 单击Fork仓库名称,进入Fork仓库。 单击“新建合并请求”,切换到合并请求页签。 单击“新建”,弹出“新建合并请求”页面。 “源分支”为本仓库作为请求合并的分支。 “目标分支”为该仓库的源仓库被合入的分支。 单击“下一步”,进入到新建合并请求页面,其后面的操作流程与仓库内部的新建合并请求完全一致,请参考新建合并请求。 跨仓库的合并请求隶属于源仓库,只能在源仓库的“合并请求”页签中看到,在Fork仓库(请求发起方仓库)中看不到,因此选择的检视人、评审人、审核人及合并人均为源仓库的人员。
共100000条