运行 个具有 android 构建环境映像和 ruby 的管道
Running pipelines with an android build environment image and ruby
我正在使用以下 yml 文件
image: uber/android-build-environment:latest
pipelines:
default:
- step:
caches:
- bundler
script: # Modify the commands below to build your repository.
- apt-get update && apt-get install -y awscli
- apt-get install rubygems
- gem install bundler
- bundle install
- bundle exec fastlane test
- bundle exec fastlane build
definitions:
caches:
bundler: ./vendor
请注意,我使用的是 Android 构建环境映像。
构建失败于
apt-get 安装 rubygems
错误:
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission
denied)E: Unable to lock the administration directory
(/var/lib/dpkg/), are you root?
所以看起来构建脚本没有 运行 作为 root。
如果我尝试使用 sudo
,它会失败并显示错误
sudo: no tty present and no askpass program specified
我应该怎么做才能 运行 ruby 具有 Android 构建环境映像的 gem?
uber/android-build-environment:latest
使用非 root 用户,该用户无权执行 运行 某些命令,例如 apt-get
。您应该使用 root 用户重建映像或临时将用户更改为 root。在您的 Dockerfile
添加:
USER root
install/updates
USER solr
在此处查看有关此问题的更多详细信息
P.S。您不需要 运行 管道作为根。如果您 运行 在 docker 容器内的根目录下,您将能够安装依赖项。
我结束了使用不同的 android 构建环境图像:
image: mingc/android-build-box:v1.2.0
pipelines:
default:
- step:
caches:
- gradle
- gradlewrapper
- androidavd
- bundler
script:
- apt-get update && apt-get install -y awscli
- gem update --system
- gem install bundler
- gem install danger
- bundle install
- bundle exec fastlane test
- bundle exec fastlane build
definitions:
caches:
gradlewrapper: ~/.gradle/wrapper
androidavd: $ANDROID_HOME/.android/avd
bundler: ./vendor
我正在使用以下 yml 文件
image: uber/android-build-environment:latest
pipelines:
default:
- step:
caches:
- bundler
script: # Modify the commands below to build your repository.
- apt-get update && apt-get install -y awscli
- apt-get install rubygems
- gem install bundler
- bundle install
- bundle exec fastlane test
- bundle exec fastlane build
definitions:
caches:
bundler: ./vendor
请注意,我使用的是 Android 构建环境映像。
构建失败于
apt-get 安装 rubygems 错误:
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
所以看起来构建脚本没有 运行 作为 root。
如果我尝试使用 sudo
,它会失败并显示错误
sudo: no tty present and no askpass program specified
我应该怎么做才能 运行 ruby 具有 Android 构建环境映像的 gem?
uber/android-build-environment:latest
使用非 root 用户,该用户无权执行 运行 某些命令,例如 apt-get
。您应该使用 root 用户重建映像或临时将用户更改为 root。在您的 Dockerfile
添加:
USER root
install/updates
USER solr
在此处查看有关此问题的更多详细信息
P.S。您不需要 运行 管道作为根。如果您 运行 在 docker 容器内的根目录下,您将能够安装依赖项。
我结束了使用不同的 android 构建环境图像:
image: mingc/android-build-box:v1.2.0
pipelines:
default:
- step:
caches:
- gradle
- gradlewrapper
- androidavd
- bundler
script:
- apt-get update && apt-get install -y awscli
- gem update --system
- gem install bundler
- gem install danger
- bundle install
- bundle exec fastlane test
- bundle exec fastlane build
definitions:
caches:
gradlewrapper: ~/.gradle/wrapper
androidavd: $ANDROID_HOME/.android/avd
bundler: ./vendor