1.6mkdir -p /hi/ci/android/jenkins-datadocker run -d \ -p
8081:8081 \ --name nexus \ sonatype/nexus3docker run -d \ -u root \ -v
$(which docker)
:/usr/bin/docker \ -v /hi/ci/android/jenkins-data/
:/var/jenkins_home/workspace/ \ -v /var/run/docker.
sock:/var/run/docker.sock \ -v /usr/lib64/libsystemd-journal.so.
0:/usr/lib/x86_64-linux-gnu/libsystemd-journal.so.
0 \ -v /usr/lib64/libsystemd-id128.so.
0:/usr/lib/x86_64-linux-gnu/libsystemd-id128.so.
0 \ -v /usr/lib64/libdevmapper.so.
1.02:/usr/lib/x86_64-linux-gnu/libdevmapper.so.
1.02 \ -v /usr/lib64/libgcrypt.so.
11:/usr/lib/x86_64-linux-gnu/libgcrypt.so.
11 \ -v /usr/lib64/libdw.so.
1:/usr/lib/x86_64-linux-gnu/libdw.so.
1 \ -p
8082:8080 \ --name jenkins \ jenkins
在 Jenkins 下 Android 工程我也打算使用 Docker 來構(gòu)建,所以要實現(xiàn) Docker in docker 的功能,于是上面的腳本在開啟 Jenkins 容器時必須做些掛載設(shè)置。而 Jenkins 中構(gòu)建 Android 工程的命令可以寫成這樣:
docker run --rm -v /hi/ci/android/jenkins-data/:/workspace -w /workspace/${JOB_NAME} daocloud.io/nekocode/docker-android:1.6 gradle clean app:assembleRelease
如果簽名使用的 Keystore 密碼配置放在 Properties 文件中,而且加入了 .gitignore 列表的話(這是個好習(xí)慣),可以使用類似下面的命令在構(gòu)建前自動在工作目錄生成需要的 Properties 文件:
echo "KEY_ALIAS=xxx\nKEYSTORE_PASSWORD=xxx\nKEY_PASSWORD=xxx" > /var/jenkins_home/workspace/${JOB_NAME} 3/4 首頁 上一頁 1 2 3 4 下一頁 尾頁