5

我正在尝试为我的开发环境在 Vagrant 上安装 Jenkins。

我为我的盒子选择了 Ubuntu http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-vagrant-amd64-disk1.box。这是我用来配置我的盒子的外壳。一切正常,但是当我尝试从端口 80 甚至 :8080 访问该盒子时,它只是没有响应。浏览一直在旋转。不知道我在这里做错了什么。

这是我的脚本。


sudo apt-get update

echo "APT::Cache-Limit "100000000";" >> /etc/apt/apt.conf.d/70debconf

wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'

sudo apt-get -y --force-yes install jenkins

sudo apt-get -y --force-yes install apache2
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod vhost_alias
sudo a2dissite default

echo '
        ServerAdmin webmaster@localhost
        ServerName ci.company.com
        ServerAlias ci
        ProxyRequests Off
        
                Order deny,allow
                Allow from all
        
        ProxyPreserveHost on
        ProxyPass / http://localhost:8080/
' >> /etc/apache2/sites-available/jenkins

sudo a2ensite jenkins
sudo sh -c 'echo "ServerName localhost" >> /etc/apache2/conf.d/name' && sudo service apache2 restart
sudo apache2ctl restart

vagrant ssh也跑

curl 'http://localhost:8080'

它返回了 Jenkins 页面,所以我认为 Jenkins 已经正常运行。我只是无法从外部访问它。

这是我的流浪文件


Vagrant.configure("2") do |config|
  config.vm.provision :shell, :path => "install-jenkins.sh"
  config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--memory", "2024"]
  end

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "ubuntu64"

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  config.vm.network :forwarded_port, guest: 80, host: 8080
end

4

1 回答 1

2

我通过向 Vagrant 框提供 IP 来完成这项工作,如下所示:

config.vm.network :hostonly, "33.33.33.10"
于 2013-04-11T17:19:37.260 回答