2015-05-28 29 views
0

道歉,但廚師/流浪者等......有這麼多的工具建立在他們周圍,有時很難確定哪一個很適合手頭的問題。因此,在開始實際工作之前,我想確認要查看的工具。增強Vagrant Box並保存爲一個新盒子 - 使用'vagrant package'?

我正在使用廚師使用Vagrant旋轉VirtualBox實例。它主要是有效的,但有時很慢,從我的角度來看,一些最不有趣的步驟似乎是自動化最具挑戰性的。

基本上,我目前的系統包括:

  • 安裝一堆的相當靜態prerequirements,其中有些是難以自動(cx_oracle)或大的。

  • 構建我的實際應用程序。

這裏有各種各樣的

     Vagrant 

+---------------------+                  
|Ubuntu 14.04 box  |                  
+---------------------+                  

+---------------------+  +-----------------------+  +----------------------------+ 
|Chef with berkshelf +------->+ install complicated +----> |       | 
|      |  | static requirements |  | postgres     | 
+-------------------+-+  +-----------------------+  |       | 
        |           |       | 
        |           | cx_oracle connectivity  | 
        |           |       | 
        |           |       | 
        |           | large databases that are | 
        |           | fixed and do not change | 
        |           +----------------------------+ 
        |                  
        |   +-----------------------+  +----------------------------+ 
        |   | dynamic stuff for my |  | python code    | 
        +--------> | build     +----> | pip requirements   | 
           +-----------------------+  | database migrations  | 
                   |       | 
                   +----------------------------+ 

我想這樣做的流程圖。

如果我只能偶爾做第一部分並將它保存到一個新盒子,它將有助於我的工作流程。如果我可以通過手動執行復雜的「固定」配置並稍後自動進行操作,那真的會對我有所幫助。

我見過帕克,但似乎有點矯枉過正,因爲我並不需要從說一個Ubuntu的服務器下載開始,我寧願用我的Ubuntu現有14.04放浪開始。

這是我想要做的。 導出機制位是我想弄明白的。

鑑於我現在只在VirtualBox上,並且我不介意一些手動步驟來構建我的增強框,請問vagrant包是否有訣竅?

而且,如果我想轉移到第一步的完全自動化,Packer是在哪裏進來的?我應該看看其他工具嗎?

+---------------------+                 
|Ubuntu 14.04 box  |                 
+---------+-----------+                 
      |                    
     ^                    
+---------+-----------+  +-----------------------+  +----------------------------+ 
|manually    +-----^+ istall complicated +----> |       | 
|(or with Chef)  |  | static requirements |  | postgres     | 
+---------+-----------+  +-----------------------+  |       | 
      |             | cx_oracle connecti^ity  | 
      |             | databases     | 
      |             +----------------------------+ 
      |                    
      |                    
      v                    

+---------------------+                  
|**EXPORT MECHANISM** | +--------+               
+---------------------+   |               
           |               
           |               
           |               
+------------------+    |               
| Vagrant step #2 |    |               
+------------------+    |               
           |               
           |               
+---------------------+   |               
|my custom box  | <--------++               
+---------------------+                  


+---------------------+                  
|Chef with berkshelf |                  
|      |                  
+----------------+----+                  
       |                   
       |                   
       |                   
       |                   
       |                   
       |                   
       |                   
       |                   
       |   +-----------------------+  +----------------------------+ 
       |   | dynamic stuff for my |  | python code    | 
       +--------> | build     +----> | pip requirements   | 
          +-----------------------+  | database migrations  | 
                  |       | 
                  +----------------------------+ 

回答

1

vagrant package & vagrant box add ...可能會做的工作,但它是一個不好的做法,這樣做。 「烘烤」的圖像往往是靜態和不可重現的,使廚師無用恕我直言。

另請參閱: https://stackoverflow.com/a/20680816/427117