A’ cleachdadh caochladairean ann am pìoban Azure DevOps

Tha sinn a’ leantainn leis an ath-bhreithneachadh againn air inneal leasachaidh mìorbhaileach airson Windows agus barrachd, Azure DevOps. An turas seo, às deidh dhomh mòran fhulang le caochladairean àrainneachd, chuir mi romham an eòlas gu lèir a chuir ann an aon artaigil.

A 'tòiseachadh bhon fhìrinn gu bheil co-chòrdadh eadar-dhealaichte aca airson gach àrainneachd cur gu bàs, a' crìochnachadh le dìth comas àbhaisteach caochladairean a ghluasad bho aon ìre den loidhne-phìoban gu ìre eile.

Nì mi cinnteach gum bi na prìomh eisimpleirean air Pìoban Fuasglaidh, oir chan eil YAML air faighinn ann fhathast, agus tha feum agam air comasachd iomadh ìre agus mòran artifacts. Tha seo, tha e coltach, air fàs ri fhaighinn ann am Pìoban cunbhalach, a tha gu ìre mhòr co-ionann riutha ann an comas-gnìomh. Ann am Pipelines YAML, chuir sinn inneal beag grafaigeach ris an riochdachadh teacsa le paramadairean a ghabhas suidheachadh. Tha e gu math goireasach; chan fheum thu a dhol tro na sgrìobhainnean airson gach modal. Ach bheir mi cunntas air seo san ath artaigil, ach airson a-nis seo dealbh den innleachdas fhèin.

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

Stòradh is cleachdadh

Feuch an tòisich sinn leis an fhìrinn gu bheil caochladairean bunaiteach againn san t-siostam. Bidh iad a’ tòiseachadh, a rèir an tùs, leis na faclan Release, System, msaa. Tha an liosta slàn (mar a thionndaidh e a-mach, chan eil), ri fhaighinn aig sgrìobhainnean. Tha a h-uile sgitsophrenia le co-chòrdadh air a nochdadh le eisimpleir bho na sgrìobhainnean gu h-ìosal. Tha trì riochdachaidhean aig an aon chaochladair, a rèir far an can sinn e.

steps:
 - bash: echo This script could use $SYSTEM_ACCESSTOKEN
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)
  - powershell: Write-Host "This is a script that could use $env:SYSTEM_ACCESSTOKEN"
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)

Ma shuidhicheas tu caochladair air an àidseant air a bheil an gnìomh air a chur gu bàs, is e $ (System.AccessToken) a th’ ann. Ma tha thu airson a chleachdadh am broinn sgriobt powershell air an aon àidseant, bidh e mu thràth $env:SYSTEM_ACCESSTOKEN. Ma tha thu, Dia a’ toirmeasg, airson an caochladair seo a chleachdadh air aoigheachd iomallach a’ cleachdadh gnìomh PowerShell air innealan targaid, feumaidh tu seo a chuir tro argamaid chun sgriobt a’ cleachdadh m ’airgead. Le bash tha e nas sìmplidh, faodaidh tu dìreach a thoirt a-steach leis an argamaid agus an co-chòrdadh $SYSTEM_ACCESSTOKEN.

Chan eil na h-aon laghan a’ buntainn ris na caochladairean agad fhèin; an seo tha thu mar-thà an urra ris a’ cho-chòrdadh. Faodar caochladairean a shuidheachadh gu h-ionadail anns gach gnìomh.

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

No air feadh na cruinne ris a’ bhùth chaochlaideach, agus an uairsin gan ceangal bhon stòr. Gu math comhfhurtail.

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

Mar bhuannachd, ma tha na caochladairean gu math dìomhair, faodar an stòradh ann an sgòth Azure ann an stòr ris an canar Azure Vault; faodaidh tu Vault a cheangal ris a ’phròiseact anns an Leabharlann.

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

San fharsaingeachd, tha a h-uile dad soilleir le caochladairean; ann an loidhnichean-phìoban faodaidh iad fhathast a bhith air an suidheachadh le làimh airson gach cur air bhog; ann an sgaoileadh chan eil an leithid de ghnìomhachd ann. Chì thu na tha thu a’ gluasad chun loidhne-phìoban a-rithist anns na logaichean tòiseachaidh àidseant, ach cumaibh cuimhne gu bheil iad ann mar-thà ann an cruth tionndaidh.

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

Caochlaidhean fiùghantach

Bidh an spòrs a’ tòiseachadh nuair a tha sinn airson beagan luach fhaighinn ann an aon ìre agus a thoirt don ath cheum.

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

Cha d’ fhuair sinn a leithid de ghnìomhachd. Ach chan eil ar làmhan airson dòrainn agus le cuideachadh bho Google chaidh fuasgladh a lorg. Tapadh le Dia, tha API aig Azure DevOps a leigeas leinn beagan a bharrachd a dhèanamh na bha air a nochdadh san eadar-aghaidh.

Mar sin, bidh feum againn air gairm gus caochladairean cruinne ùrachadh, rud a nì sinn gu dìreach bhon taobh a-staigh den loidhne-phìoban. Tha an seòladh air a thoirt bho chaochladairean àrainneachd, an aon fheadhainn nach eil facal mu dheidhinn anns na sgrìobhainnean, mar a chaidh ainmeachadh roimhe. Faodaidh tu iad fhèin a shuidheachadh no, a bharrachd air an sin, an còd cruaidh ma dhùineas iad a’ bhùth.

$releaseurl = ('{0}{1}/_apis/release/releases/{2}?api-version=5.0' -f $($env:SYSTEM_TEAMFOUNDATIONSERVERURI), $($env:SYSTEM_TEAMPROJECTID), $($env:RELEASE_RELEASEID)  )

Shuidhich sinn luach falamh an caochladair a tha sinn airson a ghluasad, suidhich Scope - Release

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

Mar eisimpleir, bidh sinn a 'dèanamh cuid de ghineadair luach air thuaiream. Thoir aire don cho-chòrdadh a thaobh a bhith ag ainmeachadh caochladair taobh a-staigh na h-ìre seo; chaidh an gnìomh seo a thoirt a-steach.

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

Anns an ath cheum, bheir sinn seachad an caochladair chun sgriobt, tha, tha, chan eil e comasach gu dìreach, feumaidh e bhith tro argamaid.

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

Sgriobt fo spoiler

PowerShell

#Script requires stageVar variable in release variables set to Release scope

param ( [string] $expVar )
#region variables
$ReleaseVariableName = 'StageVar'
$releaseurl = ('{0}{1}/_apis/release/releases/{2}?api-version=5.0' -f $($env:SYSTEM_TEAMFOUNDATIONSERVERURI), $($env:SYSTEM_TEAMPROJECTID), $($env:RELEASE_RELEASEID)  )
#endregion


#region Get Release Definition
Write-Host "URL: $releaseurl"
$Release = Invoke-RestMethod -Uri $releaseurl -Headers @{
    Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
#endregion

#region Output current Release Pipeline
Write-Output ('Release Pipeline variables output: {0}' -f $($Release.variables | ConvertTo-Json -Depth 10))
#endregion


#region Update StageVar with new value
$release.variables.($ReleaseVariableName).value = "$expVar"
#endregion

#region update release pipeline
Write-Output ('Updating Release Definition')
$json = @($release) | ConvertTo-Json -Depth 99
Invoke-RestMethod -Uri $releaseurl -Method Put -Body $json -ContentType "application/json" -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN" }
#endregion

#region Get updated Release Definition
Write-Output ('Get updated Release Definition')
Write-Host "URL: $releaseurl"
$Release = Invoke-RestMethod -Uri $releaseurl -Headers @{
    Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
#endregion

#region Output Updated Release Pipeline
Write-Output ('Updated Release Pipeline variables output: {0}' -f $($Release.variables | ConvertTo-Json -Depth 10))
#endregion

No

Bash

INPUT_VAR=$1
RELEASE_VAR=$2

echo Test ID: ${INPUT_VAR}

RELEASE_URL="${SYSTEM_TEAMFOUNDATIONSERVERURI}${SYSTEM_TEAMPROJECTID}/_apis/release/releases/${RELEASE_RELEASEID}?api-version=5.0"

echo release url: $RELEASE_URL

RELEASE_JSON=$(curl -H "Authorization: Bearer $SYSTEM_ACCESSTOKEN" $RELEASE_URL)

OUTPUT=`jq ''.variables.${RELEASE_VAR}.value' = '"${INPUT_VAR}"'' <<< $RELEASE_JSON`

curl -H "Authorization: Bearer $SYSTEM_ACCESSTOKEN" -H "Content-Type: application/json" -X PUT -d "$OUTPUT" $RELEASE_URL

Ann an ùine ghoirid, bidh an sgriobt againn a’ toirt an caochladair myVar mar chur-a-steach agus a’ cleachdadh an API gus luach a’ chaochladair seo a chuir ann an stageVar. Anns an ath cheum, a 'cleachdadh siostam caochlaideach co-chòrdadh, faodaidh sinn coimhead air.

A’ cleachdadh caochladairean ann am pìoban Azure DevOps

Tha an eisimpleir gu math sìmplidh, ach tha an comas-gnìomh a’ fosgladh chothroman math dhuinn, a bharrachd air na bha agam roimhe artaigilean, nuair as urrainn dhuinn inneal brìgheil a chruthachadh aig a’ chiad ìre de dheuchainn, dèan cuid de làimhseachadh eile leis, agus grunnan ann an co-shìnte. Agus is e an ìre mu dheireadh a sgrios. A-nis bidh sinn a’ ruith fèin-dheuchainnean den toradh a h-uile uair air innealan brìgheil ùra. Leis gu bheil iad beò airson timcheall air 10 mionaidean, tha e a’ cosg sgillinn.

Anns an ath artaigil, ma tha sin riatanach, bruidhnidh mi mu phìoban YAML; tha tòrr innleachdan inntinneach air a bhith ann o chionn ghoirid.

Source: www.habr.com

Cuir beachd ann