Har*_*rry 5 continuous-integration android continuous-deployment jenkins docker
我正在尝试在我的机器上本地使用 Jenkins 测试和构建我的 Android 应用程序。我在 Linux 上,通过运行以下命令通过 docker 启动 Jenkins:
docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins
Run Code Online (Sandbox Code Playgroud)
然后我打开浏览器并从localhost:8080. 初始设置后,我通过以下步骤添加了环境变量:
ANDROID_SDK_ROOT添加环境变量ANDROID_HOME基本上遵循这个答案的步骤:/sf/answers/2046210631/
我还在我的文件中添加了相同的环境变量~/.zshrc:
export ANDROID_SDK_ROOT=/home/harry/Android/Sdk/
export ANDROID_HOME=/home/harry/Android/Sdk/
Run Code Online (Sandbox Code Playgroud)
我Use Gradle Wrapper在项目配置的“构建”部分中使用以下命令:
clean
testDebugUnitTes
assembleDebugBuild
Run Code Online (Sandbox Code Playgroud)
完成所有这些步骤后,我的构建仍然失败并显示消息:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable
or by setting the sdk.dir path in your project's local properties
file at '/var/jenkins_home/workspace/MeteorDebugBuild/local.properties'.
Run Code Online (Sandbox Code Playgroud)
我的问题是如何修复此错误以及为什么在所有这些设置下构建仍然失败?
小智 0
我认为 docker 容器与 Jenkins 是隔离的,这意味着容器内部没有环境变量ANDROID_SDK_ROOT和ANDROID_HOME. 你想要的是:
docker run -e ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT} -e ANDROID_HOME=${ANDROID_HOME} -p 8080:8080 -p 50000:50000 jenkins/jenkins
我还没有检查它是否有效,但我希望它可以解决您的问题
| 归档时间: |
|
| 查看次数: |
1800 次 |
| 最近记录: |