2016-03-22 10 views
8

के साथ विशिष्ट उपयुक्त संस्करण स्थापित कर रहा स्थापित करने के लिए एक ansible प्लेबुक इस्तेमाल किया Git:ansible

--- 
- hosts: "www" 
    tasks: 
    - name: Update apt repo 
    apt: update_cache=yes 
    - name: Install dependencies 
    apt: name={{item}} state=installed 
    with_items: 
     - git 

मैं जाँच की स्थापित संस्करणों:

apt: name=git=1.9.1 state=installed 
:

$ git --version 
git version 1.9.1 

लेकिन ansible प्लेबुक के लिए इन जोड़ने

और निम्न त्रुटि में परिणाम पुन: परिणाम:

घातक: [46.101.94.110]: असफल! => {"cache_update_time": 0, "cache_updated": false, "बदला गया": झूठा, "असफल": सत्य, "msg": "'/ usr/bin/apt-get -y -o \" डीपीकेजी :: विकल्प :: = - बल-confdef \ "-o \" डीपीकेजी :: विकल्प :: = - बल-confold \ "स्थापित करें 'git = 1.9.1' 'असफल: ई: संस्करण' 1.9.1 'के लिए' गिट 'नहीं मिला \ n "," stderr ":" ई: संस्करण' 1.9.1 '' गिट 'के लिए नहीं मिला \ n "," stdout ":" पैकेज सूची पढ़ रहा है ... \ n बिल्डिंग निर्भरता पेड़ .. \ n राज्य की जानकारी पढ़ना ... \ n "," stdout_lines ": [" पैकेज सूची पढ़ना ... "," बिल्डिंग निर्भरता पेड़ ... "," राज्य की जानकारी पढ़ना ... "]}

उत्तर

9

गिट

git=1:1.9.1-1ubuntu0.2 

आपका काम होना चाहिए: कि विशिष्ट संस्करण के साथ पैकेज इस प्रकार है

apt: name=git=1:1.9.1-1ubuntu0.2 state=installed 

सादर

+1

हाँ प्रतिभाशाली की जरूरत नहीं है wildcarding का समर्थन करता है। मैंने संस्करण को खोजने के लिए 'dpkg -s git' का उपयोग किया (' 1: 1.9.1-1ubuntu0.3' मेरे मामले में)। – AJP

0

आप कैश और स्थापना को अद्यतन करने के लिए दो कार्य जरूरत नहीं है। आपका प्लेबुक दिखना चाहिए:

--- 
- hosts: "www" 
    tasks: 
    - name: Install dependencies 
    apt: name={{item}} state=installed update_cache=yes 
    with_items: 
     - git=1:1.9.1-1ubuntu0.2 

ध्यान दें कि Ansible ताकि आप जरूरी पूर्ण संस्करण स्ट्रिंग

+0

अरे धन्यवाद @ smiller171। कैश अपडेट कभी-कभी लंबा समय ले सकता है, इसलिए मैं इसे समझने के तरीके के रूप में अलग रखता हूं कि उत्तरदायी स्क्रिप्ट कैसे प्रगति कर रही है और जहां कोई विफलता/समस्या झूठ बोल सकती है। वाइल्डकार्डिंग के बारे में, कुछ ऐसा होगा: '- git = * 1.9.1 *' काम? – AJP

+0

मुझे नहीं लगता कि मैंने खुद को वाइल्डकार्डिंग का उपयोग किया है, इसे सिर्फ दस्तावेज़ों में देख रहा था। एक त्वरित परीक्षण चलाने के लिए पता लगाने का सबसे अच्छा तरीका है – smiller171