在云效oss分发时候有个逻辑复制,如代码所示,这个复制操作的含义是什么?不可以以产物直接作为源目录吗[阿里云云效]

在云效oss分发时候有个逻辑复制 cp -r /root/workspace/echemi_web_en/. /user_tmp_d ir 这个复制操作的含义是什么 不可以从构建生成的产物直接作为ossutil的源目录吗
另外执行oss上传的step的时候我用的自己的私有构建集群 oss的endpoints能传入私网地址吗?

这个是增量上传的逻辑是根据文件的modify time来判断的 cp -r没保留源文件的时间戳这里增量上传也不会起作用是为什么?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 逻辑复制(Logical Replication)是云效在进行OSS分发时的一种特殊操作。它的含义是将源目录复制到目标目录,并保持目录结构和文件层次不变。

    在云效中,逻辑复制的主要目的是为了保持分发过程的一致性和可靠性,以及避免潜在的问题。具体来说,逻辑复制确保在分发过程中,源目录的完整结构和层次被准确地复制到目标目录中,而不是简单地将产物作为源直接复制到目标。

    这样做的原因是,在分发过程中,可能会对产物进行一些处理或筛选,例如去除某些文件、重命名或重新组织文件等。通过逻辑复制,可以确保目标目录与源目录保持一致,使分发后的结果符合预期并能正确使用。

    因此,在使用云效的OSS分发功能时,建议遵循逻辑复制的方式,将源目录作为分发的来源,以确保分发的准确性和一致性。

  2. 您正在使用云效的OSS分发功能,并使用了一个逻辑复制命令“cp -r /root/workspace/echemi_web_en/. /user_tmp_dir”。您想了解这个复制操作的含义以及是否可以直接使用产物作为源目录。

    这个复制操作的含义是将“/root/workspace/echemi_web_en/”目录下的所有文件和子目录复制到“/user_tmp_dir”目录下,其中“.”表示当前目录。这个操作的目的可能是为了将产物复制到一个临时目录,然后再使用ossutil将临时目录中的文件上传到OSS。

    在使用OSS分发功能时,您可以将构建生成的产物直接作为ossutil的源目录进行上传,无需进行逻辑复制操作。例如,您可以使用以下命令将产物直接上传到OSS:

    Copy
    ossutil cp /root/workspace/echemi_web_en oss://your-bucket/path –recursive
    其中,“/root/workspace/echemi_web_en”是您构建生成的产物目录,“oss://your-bucket/path”是您要上传到的OSS存储桶路径。

    关于私有构建集群和OSS私网地址的问题,您可以在ossutil配置文件中设置私网地址。在ossutil的配置文件(默认为$HOME/.ossutilconfig)中,您可以添加以下配置:

    Copy
    [Network]
    private_endpoint = your-private-endpoint
    其中,“your-private-endpoint”是您的OSS私网地址,例如“oss-cn-shenzhen-internal.aliyuncs.com”。配置完成后,ossutil将使用私网地址进行上传和下载操作。

  3. 这个是走了私有构建机的缓存,这样其实不是很推荐,但是实际上也是个取巧的方法。那您得自定义OSS上传了,自定义上传命令,也可以把增量上传功能加上
    依靠流水线的流水线源是不行的,因为每一次会重新克隆,不同的是 私有构建机有缓存,如果要实现这个创景的话:1. 您可以在缓存这里挂载您的宿主机上的git目录

    1. 您的自定义步骤和自定义镜像构建需要进入这个挂载目录执行命令,不可以在默认工作目录执行3. 这个不适用于不能通过自定义命令改变默认工作目录的步骤
      —此回答来自钉群“云效交付域答疑群”