背景
给C端用户提供打包功能
编写镜像
创建镜像,随便找个目录执行
touch Dockerfile,然后编辑文件,内容如下
From jenkinsci/jenkins
MAINTAINER linxiao "232121331@qq.com"
#不加这个,会报Permission denied
USER root
RUN dpkg --add-architecture i386
RUN apt-get update -y && apt-get upgrade -y
RUN apt-get install -y lib32gcc1 lib32stdc++6 libcurl4-gnutls-dev:i386
RUN apt-get install libstdc++6:i386 -y
RUN apt-get install libc6:i386 -y
RUN apt-get install libncurses5:i386 -y
RUN apt-get install lib32z1 -y
RUN rm -rf /var/lib/apt/lists/*
RUN apt-get autoremove -y
RUN apt-get clean
#下载linux环境的android-sdk
RUN cd /opt && \
wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
ENV ANDROID_VERSIONS android-18,android-19,android-20,android-21,android-22
ENV ANDROID_BUILD_TOOLS 22.0.1
ENV ANDROID_HOME /opt/android-sdk-linux
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID}/platform-tools
ENV ANDROID_FILE android-sdk_r24.4.1-linux.tgz
ENV TERM linux
RUN cd /opt && \
tar zxvf ${ANDROID_FILE} && \
echo y | android update sdk -u -a --filter tools,platform-tools,${ANDROID_VERSIONS},build-tools-${ANDROID_BUILD_TOOLS} && \
rm ${ANDROID_FILE}
#这里比较乱,不clean的话有时候会报找不到npm package,遇到问题google一下,挺好解决的
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash -
RUN apt-get install -y nodejs
RUN apt-get install -y npm
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN apt-get install -y nodejs-legacy
#RUN apt-get clean
#RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# install cordova
RUN npm i -g cordova@5.1.1
然后编译
docker build -t jenkins_cordova .
忘了要等多久,反正不会很快。
启动docker容器
docker run -d --name jenkins_cordova -p 8090:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home -v /data/jenkins_cordova/volume:/var/jenkins_home \
--env -Duser.timezone=GMT+08" jenkins_cordova
后续
待续…
to be continue…