Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Nguva pfupi yadarika ndakasangana nechikara chisiri-chakakurumbira munyika yeDevOps, Azure DevOps mapaipi. Ndakabva ndanzwa kushaikwa kwemirairo yakajeka kana zvinyorwa pamusoro penyaya, handizive kuti izvi zvakabatana nei, asi Microsoft zvakajeka ine chimwe chinhu chekushanda pairi maererano nekuzivikanwa kwechishandiso. Nhasi tichavaka pombi yekuongorora otomatiki mukati meAzure gore.

Saka, basa:
Kune software yakagadzirwa ichishandisa Azure DevOps imwecheteyo, yakagadzirwa kubva kuWIX project. Kana paine kufarira, ndichanyorawo nezvechishandiso ichi. Chaizvoizvo, inzira yekuvaka otomatiki yeWindows installers, ichitsiva iyo InstallShield yakajairwa. Saka, software yedu inobudirira uye inogadzira artifact, setup.exe, iyo inoisa application musystem. WindowsUnofanira kuisa iyi application mumuchina wekugadzira wakaita sewekugadzira, kukopa bvunzo dzinoitwa otomatiki dzakagadzirwa nechikwata chekuyedza ipapo, kudzimhanyisa, uye kuunganidza mhinduro kuti uone kana bazi racho rakanaka kana rakaipa usati wabatana. Zvakangofanana neGitLab, chete kuburikidza nepfungwa.

Senzvimbo yekuona hunhu kwatichaita bvunzo dzedu, isu zviripachena tinoshandisa Azure DevTest Labs, chimwe chikamu mukunyoreswa kweAzure, iyo yakagadzirirwa chinangwa ichi kuitira kuti imhanye marudzi ese ekuedza zvisina maturo mariri.

1. Kubatanidzwa padivi regore

Chekutanga, isu tinofanirwa kubatanidza yedu DevTest Labs neAzure DevOps, yatinoda mumwe Mukuru weSevhisi, chaizvo account yesevhisi inobvumira mapaipi kuenda kugore uye kugadzira / kudzima zviwanikwa ikoko.

Enda kune kunyoreswa uye tsvaga iyo Azure Active Directory sevhisi

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Tsvaga Kunyoreswa kweApp uye tinya paKunyoreswa Kutsva, izvi zvinogadzira mukuru wedu webasa. Ini handisi kuzopinda mune zvakadzama nezve zvigadziriso zvekusarudza paunenge uchigadzira; izvi zvinogona kusiyana kune kwakasiyana kunyoreswa.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Iye zvino tinofanira kupa kodzero kumutungamiriri wedu webasa. Kuti uite izvi, enda kune kunyoreswa, icon ine kiyi. Sarudza kunyorera kwedu.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Tevere, muKudzora Kudzora, tinya Role Assignment uye tsvaga iyi account uchishandisa zita rauchangobva kugadzira. Isu tinopa basa reMubatsiri, zvakwana.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Tevere, isu tinodzokera kuMukuru Webasa redu muAzure AD uye tovhura zvivakwa zvayo. Pava paya, tichada zvitupa zvese zviripo, tichazvichengeta.

Izvi zvinopedzisa yedu portal marongero uye isu tinoenda kuAzure DevOps.

2. Kubatanidzwa padivi reAzure DevOps

Chokutanga pane zvose, tichaenda kune zvirongwa zvepurojekiti uye sarudza Service Connections. Gadzira chinhu chitsva cheAzure Resource Manager mhando.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Ikozvino tichada zvitupa zvese zvatakanyora. Dzvanya pakushandisa iyo yakazara vhezheni yebhokisi rekubatanidza sevhisi. Uye isu tinoisa data rese ratakagamuchira kubva kuMukuru Webasa. Dzvanya simbisa uye kana zvese zvakanaka, chengetedza kubatana. Iye zvino mapaipi edu anogona kuishandisa kubatanidza kune gore.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

3. Kugadzira pombi

Iye zvino ngatisvike kune chikamu chinonakidza, kuvaka pombi pachayo. Vhura iyo Pipelines-Builds menyu

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Isu tinokwaziswa nemenu yekugadzira chivakwa chitsva, icho nekusarudzika chinoedza kutigadzirira iyo YAML faira ine gadziriso yakakodzera. Isu tinoramba izvi zvine ruremekedzo uye tosarudza yemhando yepamusoro sarudzo. Zvinonzwisisika kuti Microsoft inoda kuita zvese sezvinoitwa nevanhu uye nekupa mukana wekugadzirisa mapaipi sezvinobvira kuburikidza neYAML, asi zvinyorwa zvishoma uye kusashanda kwemamodule mazhinji kunotiudza kuti kuchiri kutanga kushandisa mashandiro aya.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Kubva pane akasiyana matemplate, isu tinoda iri nyore Empty Pipeline. Mushure mekuigadzira, tinokwaziswa nehwindo rekugadzirisa risina chinhu, umo isu tichapedza nguva yakawanda.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Saka, tinya pa + uye uzviwane uri mune imwe module chitoro, kubva kwatinozoda zvinotevera zvikamu kubva pane rondedzero.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Tisati tatanga kugadzirisa mabasa epombi, tinoda kugadzira uye kuisa mafaira akawanda muprojekti. Iyi ichave iyo ARM Template yemuchina wedu chaiwo, watichagadzira muAzure DevTest Labs, script yekuwana IP yemuchina mushure mekunge wagadzirwa uye, kana zvichidikanwa, zvinyorwa zvebvunzo dzedu kana izvo zvatinoda kumhanya nazvo. muridzi.

4. Chizvarwa che ARM Template

Kuti tigadzire muchina chaiwo, isu tichada kutanga tagadzira template yayo, json faira, yatichaisa mukodhi yeprojekiti kuitira kuti pombi iverenge kubva ipapo.

Isu tinoenda kune yedu lab uye tinowana maFormulas (zvigadziko zvinogoneka) menyu, tinya gadzira imwe nyowani.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Tichagamuchirwa nerunyorwa rurefu rwemifananidzo sehwaro, sarudzo yehukuru hwemuchina, uye maitiro akafanana neapo pakugadzira muchina chaiwo. Hatizonyanyi kufunga nezvedanho iri; tichaenda zvakananga kuchinhu chekupedzisira muhunhu hwemuchina, kureva, zvinhu zvekare. Unogona kushandisa chero magadzirirwo anodiwa kune nharaunda yako. Semuenzaniso, ndiri kuwedzera muchina ku domain Ndinowedzera account yebasa pairi semutariri kuitira kuti pipeline ikwanise kupinda muchina uyu pasi peakaundi iyi. Izvi zvese zvinogona kusiyana, asi kuti tibudirire kuyedza kodhi iyi, tinoda chinhu chimwe chete, chatichakurukura zvakadzama. Kuti tive nechokwadi chekuti vhezheni yazvino yesoftware yatiri kuyedza yakaiswa pamuchina wedu, tichashandisa chinhu chinonzi "Download Azure Pipelines Artifact and Run Script". Unoyeuka here pakutanga pandakataura kuti build ine application installer yakaunganidzwa kune imwe nzvimbo? Iye zvino tinoda kuudza muchina chaiwo, kana kuti template, kuti iende kunotora chinhu ichi. Uye kwete kungochitora chete, asiwo kuiisa, iyo yatinozadza minda yakakosha inotsanangura purojekiti, zita rekuvaka, uye kiyi yakavanzika. Kiyi yakavanzika, sezviri mune mamwe masisitimu akafanana, inogadzirwa muakaundi—muchiitiko ichi, muAzure DevOps—uye inochengetwa muSecrets murabhoritari yako. Pane kakungwarira pano: tichaichengeta muSecrets, asi template haizotarisiri. Ichaburitswa nemumwe mushandisi ari mukati mepaipi, saka tichafanira kuisa kiyi yakavanzika mutemplate nemaoko zvakare.

Chimwe chigadziriso chinofanira kuverengerwa ndeche "Gadzirisa WinRM"; isu tichachida kuti tiwane kuwana muchina. Pane chete parameter, zita remugamuchiri. Sezvo tisingazvizive pachine nguva, tichashandisa %COMPUTERNAME% chinja.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Saka tawedzera zvinhu zvese zvinodiwa, ngatienderere mberi kune chikonzero nei takauya pano pekutanga. Isu tinotora iyo yakagadzirwa ARM Template mune Yepamberi tebhu yeiyo yakafanana fomula yekugadzira hwindo.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Isu tinokopa zviri mukati peji kuVMtemplate.json faira uye tinoiisa mumudzi weprojekti. Hatichada gore, ngatidzokerei kune pombi.

5. Kugadziriswa kwepaipi

Ngatitangei nechinhu chakakosha uye chinonakidza, kugadzira muchina chaiwo, nekuti izvi takaita zvese izvi zvakabatanidzwa uye matemplate. Muchikamu cheAzure RM Subscription, tinosarudza sangano redu reBasa, iro ratakagadzirisa muchikamu 2. Zvadaro, nzvimbo ye laboratori inowanikwa kwatiri inofanira kubuda. Ipapo isu tinosarudza iyo json yatakagadzira uye totsanangura mamwe anodiwa akasiyana. Iyo yekupinda uye password yemuchina inogona kusetwa zvakananga kana kushandisa zvinoshanduka, asi ini handina chokwadi zvachose kuti inoshanda, zvisinei kuti chii chandakanyora ipapo, handina kukwanisa kupinda mumushini ndichishandisa izvi zvitupa, chinhu chikuru. ndiko kuseta zita remuchina kuti ugare uripo kana zvichibvira wakasiyana. Kune izvi ini ndinoshandisa iyo yekuvaka nharaunda inoshanduka.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Zvadaro tinogadzirisa imwe pfungwa inokosha. Mushure mokunge motokari yasimuka, tinoda kuziva maitiro ayo, kana zviri nani, kwete isu, asi pombi. Kuti tiite izvi, tinoita script, semuenzaniso GetLabVMParams.ps1 uye tiise ipapo, muprojekti. Ndakatora zvinyorwa kubva pawebhusaiti yeMicrosoft, asi ndakaigadzirisa zvishoma kune yangu nharaunda, nekuti... akatora PublicIP neFQDN michina. Ini handina kana imwe, asi ndine PrivateIP, iyo isiri nyore kuwana, ndosaka ndawedzera chidimbu.

Param( [string] $labVmId)

$labVmComputeId = (Get-AzureRmResource -Id $labVmId).Properties.ComputeId

# Get lab VM resource group name
$labVmRgName = (Get-AzureRmResource -Id $labVmComputeId).ResourceGroupName

# Get the lab VM Name
$labVmName = (Get-AzureRmResource -Id $labVmId).Name

# Get lab VM public IP address
# $labVMIpAddress = (Get-AzureRmPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).IpAddress

# Get lab VM FQDN
# $labVMFqdn = (Get-AzureRmPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).DnsSettings.Fqdn

# Get lab VM private IP address
$VmNetworkdetails= (((Get-AzureRmVM -ResourceGroupName $labVmRgName -Name $labVmName).NetworkProfile).NetworkInterfaces).Id
$nicname = $VmNetworkdetails.substring($VmNetworkdetails.LastIndexOf("/")+1)
$labVMnetwork = (Get-AzureRmNetworkInterface -Name $nicname -ResourceGroupName $labVmRgName)|Select-Object -ExpandProperty IPConfigurations 
$labVMIpAddress = $labVMnetwork.PrivateIpAddress

# Set a variable labVmRgName to store the lab VM resource group name
Write-Host "##vso[task.setvariable variable=labVmRgName;]$labVmRgName"

# Set a variable labVMIpAddress to store the lab VM Ip address
Write-Host "##vso[task.setvariable variable=labVMIpAddress;]$labVMIpAddress"

# Set a variable labVMFqdn to store the lab VM FQDN name
Write-Host "##vso[task.setvariable variable=labVMFqdn;]$labVMFqdn"

Write-Output $labVMIpAddress

Set-Item wsman:localhostclienttrustedhosts * -Force

Pazvese izvo script inoverenga, isu tinongoda iyo labVMIpAddress inosiyana. Zvakanaka, ndezvangu, pamwe iwe unoda chimwe chinhu, ndosaka ndisina kubvisa chero chinhu uye ndangotaura zvinhu zvisina basa.

Ini ndichatsanangurawo mutsara wekupedzisira weiyo script; inobvumira yedu yekuvaka muchina kuwana kune chero muenzi kuburikidza neWinRM.

Nhanho inotevera ndeyekutanga script yedu inoshamisa. Iye achada kubatana kwakafanana kune gore, shanduko yekuisa ine ID yemuchina, iyo panguva iyoyo inenge yave kuzivikanwa kubva padanho rekutanga. Sei? Pano tinofanira kutaura chinhu chinoshamisa seOutput Variables. Nhanho imwe neimwe inogona kuva nerunyoro rwezvinyorwa zvinopfuudzwa kumatanho anotevera epombi. Saizvozvo, kune yedu super script shanduko iyi ichave labVMIpAddress, usakanganwe kuratidza izvi.

Kuvaka pombi yekuyedza otomatiki paAzure DevOps

Tevere, ini ndinoita zvinhu zviri nyore, izvo, zvakare, zvinogona kusiyana kubva pane imwe nyaya kuenda kune imwe. Ndiri kuita script kure uye kugadzira mugove, umo ini ndichabva ndaisa zvinyorwa zvangu.

New-Item “C:test" –type directory
New-SMBShare –Name “test” –Path “C:test”  –FullAccess everyone

Kubva pazita remabasa zviri pachena kuti tinotevera tinokopa imwe script script kumushini uye tozviita mune imwe nhanho. Yedu $(labVMIpAddress) shanduko ichabatsira kwatiri sekero yemuchina uri kure. Tevere, isu tinoshandisa basa rekuti "tora artifact kubva kumabhora" uye kukopa mhedzisiro yescript execution munzvimbo yedu yekuvaka, toshandisa iro rakafanana basa kuchengetedza mafaera aya kukuvaka artifact. Mushure mekunge tisisadi mota, danho rekupedzisira nderekuuraya. Dambudziko guru, sezvinoonekwa kubva pakureba kwechinyorwa, nderekubatanidza negore uye kumisa kuonana nemuchina chaiwo wawakagadzira, ipapo unogona kunakidzwa sezvaunoda.

Ichi ndicho chinyorwa changu chekutanga, saka usatonge nehasha, makomendi anogamuchirwa.

Source: www.habr.com

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva 🔥 Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster