是否可以在GitHub Actions中的Actions之间保留WORKDIR?

争夺

我今天早上醒来并醒了我的GitHub Actions BETA邀请,并开始使用它,目的是迁移一些我目前在CircleCI上运行的简单构建,测试和部署管道。

我仍在努力了解Actions,但是我想到的流程是,在推送之后,工作流中的第一个Action将启动Docker容器。在该容器内,我将运行一些简单的构建过程,例如最大程度地减少资产并消除人工制品。然后,下一个操作将在构建上运行一些测试。管道中的下一个动作将部署到许多环境之一,具体取决于我推送到的分支。

我已经按照https://developer.github.com/actions/creating-github-actions/creating-a-docker-container/上的文档进行操作,并且具有一个基本的工作流程,该工作流程可启动Docker容器并在内部运行一些构建命令WORKDIR我也可以从内部运行一个部署(通过rsync)WORKDIR

但是,我想将其分为单独的步骤/操作,但是我找不到解决方法。

本质上,这将与我使用的CircleCI作业/工作流模型相似。但是,使用CircleCI,第一个作业将运行构建,然后在整个工作流程的其余部分中保留生成的目录结构,如下所示:

# Persist dist directory
  - persist_to_workspace:
      root: ~/project
      paths:
        - .

因此,我在这里将CircleCI的Jobs等同于GitHub的Actions,这可能是错误的做法?本质上,我想发现的是我是否可以WORKDIR在第一个Action的Docker容器中保留一个容器并将其WORKDIR提供给后续Action。

这有可能吗,或者我想像不到GitHub Actions可以做什么?

谢谢!

争夺

万一有人遇到这个问题,我自己回答(和我一样,没有完全阅读文档!)。:o)

此处的文档进行说明,但实际上,作为操作一部分而启动的任何容器的工作目录都以表示/github/workspace动作可以修改此工作目录的内容,并且在工作流中随后的动作中启动容器时,这些动作/容器的工作目录将包含在工作流中较早进行的修改。

因此,答案是肯定的,Docker WORKDIRat/github/workspace可以在GitHub Actions工作流中持久保存,其方式类似于在CircleCI工作流中持久保存的方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章