我试图使用Github的beta actions,有两个任务,一个构建代码,另一个部署代码。然而,在部署工作中似乎无法获取构建工件。
我最新的尝试是手动设置具有相同卷的容器映像,根据文档,这应该是解决方案:https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idcontainervolumes
设置容器要使用的卷数组。您可以使用卷在服务或作业中的其他步骤之间共享数据。您可以指定命名的Docker卷、匿名的Docker卷或主机上的绑定挂载点。
工作流程
name: CI
on:
push:
branches:
- master
paths:
- .github/workflows/server.yml
- server/*
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://node:10
volumes:
- /workspace:/github/workspace
steps:
- uses: actions/checkout@master
- run: yarn install
working-directory: server
- run: yarn build
working-directory: server
- run: yarn test
working-directory: server
- run: ls
working-directory: server
deploy:
needs: build
runs-on: ubuntu-latest
container:
image: docker://google/cloud-sdk:latest
volumes:
- /workspace:/github/workspace
steps:
- uses: actions/checkout@master
- run: ls
working-directory: server
- run: gcloud --version
第一个工作(build)有一个构建目录,但当第二个工作(deploy)运行时它没有,只包含源代码。
这个项目是一个单一的版本库,我正在尝试部署的代码位于路径server
下,因此所有的working-directory
标志。
build
作业中的一个步骤,要么需要在新容器中再次复制build
步骤(也许除了yarn test
步骤,因为您已经知道它成功了)。 - rmunnafter: <job_id>
将是惊人的。 - Eduardo Pignatelli