docker - 当我使用私有容器时,GitHub Actions Flutter-action 作业失败
问题描述
容器注册表设置
我使用以下 Dockerfile 创建一个映像,然后将其作为私有映像推送到谷歌云容器注册表。我想在我的工作流程中运行我的 CD 工作流程,以便我可以获取存储在我的映像中的部署凭据。
旁注:不确定这是否是管理敏感文件(例如
.jks
我需要将应用程序部署到 Play 商店的文件)的最安全方法。如果有人也能对此有所了解,我将不胜感激(不确定我是否应该将此旁注移至另一个 SO 问题)。
FROM ubuntu:latest
COPY Gemfile .
COPY Gemfile.lock .
COPY fastlane/ ./fastlane/
工作流配置
以下是我在.github/workflows/main.yml
. 有关完整文件,请参见此处。
# This is a basic workflow to help you get started with Actions
# [ ... ]
jobs:
build:
runs-on: ubuntu-latest
container:
image: gcr.io/positive-affirmations-313800/droid-deploy-env:latest
credentials:
username: _json_key
password: ${{ secrets.GCR_JSON_KEY }}
steps:
- uses: actions/checkout@v2
working-directory: $HOME
- uses: actions/setup-java@v1
working-directory: $HOME
with:
java-version: '12.x'
- uses: subosito/flutter-action@v1
working-directory: $HOME
with:
flutter-version: '2.0.5'
# [ ... ]
发生了错误 :(
但我不断收到此错误:
此处提供完整日志
解决方案
我找到了问题的解决方案。
我只是在我的容器上缺少 xz-utils,所以我更新了我的 docker 映像以安装它
引用自相关的github问题here
FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
xz-utils \
git \
android-sdk \
&& rm -rf /var/lib/apt/lists/*
COPY Gemfile .
COPY Gemfile.lock .
COPY fastlane/ ./fastlane/
推荐阅读
- r - 对不同的变量多次应用 dcast
- java - 查询 Ms-Access 数据库 Java 时的问题
- javascript - 在服务器崩溃时处理获取响应
- xamarin.forms - 使用 Observable 进行 CollectionView 分组
- apache-spark - Spark SQL 中的迭代广播联接
- sql - 执行时间:为什么相同代码和相同参数的持续时间会有很大差异?
- mysql - 在mysql用户定义函数中使用if else
- javascript - 如何比较两个数组是否有重复值并返回不同的值?
- python - Kivy python回调在android设备上不起作用
- java - 将位转换为 Base64 字符