最佳答案
试图使用 Github 的 beta 操作,我有两个工作,一个是构建代码,另一个是部署代码。然而,我似乎无法在部署作业中获得构建构件。
我最近的尝试是手动设置一个容器映像与相同的卷为每个作业,根据文档这应该是解决方案: 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
第一个作业(构建)有一个构建目录,但是当第二个作业(部署)运行时,它不包含源代码,而且只包含源代码。
这个项目是一个单一回购的代码,我试图部署在路径 server
下,因此所有的 working-directory
标志。