如何解决Github Actions Docker找不到文件
我有一个非常简单的项目:https://github.com/Jasperav/cas_docker。我想在我的Docker容器中执行setup.cql(尽管为空)。这是我的yml文件:
name: tests-cassandra
on: push
env:
CARGO_TERM_COLOR: always
jobs:
test:
runs-on: ubuntu-latest
services:
cassandra:
image: cassandra
ports:
- 9042:9042
options: --health-cmd "cqlsh --debug" --health-interval 5s --health-retries 10
steps:
- uses: actions/checkout@v2
- run: |
ls
docker exec -i ${{ job.services.cassandra.id }} cqlsh -f setup.cql
在运行docker exec
命令之前,Docker能够看到setup.cql在当前目录中,因为ls返回setup.cql
:
如何在Github Actions中在Docker中运行.cql脚本
解决方法
您的服务无权访问本地文件。确保创建一个卷,然后您将能够运行命令。以下解决方案假定文件setup.cql位于您的repo目录的根目录中
回购结构假设
repo/
.github/workflows/your-worflow.yaml
setup.cql
... any other files/dirs
工作流程更新
services:
cassandra:
image: cassandra
ports:
- 9042:9042
options: --health-cmd "cqlsh --debug" --health-interval 5s --health-retries 10
volumes:
- ${{ github.workspace }}:/workspace
steps:
- uses: actions/checkout@v2
- run: docker exec -i ${{ job.services.cassandra.id }} cqlsh -f /workspace/setup.cql
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。