如何使用vagrant设置构建nodejs时加快Jenkins的速度?

时间:2016-02-25 06:25:13

标签: jenkins continuous-integration vagrant

我试图通过Jenkins自动构建和上传文件。

所以我现在正在使用Jenkins / Git / vagrant,它运行正常!

但是......已经太晚了。这个过程浪费了30多分钟。

现在,我摧毁过去的流浪汉设置并删除过去的工作区。在我看来,这个问题是浪费时间的主要原因。

有没有其他方法可以使用安全选项制作CI服务器?(比如..一起检查流浪者设置..)

P.S。

这是我的Vagrant文​​件的脚本。有没有改进点?我真的需要你的帮助..

Vagrant档案:

Vagrant.configure("2") do |config|

    config.vm.box = "ubuntu/trusty64"
    config.vm.provision :shell, :path => "node-bootstrap.sh"
    config.vm.network :private_network, ip: 'xx.xxx.xxx.xx(secret)'


    config.vm.provider :virtualbox do |vb|
        vb.memory = "2048"    
        vb.cpus = 2
    end

    config.vm.provision "shell", run: "always" do |s|
    s.inline = "cd /vagrant/frontend && gulp --production true"
    end

end

node-bootstrap.sh:

#!/bin/bash

echo "======================"
echo "Install 3rd parties for Node.js.........."
echo "======================"
sudo apt-get update
sudo apt-get install -y build-essential curl libssl-dev git

echo "======================"
echo "Node source 4.x......."
echo "======================"
sudo curl -sL https://deb.nodesource.com/setup_4.x | bash -

echo "======================"
echo "Node.js..............."
echo "======================"
sudo apt-get install -y nodejs


echo "======================"
echo "Install bower........."
echo "======================"
sudo npm install -g bower


echo "======================"
echo "Install gulp.........."
echo "======================"
sudo npm install -g gulp


echo "======================"
echo "Install packages on /vagrant......"
echo "======================"
cd /vagrant/frontend
sudo npm install

echo "======================"
echo "Install bower packages on /vagrant....."
echo "======================"
cd /vagrant/frontend
sudo bower install --allow-root --config.interactive=false

1 个答案:

答案 0 :(得分:1)

每次应该做的而不是销毁和配置是创建一个安装了Node,Jenkins等的新框,这样当你执行vagrant up时就不需要运行这一步了。当然这也意味着当你需要更新版本的node / jenkins时,你需要重新创建基本框,但它会为你的日常活动节省大量的时间。

你应该:

  • 您的包装盒并运行配置
  • 运行vagrant repackage以保存此新VM状态(已安装所有软件)作为新框
  • 将此框添加到Vagrant config
  • 将vm.box指向新框而不是旧框并删除配置部分。