diff --git a/dockerfile/Dockerfile_CI b/dockerfile/Dockerfile_CI index 5ad68aa392af18b398a1b535fbe4e0664adae601..42e251526cb1b13d6f51b3019ced717f081c319c 100644 --- a/dockerfile/Dockerfile_CI +++ b/dockerfile/Dockerfile_CI @@ -1,39 +1,56 @@ -# base image -FROM openeuler/openeuler:22.03-lts - -# MAINTAINER -MAINTAINER harvey +FROM openeuler/openeuler:21.03 # yum install RUN set -eux; \ - yum -y install git java tar cmake gperf sqlite-devel libffi-devel xz-devel zlib zlib-devel openssl-devel bzip2-devel ncurses-devel readline-devel libpcap-devel parted autoconf-archive chrpath gcc-c++ patch rpm-build flex autoconf automake m4 bison bc libtool gettext-devel createrepo_c git net-tools wget sudo hostname rpcgen texinfo python meson dosfstools mtools libmpc-devel gmp-devel ninja-build numactl-devel make + yum -y install shadow bc gperf hostname git xz python python-pip wget \ + g++ java-latest-openjdk.x86_64 java patch vim unzip net-tools flex bison \ + cpio sudo pixman-devel make glib2 glib2-devel python3 + +RUN pip install six bcrypt>=3.1.3 cffi>=1.12 paramiko==2.7.2 GitPython PyYaml jenkins colorlog # gcc install -ARG tools_dir=/usr1/tools ARG gcc_install_dir=/usr1/openeuler/gcc - -# change dir to workdir and star install -WORKDIR ${tools_dir} -RUN wget https://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/x86_64/Packages/gcc-cross-1.0-0.oe2203.x86_64.rpm -P ${tools_dir} -RUN rpm2cpio ${tools_dir}/gcc-cross-1.0-0.oe2203.x86_64.rpm | cpio -id - -# change dir to workdir and unpack +RUN mkdir -p ${gcc_install_dir} WORKDIR ${gcc_install_dir} -RUN tar -xf ${tools_dir}/tmp/openeuler_gcc_arm32le.tar.gz -RUN find ./openeuler_gcc_arm32le -type d | xargs chmod go+x -RUN chmod go+r ./openeuler_gcc_arm32le -R -RUN chmod -R 755 /usr1/openeuler/gcc/openeuler_gcc_arm32le/bin - -RUN tar -xf ${tools_dir}/tmp/openeuler_gcc_arm64le.tar.gz -RUN find ./openeuler_gcc_arm64le -type d | xargs chmod go+x -RUN chmod go+r ./openeuler_gcc_arm64le -R -RUN chmod -R 755 /usr1/openeuler/gcc/openeuler_gcc_arm64le/bin -RUN find ./ | xargs chmod go+x - - -# clean install package -WORKDIR /usr1 -RUN rm -rf tools +RUN wget http://121.36.84.172/dailybuild/openEuler-22.03-LTS-Next/openEuler-22.03-LTS-Next/embedded_img/gcc/openeuler_gcc_arm32le.tar.gz +RUN tar zxf openeuler_gcc_arm32le.tar.gz +RUN wget http://121.36.84.172/dailybuild/openEuler-22.03-LTS-Next/openEuler-22.03-LTS-Next/embedded_img/gcc/openeuler_gcc_arm64le.tar.gz +RUN tar zxf openeuler_gcc_arm64le.tar.gz +RUN wget http://121.36.84.172/dailybuild/openEuler-22.03-LTS-Next/openEuler-22.03-LTS-Next/embedded_img/gcc/openeuler_gcc_x86_64.tar.gz +RUN tar zxf openeuler_gcc_x86_64.tar.gz +RUN find ${gcc_install_dir} -type d | xargs chmod go+x +RUN chmod go+r ${gcc_install_dir} -R +RUN chmod -R 755 ${gcc_install_dir}/openeuler_gcc_arm32le/bin +RUN chmod -R 755 ${gcc_install_dir}/openeuler_gcc_arm64le/bin +RUN chmod -R 755 ${gcc_install_dir}/openeuler_gcc_x86_64/bin +RUN rm -f *.tar.gz + +ARG buildtools=/opt/buildtools + +# install nativesdk +RUN mkdir -p ${buildtools} +COPY x86_64-buildtools-extended-nativesdk-standalone-3.3.6.sh ${buildtools} +RUN bash x86_64-buildtools-extended-nativesdk-standalone-3.3.6.sh -y -d /opt/buildtools/nativesdk +RUN rm -f x86_64-buildtools-extended-nativesdk-standalone-3.3.6.sh + +# ninja install +ARG ninja_install_dir=${buildtools}/ninja-1.10.1 +# change dir to workdir and start install +WORKDIR ${buildtools} +RUN wget https://distfiles.macports.org/ninja/ninja-1.10.1.tar.gz +RUN tar zxf ninja-1.10.1.tar.gz +WORKDIR ${ninja_install_dir} +RUN sed -ie '1c#!/usr/bin/env python3' *.py +RUN ./configure.py --bootstrap +RUN mkdir -p ${ninja_install_dir}/bin +RUN install -m 0755 ./ninja ${ninja_install_dir}/bin +RUN rm -f ${buildtools}/ninja-1.10.1.tar.gz + +# change access permission +WORKDIR ${buildtools} +RUN find ./ -type d | xargs chmod 755 + +###################################################install jenkins########################################################## ARG VERSION=4.3 ARG user=jenkins @@ -48,9 +65,8 @@ RUN curl --create-dirs -fsSLo /usr/share/jenkins/agent.jar https://repo.jenkins- && ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar RUN curl --create-dirs -fsSLo /usr/local/bin/jenkins-agent http://121.36.53.23/AdoptOpenJDK/jenkins-agent -#COPY jenkins-agent /usr/local/bin/jenkins-agent -RUN chmod a+rx /usr/local/bin/jenkins-agent \ +RUN chmod a+rx /usr/local/bin/jenkins-agent \ && ln -s /usr/local/bin/jenkins-agent /usr/local/bin/jenkins-slave RUN groupadd -g ${gid} ${group} @@ -66,8 +82,6 @@ VOLUME /home/${user}/.jenkins VOLUME ${AGENT_WORKDIR} WORKDIR ${AGENT_WORKDIR} -# add build user -RUN sudo useradd -m openeuler - +RUN sudo sed -i 's/TMOUT=300/TMOUT=/g' /etc/bashrc -ENTRYPOINT ["jenkins-agent"] +ENTRYPOINT ["jenkins-agent"] \ No newline at end of file diff --git a/dockerfile/qemu_test_dockerfile b/dockerfile/qemu_test_dockerfile deleted file mode 100644 index 8c3be02f60c0b7382a21f639da0b764bee703e36..0000000000000000000000000000000000000000 --- a/dockerfile/qemu_test_dockerfile +++ /dev/null @@ -1,128 +0,0 @@ -FROM openeuler/openeuler:22.03-lts - -# MAINTAINER -MAINTAINER harvey - -# yum install -RUN set -eux; \ - yum -y install iputils git java tar cmake gperf sqlite-devel \ - libffi-devel xz-devel zlib zlib-devel openssl-devel bzip2-devel \ - ncurses-devel readline-devel libpcap-devel parted autoconf-archive \ - chrpath gcc-c++ patch rpm-build flex autoconf automake m4 bison bc \ - libtool gettext-devel createrepo_c git net-tools wget sudo hostname \ - rpcgen texinfo python meson dosfstools mtools libmpc-devel gmp-devel \ - ninja-build numactl-devel make glib2 glib2-devel java-latest-openjdk.x86_64 \ - expect psmisc bridge-utils - -# gcc install -ARG tools_dir=/usr1/tools -ARG gcc_install_dir=/usr1/openeuler/gcc - -# change dir to workdir and star install -WORKDIR ${tools_dir} -RUN wget https://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/x86_64/Packages/gcc-cross-1.0-0.oe2203.x86_64.rpm -P ${tools_dir} -RUN rpm2cpio ${tools_dir}/gcc-cross-1.0-0.oe2203.x86_64.rpm | cpio -id - -# change dir to workdir and unpack -WORKDIR ${gcc_install_dir} -RUN tar -xf ${tools_dir}/tmp/openeuler_gcc_arm32le.tar.gz -RUN find ./openeuler_gcc_arm32le -type d | xargs chmod go+x -RUN chmod go+r ./openeuler_gcc_arm32le -R -RUN chmod -R 755 /usr1/openeuler/gcc/openeuler_gcc_arm32le/bin - -RUN tar -xf ${tools_dir}/tmp/openeuler_gcc_arm64le.tar.gz -RUN find ./openeuler_gcc_arm64le -type d | xargs chmod go+x -RUN chmod go+r ./openeuler_gcc_arm64le -R -RUN chmod -R 755 /usr1/openeuler/gcc/openeuler_gcc_arm64le/bin -RUN find ./ | xargs chmod go+x - - -# python install -ARG python_install_dir=/opt/buildtools/python-3.9.2 - -# change dir to workdir and start install -WORKDIR /usr1/tools -RUN wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz -RUN tar -xf Python-3.9.2.tgz -RUN rm -rf /usr/local/bin/python3 /usr/local/bin/python -WORKDIR /usr1/tools/Python-3.9.2 -RUN ./configure --prefix=/opt/buildtools/python-3.9.2 --enable-loadable-sqlite-extensions -RUN make -j 8 && make install -RUN ln -s ${python_install_dir}/bin/python3 /usr/local/bin/python3 -RUN ln -s ${python_install_dir}/bin/python3 /usr/local/bin/python -RUN export PYTHONPATH=${python_install_dir}/lib64/python3.9/lib-dynload/ -RUN export PYTHONPATH="${python_install_dir}/lib/python3.9/site-packages/:${python_install_dir}:${python_install_dir}/lib64/python3.9/lib-dynload/" - -# ninja install -ARG ninja_install_dir="/opt/buildtools/ninja-1.10.1" - -# change dir to workdir and start install -WORKDIR /usr1/tools -RUN wget https://distfiles.macports.org/ninja/ninja-1.10.1.tar.gz -RUN tar -xf ninja-1.10.1.tar.gz -WORKDIR /usr1/tools/ninja-1.10.1 -RUN sed -ie '1c#!/usr/bin/env python3' *.py -RUN ./configure.py --bootstrap -RUN mkdir -p ${ninja_install_dir}/bin -RUN install -m 0755 ./ninja ${ninja_install_dir}/bin - -# change access permission -WORKDIR /opt/buildtools -RUN find ./ -type d | xargs chmod 755 - -# clean install package -WORKDIR /usr1 -RUN rm -rf tools - -# install qemu -RUN wget https://download.qemu.org/qemu-7.0.0.tar.xz -RUN tar xvJf qemu-7.0.0.tar.xz -WORKDIR /usr1/qemu-7.0.0 -RUN yum -y install pixman-devel -RUN ./configure -RUN make -RUN make install - -RUN ln -s /opt/buildtools/python-3.9.2/bin/pip3 /usr/bin/pip -RUN ln -s /opt/buildtools/python-3.9.2/bin/pip3 /usr/bin/pip3 -RUN python -m pip install --upgrade pip - -RUN pip install six paramiko==2.7.2 - -###################################################install jenkins########################################################## - -ARG VERSION=4.3 -ARG user=jenkins -ARG group=jenkins -ARG uid=1000 -ARG gid=1000 -ARG AGENT_WORKDIR=/home/${user}/agent - -RUN curl --create-dirs -fsSLo /usr/share/jenkins/agent.jar https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar \ - && chmod 755 /usr/share/jenkins \ - && chmod 644 /usr/share/jenkins/agent.jar \ - && ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar - -RUN curl --create-dirs -fsSLo /usr/local/bin/jenkins-agent http://121.36.53.23/AdoptOpenJDK/jenkins-agent -#COPY jenkins-agent /usr/local/bin/jenkins-agent - -#RUN chmod a+rx /usr/local/openjdk-11 \ -RUN chmod a+rx /usr/local/bin/jenkins-agent \ - && ln -s /usr/local/bin/jenkins-agent /usr/local/bin/jenkins-slave - -RUN groupadd -g ${gid} ${group} -RUN useradd -c "Jenkins user" -d /home/${user} -u ${uid} -g ${gid} -m ${user} -RUN echo "${user} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers - - -USER ${user} -ENV AGENT_WORKDIR=${AGENT_WORKDIR} -RUN mkdir /home/${user}/.jenkins && mkdir -p ${AGENT_WORKDIR} - -VOLUME /home/${user}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR ${AGENT_WORKDIR} - -RUN sudo sed -i 's/TMOUT=300/TMOUT=/g' /etc/bashrc - -ENTRYPOINT ["jenkins-agent"]