2016-02-25 52 views
1

我試圖通過Jenkins自動構建和上傳文件。如何在建立nodejs與流浪設置時加速詹金斯?

因此,我現在使用Jenkins/Git/vagrant,並且它工作正常!

但是......太晚了......現在這個過程浪費了30多分鐘。

現在,我摧毀了過去的流浪者設置,並刪除了過去的工作區。在我看來,這個問題是浪費時間的主要原因。

是否有任何其他的方法,使CI與安全選項斷絕??(如..檢查遊民設置在一起..)

附:

這是我的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

你應該做的,而不是破壞,每一次配置是創建一個新的與節點,詹金斯等安裝,所以當你做vagrant up它不需要運行這一步。當然這也意味着當你需要更新版本的節點/詹金斯時,你需要重新創建基本盒子,但它會爲你的日常活動節省大量時間。

你應該:

  • 你框和運行設置
  • 運行vagrant repackage到(安裝所有軟件)保存這個新的虛擬機狀態作爲一個新的盒子
  • 添加這個盒子放到流浪配置
  • 將vm.box指向新盒子,而不是舊盒子,並刪除配置部分。