在“Raspberry Pi”的QEMU仿真上设置Jenkins CI服务器(Windows)

时间:2013-10-30 12:12:54

标签: java raspberry-pi qemu raspbian

  1. 如何使用 QEMU
  2. 设置Raspberry'VM'
  3. 设置Jenkins以使用新的 Oracle Java 7
  4. 运行

1 个答案:

答案 0 :(得分:6)

0。仿真

  1. 下载并解压缩http://sourceforge.net/projects/rpiqemuwindows/
  2. 运行run.bat
  3. 启动QEMU
  4. 安装和配置Raspbian(用户:pi,密码:raspberry)
  5. 关闭QEMU
  6. vm-image有一个非常小的〜300MB可用空间驱动器,这不足以安装Java + Jenkins。所以我们需要扩展它。

    1。扩展音量

    1. raspbian 图片展开10GB,qemu-img resize 2012-07-15-wheezy-raspbian.img +10G
    2. 但这还不够,因为我们还需要在图像的文件系统中扩展分区。所以我们需要启动GParted live cd,因为我们不能在运行时这样做。
    3. 下载 GParted Live CD http://gparted.sourceforge.net/download.php
    4. 将文件从Bios目录复制到qemu-system-x86_64.exe所在的QEMU目录中。
    5. 使用以下命令启动普通x86计算机:

      qemu-system-x86_64.exe -hda 2012-07-15-wheezy-raspbian.img -m 512M -cdrom gparted-live-0.16.2-1b-i486.iso -boot d -pflash bios.bin

      这需要相当多的时间......

    6. 调整分区大小以填充磁盘。

    7. 在结束之前不要忘记实际应用
    8. 再次启动QEMU并使用命令df验证 rootfs 现在更大
    9. 2。安装Jenkins

      1. sudo apt-get update
      2. sudo apt-get install jenkins
      3. 停止服务sudo service jenkins stop
      4. 日志cat /var/log/jenkins/jenkins.log显示以下内容:

        [Winstone] - Beginning extraction from war file
        [Winstone] - Error initializing web application: prefix []
        java.io.IOException: No space left on device
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:282)
        at winstone.HostConfiguration.getWebRoot(HostConfiguration.java:273)
        at winstone.HostConfiguration.<init>(HostConfiguration.java:73)
        ...
        at Main.main(Main.java:96)
        
      5. Jenkins实际上已经崩溃,因为它试图将所有文件提取到/run中的 tmpfs ,其中只有10%的RAM(约为20MB,-m 192)。要解决此问题,我们需要编辑Jenkins的--webroot参数以使用另一个目录。
      6. nano /etc/default/jenkins 编辑以下行

        JENKINS_ARGS="--webroot=$JENKINS_RUN/war --httpPort=$HTTP_PORT ...

        JENKINS_ARGS="--webroot=$JENKINS_HOME/war --httpPort=$HTTP_PORT ...

      7. 3。安装Oracle Java 7(hard-float)

        1. 再次run.bat启动QEMU
        2. sudo apt-get install oracle-java7-jdk
        3. 列出已安装的Java版本(Jenkins安装OpenJDK) update-java-alternatives -l
        4. sudo update-alternatives --config java并选择Oracle JDK。
        5. 现在尝试java -version以确保使用 Java(TM)SE运行时环境
        6. 4。启动并验证安装

          1. sudo service jenkins start
          2. tail /var/log/jenkins/jenkins.log -f并等待 Jenkins完全正常运行
          3. 现在尝试它实际上是 wget localhost:8080 && nano index.html