Android 在gitlab中为项目执行CI/CD时出错
我需要配置gitlab的CI/CD服务。因此,我创建了一个文件Android 在gitlab中为项目执行CI/CD时出错,android,gitlab-ci,Android,Gitlab Ci,我需要配置gitlab的CI/CD服务。因此,我创建了一个文件.gitlab ci.yml image: openjdk:8-jdk variables: ANDROID_COMPILE_SDK: "26" ANDROID_BUILD_TOOLS: "26.0.2" before_script: - apt-get --quiet update --yes - apt-get --quiet install --yes wget tar unzip lib32stdc++6
.gitlab ci.yml
image: openjdk:8-jdk
variables:
ANDROID_COMPILE_SDK: "26"
ANDROID_BUILD_TOOLS: "26.0.2"
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/tools_r${ANDROID_SDK_TOOLS}-linux.zip
- unzip android-sdk.zip
- export ANDROID_HOME=$PWD/
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter android-${ANDROID_COMPILE_SDK}
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter platform-tools
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter build-tools-${ANDROID_BUILD_TOOLS}
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter extra-android-m2repository
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter extra-google-google_play_services
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter extra-google-m2repository
- export PATH=$PATH:$ANDROID_HOME
- chmod +x ./gradlew
stages:
- build
build:
stage: build
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/
我只需要在云中构建一个工件而不需要测试。所以,在主机提交之后,cd管道开始执行,并失败。下载sdk时始终失败:
.....
Preparing to unpack .../libc6-i386_2.24-11+deb9u1_amd64.deb ...
Unpacking libc6-i386 (2.24-11+deb9u1) ...
Selecting previously unselected package lib32z1.
Preparing to unpack .../lib32z1_1%3a1.2.8.dfsg-5_amd64.deb ...
Unpacking lib32z1 (1:1.2.8.dfsg-5) ...
Selecting previously unselected package lib32gcc1.
Preparing to unpack .../lib32gcc1_1%3a6.3.0-18_amd64.deb ...
Unpacking lib32gcc1 (1:6.3.0-18) ...
Selecting previously unselected package lib32stdc++6.
Preparing to unpack .../lib32stdc++6_6.3.0-18_amd64.deb ...
Unpacking lib32stdc++6 (6.3.0-18) ...
Setting up libc6-i386 (2.24-11+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u1) ...
Setting up lib32z1 (1:1.2.8.dfsg-5) ...
Setting up lib32gcc1 (1:6.3.0-18) ...
Setting up lib32stdc++6 (6.3.0-18) ...
Processing triggers for libc-bin (2.24-11+deb9u1) ...
$ wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/tools_r${ANDROID_SDK_TOOLS}-linux.zip
ERROR: Job failed: exit code 1
您没有在
wget
中使用的变量ANDROID\u SDK\u工具
,您只有:
ANDROID\u构建工具
ANDROID\u COMPILE\u SDK
- 以下配置设置对我有效。Gitlab似乎没有更新默认的.yml文件。更多详情见
$android sdk linux/tools/bin/sdkmanager--update>update.log
警告:无法加载文件/root/.android/repositories.cfg。
$android sdk linux/tools/bin/sdkmanager“平台;android-${android_COMPILE_sdk}”构建工具;${android_build_tools}”附加;谷歌;m2repository“附加;android;m2repository”>installPlatform.log
警告:无法加载文件/root/.android/repositories.cfg。
$export-ANDROID\u HOME=$PWD/ANDROID-sdk-linux
$export PATH=$PATH:$PWD/android sdk linux/platform tools/
$chmod+x./gradlew
$。/gradlew assembleDebug
错误:无法找到或加载主类org.gradle.wrapper.GradleWrapperMain
错误:作业失败:退出代码1是的,我忘记了。但是当我像这样添加这个变量时:
variables:ANDROID\u COMPILE\u SDK:“26”ANDROID\u BUILD\u TOOLS:“26.0.2”ANDROID\u SDK\u TOOLS:“26.0.2”
在wget
上再次失败$wget--quiet--output document ANDROID-SDK.ziphttps://dl.google.com/android/repository/tools_r${ANDROID\u SDK_TOOLS}-linux.zip错误:作业失败:退出代码1
请删除wget上的--quiet并发布错误--2018-01-02 15:08:33--https://dl.google.com/android/repository/tools_r26.0.2-linux.zip 正在解析dl.google.com(dl.google.com)。。。74.125.141.190, 74.125.141.91, 74.125.141.93, ... 连接到dl.google.com(dl.google.com)| 74.125.141.190 |:443。。。有联系的。HTTP请求已发送,正在等待响应。。。404找不到2018-01-02 15:08:33错误404:找不到。
我考虑过类似的问题。事实证明,下载Android SDK工具是不可能的。所以这个链接是不正确的:谢谢,我正在尝试它,请期待新的答案(在它我的地方这个脚本的日志)
image: openjdk:8-jdk
cache:
paths:
- .m2/
- .gradle/
variables:
ANDROID_COMPILE_SDK: "26"
ANDROID_BUILD_TOOLS: "26.0.2"
ANDROID_SDK_TOOLS: "26.0.2"
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
- unzip -q android-sdk.zip -d android-sdk-linux
- mkdir android-sdk-linux/licenses
- printf "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > android-sdk-linux/licenses/android-sdk-license
- android-sdk-linux/tools/bin/sdkmanager --update > update.log
- android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" "build-tools;${ANDROID_BUILD_TOOLS}" "extras;google;m2repository" "extras;android;m2repository" > installPlatform.log
- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/
- chmod +x ./gradlew
stages:
- build
- test
build:
stage: build
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/
unitTests:
stage: test
script:
- ./gradlew test