开发者社区 > 云效DevOps > 正文

云效流水线使用两个流水线源, 能取到另一个工作目录的文件吗?

云效流水线使用两个流水线源, 能取到另一个工作目录的文件吗?

展开
收起
青城山下庄文杰 2023-10-30 15:09:16 102 0
3 条回答
写回答
取消 提交回答
  • 在云效流水线中,您可以配置多个流水线源,包括代码源、Jenkins源和流水线源等。然而,尽管在一个任务中拉取的代码会放在不同的工作目录下面,这些不同的工作目录都会在一个workspace里(例如:/root/workspace),但通过现有的方式无法直接从一个代码源拷贝到另一个目录下。

    如果您想要实现从一个代码源拷贝文件到另外一个目录下,您可能需要借助"执行命令"的任务类型来挪动代码,不过需要注意的是后续如果需要使用这个挪动后的代码的工作区的话,还需要在该"执行命令"任务里面添加步骤以进行特定操作。

    此外,根据社区讨论,虽然云效支持在有多个代码源的情况下在所有工作目录执行流水线里的任务,但此操作并非直接支持,而只能通过配置多任务并行来实现。因此具体的操作步骤和可选项可能会依照您的实际需求和配置有所不同。为了获得更准确的操作指南,建议参考云效官方文档或联系云效技术支持获取帮助。

    2023-10-31 17:17:51
    赞同 展开评论 打赏
  • 在云效流水线中,你可以使用file类型的任务来获取另一个工作目录的文件。你只需要在file任务的source字段中指定文件的路径即可。

    例如,如果你的流水线有两个源,分别是source1source2,你想从source2中获取一个名为myFile.txt的文件,你可以这样做:

    version: v1
    stages:
      - name: first
        dependsOn: []
        tasks:
          - name: task1
            action: "exec"
            inputs:
              commands: ["ls"]
      - name: second
        dependsOn: [first]
        tasks:
          - name: task2
            action: "file"
            inputs:
              source: "{{workdir}}/source2/myFile.txt"
    

    在这个例子中,task2会从source2的工作目录中获取myFile.txt文件。

    2023-10-31 16:48:05
    赞同 展开评论 打赏
  • 可以的,但是直接获取是不行的,
    比如代码源A对应工作目录A,代码源B对应工作目录B

    那他们的结构是这样的:/root/workspace/A /root/workspace/B

    可以使用执行命令的步骤,cp /root/workspace/A/script.sh /root/workspace/B此回答整理自钉群“云效开发者交流群5群”

    2023-10-30 20:45:06
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

热门讨论

热门文章

相关电子书

更多
云效助力企业软件供应链生产效能提升 立即下载
云效 DevOps 客户案例集(公共云) 立即下载
云效 立即下载