Docker + Jenkins節(jié)點 + Android 環(huán)境搭建

本文主要使用時dockerfile構(gòu)建,主要通過JaveWeb連接
dockerfile中包含AndroidSdk,F(xiàn)lutterSdk,Jdk11

廢話不多說,先看dockerfile,有注釋

# 基于已有的鏡像 jenkins/inbound-agent 來構(gòu)建新鏡像
FROM jenkins/inbound-agent

MAINTAINER xxx

USER root

# 暴漏給外部的文件夾(選配,暫時沒啥用,先寫上 萬一以后用上了)
VOLUME /file

# 更新容器配置
RUN apt update -y && apt upgrade -y && apt-get install curl && apt install wget unzip -y && apt install -y xz-utils 

# 設(shè)置變量
ENV USR_LOCAL="/opt"
ENV ANDROID_HOME="${USR_LOCAL}/android" \
     SDK_TOOL_URL="https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
#https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip

# 創(chuàng)建android sdk目錄,并下載 sdkmanager
RUN mkdir -p ${ANDROID_HOME} \
     && cd $ANDROID_HOME \
     && curl -o sdk.zip $SDK_TOOL_URL \
     && unzip sdk.zip \
     && rm sdk.zip

# 設(shè)置環(huán)境變量 
RUN echo "export PATH=/var/local/sdk/cmdline-tools/latest/bin" >> ~/.bashrc
RUN echo "export PATH=/bin:/usr/bin:$PATH" >> ~/.bashrc

# 設(shè)置環(huán)境變量: 把 android sdk 路徑加入到 PATH 中
ENV PATH ${ANDROID_HOME}/cmdline-tools/latest:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${PATH}

# 安裝android sdk其他package, 輸入y是因為此處會有一個licence,需要用戶同意后才會安裝
RUN echo y | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.3" "ndk-bundle" "cmake;3.6.4111459"


# 設(shè)置Flutter變量
ENV FLUTTER_HOME="${USR_LOCAL}/flutter" \
     FLUTTER_SDK_TOOL_URL="https://storage.flutter-io.cn/flutter_infra_release/releases/stable/linux/flutter_linux_3.3.2-stable.tar.xz"
# 創(chuàng)建Flutter sdk目錄,并解壓
RUN mkdir -p ${FLUTTER_HOME} \
     && cd $FLUTTER_HOME \
     && curl -o flutter_sdk.tar.xz $FLUTTER_SDK_TOOL_URL \
     && tar -xvf flutter_sdk.tar.xz \
     && rm flutter_sdk.tar.xz
RUN echo "export PATH=/opt/flutter/bin" >> ~/.bashrc

# 不需要jdk11 因為 默認(rèn)就是jdk11
# ENV JDK11_HOME="${USR_LOCAL}/jdk11" \
#      JDK11_TOOL_URL="http://192.168.31.32:8011/api/public/dl/gwtAZD1K"
# RUN  mkdir -p ${JDK11_HOME} \
#      && cd $JDK11_HOME \
#      && curl -o jdk11.tar.gz $JDK11_TOOL_URL \
#      && tar -xvf jdk11.tar.gz \
#      && rm jdk11.tar.gz

# 容器構(gòu)建命令
# docker build -t jenkins-agent:1.0.0 -f  ./dockerfile . 

# 啟動容器命令
# docker run -itd --name jenkins-agent  -u root  jenkins-agent:1.0.0 -url http://192.168.31.32:8090 -workDir=/Users/xxx/Downloads/docker/jenkins 6e40d2862ffdb18ec2bf3884c7f712fxxxxxxxxxxxxxxxxxxxx CenterOS

通過dockerfile構(gòu)建容器images鏡像

#容器構(gòu)建命令(jenkins-agent:1.0.0 就是構(gòu)建出來的docker image名字)
docker build -t jenkins-agent:1.0.0 -f  ./dockerfile . 

啟動容器命令

# 啟動容器命令
#詳情 請查看 https://hub.docker.com/r/jenkins/inbound-agent
docker run -itd --name jenkins-agent  -u root  jenkins-agent:1.0.0 -url http://192.168.31.32:8090 -workDir=/Users/xxx/Downloads/docker/jenkins 6e40d2862ffdb18ec2bf3884c7f712fxxxxxxxxxxxxxxxxxxxx CenterOS

Jenkins節(jié)點配置

新建節(jié)點
節(jié)點配置圖
節(jié)點名稱配置

(??注意,節(jié)點名稱一定要和構(gòu)建容器的名稱一樣,文中用的是CenterOS)


節(jié)點名稱

節(jié)點基本配置

基本配置

JDK11環(huán)境變量配置

JDK11環(huán)境變量配置

ANDROID_HOME 已在dockerfile構(gòu)建的時候設(shè)置了環(huán)境變量 所以無需配置
Flutter環(huán)境變量暫未配置,我是在任務(wù)構(gòu)建的時候設(shè)置的環(huán)境變量

export PATH="$PATH:/var/jenkins_home/sdk/flutter/bin"

具體如圖:


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容