{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/jak-ustawic-zmienna-srodwiskowa-w-azure-devops-pipeline","result":{"data":{"markdownRemark":{"html":"<h1>Problem</h1>\n<p>Mam <em>pipline</em> w Azure DevOps, a w nim - jakś zmienną. Chcę wartość tej zmiennej \"wepchnąć\" do zmiennej środowiskowej - tak aby jakieś kolejne kroki mogły z niej skorzystać. (Przyjmijmy, że tę wartość mogę przekazać tylko przez <em>environment variable</em> - a nie przez bezpośrednie odwołanie do \"pajplajnowej\" zmiennej w danym kroku.)</p>\n<h1>Rozwiązanie nr 1 (nie działa :( )</h1>\n<p>Szybki risercz internetów i sklecam takie coś:</p>\n<div class=\"gatsby-highlight\" data-language=\"yml\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-yml line-numbers\"><code class=\"language-yml\"><span class=\"token punctuation\">-</span> <span class=\"token key atrule\">variables</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">myVariable</span><span class=\"token punctuation\">:</span> abc\n\n<span class=\"token punctuation\">-</span> <span class=\"token key atrule\">steps</span><span class=\"token punctuation\">:</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">script</span><span class=\"token punctuation\">:</span> echo \"<span class=\"token comment\">##vso[task.setvariable variable=sauce.userName;issecret=true]$(myVariable)\"</span>\n<span class=\"token comment\"># other steps</span></code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span><span></span><span></span><span></span><span></span><span></span></span></pre></div>\n<p>Efekt? Do zmiennej trafiła wartość następująca: <code class=\"language-text\">abc\"</code> (tak, z cudzysłowem na końcu...). <em>Facepalm</em>. Nie szło to nijak ominąć - usunięcie w ogóle cudzysłowów, powodowało, że <code class=\"language-text\">##vso...</code> było traktowane jak komentarz w YAML-u (a więc odpalane było samo <code class=\"language-text\">echo</code>...), jakieś podmianki cudzysłowów na pojdyncze/podwójne - to samo.</p>\n<h1>Rozwiązanie nr 2 - działające!</h1>\n<p>Rozwiązaniem była przesiadka na PowerShella. Co ważne - reszta kroków może pozostać bez zmian (nie musimy innych kroków zmieniać na PowerShella). Takie krok wygląda wówczas następująco:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-text line-numbers\"><code class=\"language-text\">- task: PowerShell@2\n  inputs:\n    targetType: 'inline'\n    script: |\n      Write-Host \"##vso[task.setvariable variable=SAUCE_USERNAME;]$(sauceUserName)\"</code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span><span></span><span></span><span></span><span></span></span></pre></div>\n<p>Upierdliwe, nieprawdaż?</p>","excerpt":"Problem Mam pipline w Azure DevOps, a w nim - jakś zmienną. Chcę wartość tej zmiennej \"wepchnąć\" do zmiennej środowiskowej - tak aby jakieś kolejne kroki mogły…","frontmatter":{"date":"12 January, 2021","path":"/blog/jak-ustawic-zmienna-srodwiskowa-w-azure-devops-pipeline","title":"Jak ustawić zmienną środowiskową w Azure DevOps pipeline?"},"fields":{"readingTime":{"text":"1 min read"}}}},"pageContext":{}},"staticQueryHashes":["3649515864","63159454"]}