मेरे पास Azure DevOps में एक पाइपलाइन है जो मेरे आईओएस एप्लिकेशन का निर्माण करती है, मैं वातावरण को अलग करना चाहता हूं और जो मैं नौकरियों और शर्तों के लिए बना रहा हूं। मैंने प्रारंभिक पैरामीटर का चयन किया है:

parameters:
  - name: Environment
    displayName: "Environment"
    type: string
    default: Dev
    values:
    - Dev
    - Live
  - name: Build
    displayName: "Build"
    type: string
    default: iPhone
    values:
    - iPhone
    - iPhoneSimulator

और फिर जहां मैंने अलग नौकरी स्थापित की है, मैंने एक शर्त जोड़ दी है:

      - job:
        condition: and(succeeded(), eq(${{ parameters.Build }}, iPhone))
        steps:
          - checkout: none

जब मैं इसे चलाने का प्रयास करता हूं तो मुझे निम्न त्रुटि मिलती है:

An error occurred while loading the YAML build pipeline. Unrecognized value: 'iPhone'. Located at position 21 within expression: and(succeeded(), eq(iPhone, iPhone)).
1
Ross 21 अप्रैल 2021, 16:50

1 उत्तर

सबसे बढ़िया उत्तर

iPhone मान्य नहीं है शाब्दिक। चूंकि शर्त मूल्यांकन से पहले पैरामीटर विस्तार होता है, आपको सिंगल कोट्स में स्ट्रिंग अक्षर संलग्न करके यह सुनिश्चित करना होगा कि पैरामीटर विस्तार के बाद आपकी स्थिति में उचित सिंटैक्स है:

and(succeeded(), eq('${{ parameters.Build }}', 'iPhone'))
2
flyx 21 अप्रैल 2021, 17:07
आपका बहुत बहुत धन्यवाद।
 – 
Ross
21 अप्रैल 2021, 17:12