尝试使用Github的beta操作时,我有两个任务,一个是构建代码,另一个是部署代码。但是,我似乎无法在部署作业中获得构建工件。
我最近的尝试是手动为每个作业设置一个具有相同卷的容器映像,根据docs --这应该是解决方案:集装箱容积
设置容器要使用的卷数组。您可以使用卷在服务或作业中的其他步骤之间共享数据。可以指定命名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 )有一个build目录,但是当第二个作业(deploy)运行时,它不包含并且只包含源代码。
这个项目是一个mono,我试图将其部署在path server下,因此出现了所有working-directory标志。
发布于 2019-09-10 19:56:36
您可以使用Github操作-上载-工件和下载-工件在作业之间共享数据。
在job1中:
steps:
- uses: actions/checkout@v1
- run: mkdir -p path/to/artifact
- run: echo hello > path/to/artifact/world.txt
- uses: actions/upload-artifact@master
with:
name: my-artifact
path: path/to/artifact和job2:
steps:
- uses: actions/checkout@master
- uses: actions/download-artifact@master
with:
name: my-artifact
path: path/to/artifact
- run: cat path/to/artifact/world.txt发布于 2020-12-19 11:22:13
对于那些有兴趣在两份工作之间分享一个码头形象的人,下面是我是如何做到的:
jobs:
docker-build:
name: Docker build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build Docker image
run: |
docker build -t foo/bar:$GITHUB_SHA
mkdir -p path/to/artifacts
docker save foo/bar:$GITHUB_SHA > path/to/artifacts/docker-image.tar
- name: Temporarily save Docker image
uses: actions/upload-artifact@v2
with:
name: docker-artifact
path: path/to/artifacts
retention-days: 1
docker-deploy:
name: Deploy to Docker Hub
runs-on: ubuntu-latest
needs: docker-build
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Retrieve saved Docker image
uses: actions/download-artifact@v2
with:
name: docker-artifact
path: path/to/artifacts
- name: Docker load
run: |
cd path/to/artifacts
docker load < docker-image.tar
# docker_build_push.sh非常受https://github.com/unfor19/install-aws-cli-action/actions/runs/400601222/workflow启发
Merci @unfor19 19
发布于 2020-01-14 21:46:39
如果您正在使用上载/下载GitHub操作,请注意工件的结构。
从2020年1月开始,请参见"GitHub操作:对工件下载体验的更改":
我们已经更改了GitHub操作中的工件下载体验,因此不再向下载的归档添加额外的根目录。 以前,如果您将下列文件和文件夹上传为名为
foo的工件,则下载的归档文件将包含以下结构: foo/ foo file1.txt \-dir1 1/区-dir1 1-file1.txt 现在,您将得到一个只包含上载的文件和文件夹的存档: file1.txt dir1 1/dir1-dir1 1-file1.txt
https://stackoverflow.com/questions/57498605
复制相似问题