# 阿⾥云 Codeup 代码平台使⽤ & 迁移指南

## 阿里云Codeup代码平台使用 & 迁移指南

为了更好的代码托管体验以及对接阿里云的云效平台, 即将弃用旧的代码托管平台(即code.aliyun.com)转向阿里云的新代码托管平台[Codeup](http://codeup.aliyun.com)

## 0x00: Codeup使用指南

为了增强代码安全管理, Codeup只允许使用公司阿里云主账号下的子账号登录, 子账号的格式为`xxx@banchengyun.onaliyun.com`, 如果你还没有子账号请到企业微信开发权限申请处申请

准备好子账号后, 访问`https://codeup.aliyun.com`进入登录页面

![image-20200909144451585](https://bcy-tech.oss-cn-hangzhou.aliyuncs.com/uPic/image-20200909144451585.png)

选择阿里云RAM账号登录后即可进入Codeup平台, 如果出现下图的情况请联系技术赋能组邀请加入公司企业, 切勿创建企业

![image-20200909144818831](https://bcy-tech.oss-cn-hangzhou.aliyuncs.com/uPic/image-20200909144818831.png)

初次登录Codeup需要按以下步骤设置个人帐号的ssh-key

![image-20200909145001738](https://bcy-tech.oss-cn-hangzhou.aliyuncs.com/uPic/image-20200909145001738.png)

![image-20200909145030997](https://bcy-tech.oss-cn-hangzhou.aliyuncs.com/uPic/image-20200909145030997.png)

步骤4中需要粘贴个人电脑的ssh-key, 获取步骤如下

* 打开电脑终端
* 输入命令`cat ~/.ssh/id_rsa.pub`
* 得到一串以`ssh-rsa`开头以邮箱结束的ssh-key

到此个人Codeup账号已经准备好, 需要访问项目的代码仓库权限请到企业微信开发权限申请处提交申请

## 0x01: 已有仓库迁移

在code.aliyun.com上的仓库, 技术赋能组会逐步迁移到Codeup平台中, 迁移过程不会对代码仓库造成损坏, 但是需要修改本地仓库的`remote`地址, 否则迁移后将无法推送代码和拉取代码

当一个仓库完成迁移后, 技术赋能组会进行通知, 此时本地仓库无法进行推送代码和拉取代码, 通过下列步骤修改本地仓库remote地址

![image-20200909151543021](https://bcy-tech.oss-cn-hangzhou.aliyuncs.com/uPic/image-20200909151543021.png)

进入到仓库主页后, 按照上图的路径获取remote地址, 接下来操作本地仓库, 注意以下命令都在本地仓库目录执行

```
$ git remote remove origin
$ git remote add origin ${remote}
$ git remote -v
```

注: ${remote}替换成上图步骤2中复制的地址

完成上面的步骤后本地仓库即可正常的推拉代码, 如果提示无权限请阅读下节

## 0x02: 代码仓库权限

为了体现内部共享原则鼓励大家相互交流学习, Codeup上的所有仓库都对企业内的成员开放, 企业内成员可以`浏览`所有公司项目的仓库, 如果需要代码的推送权限, 请到企业微信开发权限申请处申请权限, 注意写明仓库名称以及需要申请何种权限

* 开发者 - 仅对开发分支有修改权限
* 管理员 - 对保护分支(master)有修改权限

由于旧平台的仓库成员信息无法直接同步到Codeup平台, 技术赋能组会在迁移仓库后逐个设置新仓库的代码成员, 如有遗漏请联系技术赋能组处理

## 0x03: HTTPS认证

除了使用SSH协议拉取代码外, 还可以使用HTTPS方式拉取代码, 使用HTTPS协议拉取代码比使用SSH更灵活, 下面将展示如何设置个人Codeup帐号的HTTPS认证密码

![image-20200916120015108](https://github.com/Banchengyun/wiki/tree/3cea78f68e1bc464a3f40965e7211771486727eb/Users/2m/Library/Application%20Support/typora-user-images/image-20200916120015108.png)

![image-20200916120220424](https://bcy-tech.oss-cn-hangzhou.aliyuncs.com/uPic/image-20200916120220424.png)

输入两次密码后即可完成设置, 注意红圈的位置, 克隆账号需要复制下来下一步骤使用

接下来我们配置本地的Git记住HTTPS认证信息避免每次拉取代码都需要输入, 打开终端输入

```
$ git config --global credential.helper store
```

这个命令是没有输出的, 作用是让Git保存认证信息, 接下来我们要拉取一个仓库并输入上面配置的认证信息让Git保存

打开Codeup后会发现有一个示例仓库`Codeup-Demo`

![image-20200916120723127](https://bcy-tech.oss-cn-hangzhou.aliyuncs.com/uPic/image-20200916120723127.png)

步骤3就是仓库的HTTPS拉取地址, 使用`git clone`命令尝试克隆仓库, Git会提示输入`Username for 'https://codeup.aliyun.com'`, 这里输入配置HTTPS密码步骤3中的`克隆账号`, 回车后输入设置的密码即可, 下次拉取代码时将自动使用这个认证信息无需再次输入


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tech.banchengyun.com/docs/common/codeup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
