代码上传

更新时间:

参考本节,了解上传代码到趋动云平台的各类方法及适用场景。

# 概述

参考下表,并结合您的实际情况选择合适的方法上传代码到平台。

代码上传 适用场景 参考
网页上传 适用少量小文件上传,操作简便。 操作指南>项目>上传代码
sftp上传 需上传大量文件,或对传输稳定及安全有要求时适用。该方法支持 “断点续传”(即二次传输时不上传重复文件)。 操作指南>项目>上传代码
在线jupyterlab上传 开发环境运行时,需上传少量小文件,操作简便。 技术参考>工具>JupyterLab>上传下载
远程传输 开发环境运行时,需上传大量代码文件。 操作较复杂,需 ssh 连接开发环境。 远程传输
git clone 上传 开发环境运行时,待上传的代码文件存储在远端 Git 服务器上,可通过 git clone 命令克隆代码到开发环境实现代码到平台的上传。
因开发环境有限速,文件量大时,建议克隆至本地后再通过 sftp 上传到平台。
git传输

# 远程传输

利用工具(winscp/xftp等)远程连接开发环境,随后传输本地代码到 /gemini/code/ 目录下,可实现代码上传到平台。
参考下表,选择合适的工具上传文件。

工具 说明
使用CMD下载 Windows 自带命令行工具,可使用 scp 命令上传文件到开发环境。
scp 受网络条件等限制,可能存在丢包超时等问题,文件总量较大且网络条件不好时建议使用 Xftp 或 Winscp 上传。
使用PowerShell下载 Windows 自带命令行工具,可使用 scp 命令上传文件到开发环境。
文件总量较大且网络条件不好时建议使用 Xftp 或 Winscp 上传。
使用Mac终端下载 MacOS 自带命令行工具,可使用 scp 命令上传文件到开发环境。
使用WinSCP连接并下载 Windows 下的开源图形化文件传输工具,需自行下载并安装。以 sftp 协议连接开发环境后,可上传文件到开发环境,支持远程调整开发环境内目录结构,包括:重命名、复制、删除、移动文件/文件夹、解压缩等。
使用Xftp连接并下载 Windows 下的开源图形化文件传输工具,需自行下载并安装。以 sftp 协议连接开发环境后,可上传文件到开发环境,支持远程调整开发环境内目录结构,包括:重命名、复制、删除、移动文件/文件夹、解压缩等。

# git传输

在开发环境中使用 git clone 命令,将 Git 服务中的代码克隆到开发环境中,以实现将远端 Git 服务器中的代码直接传至趋动云平台。

# 前提条件

使用的 Git 服务非私有云服务,公网可访问。

# 秘钥配置

私有库需在服务端配置客户端(开发环境)的秘钥,客户端才可克隆服务端的代码仓库;公共库无需配置。

  1. 平台 项目 页单击项目卡片,进入项目详情页,随后单击右上角 进入开发环境

    如果开发环境未启动,则需先启动开发环境。

  2. 在开发环境的 网页终端 中执行如下命令,配置用户名和邮件地址。

    提交代码时,会使用此处设置的用户名及邮箱信息提交。

    git config --global user.name "wanggang"
    git config --global user.email "wanggang@virtaicloud.com"
    

  3. 执行如下命令,生成秘钥文件。

    ssh-keygen -t rsa -C "wanggang@virtaicloud.com"
    

    返回信息中需要输入秘钥生成的路径、及秘钥,可一路回车使用默认值。

    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa
    Your public key has been saved in /root/.ssh/id_rsa.pub
    The key fingerprint is:
    SHA256:tsYpLRx5XOGF9wxdT/MuMZGF7dYg7d4oH08CMrMl2xc “wanggang@virtaicloud.com”
    The key's randomart image is:
    +---[RSA 3072]----+
    |          ...o.B+|
    |         ..o+ *o=|
    |          o. *oo+|
    |       o .= o E++|
    |      o S  X o.=.|
    |     . * oo o *.o|
    |      + *    + = |
    |       +      . .|
    |                 |
    +----[SHA256]-----+
    
  4. 执行如下命令,访问公钥文件 /root/.ssh/id_rsa.pub,然后复制公钥文件内容。

    vi /root/.ssh/id_rsa.pub
    

    输入 :wq 可退出访问。

  5. 公钥内容添加到 Git 仓库服务端账号设置中。
    以 GitLab 为例,其他 Git 服务端类似。
    右上角账号处下拉选择 Settings,随后选择 SSH Keys,然后添加公钥,如下图所示。

# 克隆代码

  1. 获取克隆链接(依然以 GitLab 为例)。
  2. 在开发环境的 /gemini/code 目录下执行如下命令,克隆服务端代码。
    git clone -b branchName git@gitlab.xxx.xxx.com:xxx/xxx.git
    
    -b,指定要克隆的分支为 branchName。

# 保存开发环境

如后续需持续使用 git 进行代码提交等管理代码版本及分支,可 保存环境,将 git 的安装及配置永久写入开发环境。