今天早上我收到了GitHub Actions BETA的邀请(哇),开始使用它,并打算迁移一些我当前在CircleCI上运行的简单构建、测试和部署流水线。虽然我还在试图理解Actions,但我的思路是,在push之后,工作流中的第一个Action将启动一个Docker容器。在该容器内,我将运行一些简单的构建过程,例如最小化资源和删除文件等。接下来的Action将对构建运行一些测试。在流水线中的下一个或多个Action将根据我推送到的分支部署到多个环境中的其中一个。我遵循了https://developer.github.com/actions/creating-github-actions/creating-a-docker-container/上的文档,并拥有了一个基本的工作流,可以启动一个Docker容器并在
所以,我有点将CircleCI的Jobs与GitHub的Actions相提并论,这可能是错误的吗?本质上,我想要找出的是是否可以在第一个Action的Docker容器中保留
这是可能的吗,还是我对GitHub Actions的想象完全错了?
谢谢!
WORKDIR
内运行一些构建命令。我还能够从这个WORKDIR
内运行部署(通过rsync)。然而,我想将其拆分为不同的步骤/Action,但是我无法想出一种方法来实现。本质上,这与我正在使用的CircleCI作业/工作流模型类似。但是,在CircleCI中,第一个作业运行构建,然后在整个工作流期间持续保留所得到的目录结构,就像这样:# Persist dist directory
- persist_to_workspace:
root: ~/project
paths:
- .
所以,我有点将CircleCI的Jobs与GitHub的Actions相提并论,这可能是错误的吗?本质上,我想要找出的是是否可以在第一个Action的Docker容器中保留
WORKDIR
并使其对后续的Actions可用。这是可能的吗,还是我对GitHub Actions的想象完全错了?
谢谢!
persist_to_workspace
,以及GitHub Actions中没有的按时间分割。任何建议通过上传/下载来完成都不是完全错误的,但也不是正确的。当你进入严肃的企业级别并拥有许多Docker镜像的测试容器时,这种方法根本不是一个选项。 - Eugene