企业网站建设的几种形式,卡二卡三卡四卡在线,旅游网站的制作,wordpress atom我们直接在Jenkins的镜像基础上进行集成RT-Thread 的编译环境#xff0c; 这样直接使用Shell 命令 最直接了当#xff0c; 通过 第三方docker等插件#xff0c; 尝试了计重方案#xff0c; 没有找到理想中的感觉#xff0c; 如果其他人有想法可以告知一二。 我们有现成的镜… 我们直接在Jenkins的镜像基础上进行集成RT-Thread 的编译环境 这样直接使用Shell 命令 最直接了当 通过 第三方docker等插件 尝试了计重方案 没有找到理想中的感觉 如果其他人有想法可以告知一二。 我们有现成的镜像 在文尾会贴出 但步骤 我们先讲述一下。首先 我们建立一个dockerfile , 基于jenkins/jenkins 并将用户设置为rootFROM jenkins/jenkins
USER root
LABEL author maikebing mysticboylive.com
ENV DEBIAN_FRONTEND noninteractive第二补 安装交叉编译环境 以及python , python 不能是 3.x的 这点务必确保。 同事 git cppcheck 也需要要。 RUN apt-get update -y \apt-get install git scons wget bzip2 \build-essential libncurses-dev cppcheck \gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi qemu-system-arm python -y \apt-get clean -y试过多种方案 都无法正常的使用apt 安装 2.7 的pip 纠结了半个星期 可以用下面的方式安装。 RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py python2 get-pip.py \pip install requests rm get-pip.py这一步就是是安装交叉编译环境。 RUN cd /tmp/ wget -q https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/6-2016q4/gcc-arm-none-eabi-6_2-2016q4-20161216-linux.tar.bz2 \tar xf ./gcc-arm-none-eabi-6_2-2016q4-20161216-linux.tar.bz2 \mv gcc-arm-none-eabi-6_2-2016q4/ /opt/ \rm ./gcc-arm-none-eabi-6_2-2016q4-20161216-linux.tar.bz2 \/opt/gcc-arm-none-eabi-6_2-2016q4/bin/arm-none-eabi-gcc --version
ENV RTT_EXEC_PATH /opt/gcc-arm-none-eabi-6_2-2016q4/bin/ stm32刷机程序 你可以不安装。 RUN git clone https://git.code.sf.net/p/stm32flash/code stm32flash-code \cd /stm32flash-code make mv stm32flash /usr/bin/ \cd / rm /stm32flash-code -rf \stm32flash -h 这里是安装rt-thread的基本环境 evn很烦人 必须是 %HOME目录下而且写死的。 其实跟jenkins 的 home目录映射到外面。所以 我们只能 吧env放在跟目录下。 RUN git clone https://gitee.com/RT-Thread-Mirror/env.git /env/tools/scripts \git clone https://gitee.com/RT-Thread-Mirror/packages.git /env/packages/packages
RUN sed -i -e s/CONFIG_SYS_PKGS_DOWNLOAD_ACCELERATEy/CONFIG_SYS_PKGS_DOWNLOAD_ACCELERATEn/g /env/tools/scripts/cmds/.config
ENV PATH$PATH:/env/tools/scripts用户继续改为 jenkinsUSER jenkins构成镜像后 下面是docker-compose 的配置信息 我们构建成功的镜像是 maikebing/rt-thread_linux_env:jenkinsci jenkins:container_name: jenkinshostname: jenkinsrestart: alwaysimage: maikebing/rt-thread_linux_env:jenkinscienvironment:TZ: Asia/ShanghaiAVA_OPTS: -Xmx3g -Xms2Gports:- 9095:8080- 50000:50000volumes:- ./data/jenkins:/var/jenkins_home- /var/run/docker.sock:/var/run/docker.sock 由于jenkins的默认用户home目录是 挂载在外面的 所以 每次我们第一个Build Step 要重新连接并链接env工具路径并加入路径当中 最大的原因其实是rt-thread 的 env 工具 写死了 home路径 而不是某个安装路径。 rm $HOME/.env
ln /env $HOME/.env -s
export PATH$PATH:$HOME/.env/tools/scripts
ls /var/jenkins_home/.env/tools/scripts第二个Build Steppkgs --update第三Build Step scons --targetmdk5