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

1 回答 1

6

0. 仿真

  1. 下载并解压http://sourceforge.net/projects/rpiqemuwindows/
  2. 通过运行 run.bat 启动 QEMU
  3. 安装和配置 Raspbian(用户:pi,密码:raspberry)
  4. 关闭 QEMU

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 并使用以下命令验证rootfs现在是否更大df

2.安装詹金斯

  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 实际上已经崩溃,因为它试图将所有文件提取到tmpfs中,/run其中只有 10% 的 RAM(约 20MB 和-m 192)。为了解决这个问题,我们需要编辑--webrootJenkins 的参数以使用另一个目录。
  6. nano /etc/default/jenkins 编辑以下行

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

    进入

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

3. 安装 Oracle Java 7(硬浮动)

  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 运行时环境

4.开始并验证安装

  1. sudo service jenkins start
  2. tail /var/log/jenkins/jenkins.log -f等待Jenkins 完全启动并运行
  3. 现在尝试它实际上是向上的 wget localhost:8080 && nano index.html
于 2013-10-30T12:12:53.870 回答