Talofa uma. O le asō matou te faʻasoa atu ia te oe le vaega mulimuli o le tusiga.
Su'ega fa'atino
O lenei faiga o su'ega ose auala mamana ma mafai ai ona matou faia su'ega pusa pa'epa'e e fa'ata'ita'i ai galuega fa'alotoifale o la matou tulafono fa'apitoa. Ae ui i lea, e faʻatapulaʻaina mea e mafai ona tatou suʻeina. O faʻataʻitaʻiga e faia e faʻavae i luga o le fuafuaga faʻapipiʻiina i totonu o le mafaufau na faia e Pulumi aʻo leʻi faʻapipiʻiina moni ma o le mea lea e le mafai ona faʻataʻitaʻiina le faʻapipiʻiina lava ia. Mo ia tulaga, o Pulumi o loʻo i ai se faʻavae suʻega tuʻufaʻatasia. Ma o nei auala e lua e galulue faʻatasi!
O lo'o tusia le fa'asologa o su'ega tu'ufa'atasi a le Pulumi i le Go, o le auala lea e fa'ata'ita'i ai le tele o la tatou tulafono fa'alotoifale. E ui o le faʻataʻitaʻiga faʻataʻitaʻiga muamua na faʻatalanoaina e pei o suʻega pusa paʻepaʻe, o suʻega tuʻufaʻatasia o se pusa uliuli. (O loʻo iai foʻi filifiliga mo suʻega faʻapitoa i totonu.) O lenei faʻavae na faia e ave ai se Polokalama Pulumi atoatoa ma faʻatino gaioiga eseese o le olaga i luga, e pei o le faʻapipiʻiina o se faaputuga fou mai le maoaʻe, faʻafouina i suiga, ma tapeina, atonu e tele taimi. . Matou te taʻavale i taimi uma (mo se faʻataʻitaʻiga, i le po) ma faʻataʻitaʻiga faʻamalosi.
(Matou
E ala i le faʻaogaina o le polokalame e faʻaaoga ai lenei faʻavae e mafai ona e siakiina mea nei:
- O lau fa'ailoga o le poloketi e sa'o fa'atasi ma fa'agasolo e aunoa ma ni mea sese.
- O le fa'aputuga ma mealilo fa'atulagaina fa'atulagaina e galue ma fa'amatala sa'o.
- O lau poloketi e mafai ona faʻapipiʻiina ma le manuia i le cloud provider o lau filifiliga.
- O lau poloketi e mafai ona faʻaleleia lelei mai le tulaga muamua ile N isi setete.
- O lau poloketi e mafai ona faʻaumatia lelei ma aveese mai lau 'auʻaunaga ao.
E pei ona o le a tatou vaʻai i se taimi lata mai, e mafai foi ona faʻaogaina lenei faʻavae e faʻatino ai le faʻamaoniaina o taimi.
Su'ega fa'atasi faigofie
Ina ia vaʻai i lenei gaioiga, o le a tatou vaʻavaʻai i le fale teu oloa pulumi/examples
, a'o fa'aaogaina e le matou 'au ma le afio'aga o Pulumi e fa'ata'ita'i ai a matou lava toso talosaga, ta'utinoga, ma faufale i po.
O lo'o i lalo se su'ega fa'afaigofie o la matou
example_test.go:
package test
import (
"os"
"path"
"testing"
"github.com/pulumi/pulumi/pkg/testing/integration"
)
func TestExamples(t *testing.T) {
awsRegion := os.Getenv("AWS_REGION")
if awsRegion == "" {
awsRegion = "us-west-1"
}
cwd, _ := os.Getwd()
integration.ProgramTest(t, &integration.ProgramTestOptions{
Quick: true,
SkipRefresh: true,
Dir: path.Join(cwd, "..", "..", "aws-js-s3-folder"),
Config: map[string]string{
"aws:region": awsRegion,
},
})
}
O lenei su'ega e alu i le fa'asologa o le olaga o le fatuina, suia, ma le fa'aleagaina o se faaputuga mo se faila aws-js-s3-folder
. E tusa ma le minute e lipoti ai se su'ega ua pasi:
$ go test .
PASS
ok ... 43.993s
E tele filifiliga e fa'avasega ai le amio o nei su'ega. Va'ai le lisi atoa o filifiliga. ProgramTestOptions
. Mo se faʻataʻitaʻiga, e mafai ona e faʻatulagaina Jaeger endpoint e suʻe (Tracing
), fa'ailoa mai e te fa'amoemoe e le manuia le su'ega pe a le lelei le su'ega (ExpectFailure
), fa'aoga se fa'asologa o "fa'atonu" i le polokalame mo se suiga fa'asolosolo o setete (EditDirs
) ma le tele o isi mea. Se'i o tatou va'ai pe fa'apefea ona fa'aogaina e fa'ata'ita'i ai lau fa'ata'ita'iga.
Su'eina o meatotino
O le tuʻufaʻatasia o loʻo talanoaina i luga e faʻamautinoa ai e "galue" a tatou polokalame-e le paʻu. Ae faʻafefea pe a tatou mananao e siaki meatotino o le faʻaputuga e maua? Mo se faʻataʻitaʻiga, o nisi ituaiga o punaoa ua (pe leai) na tuʻuina atu ma e iai a latou uiga.
Parakalafa ExtraRuntimeValidation
mo ProgramTestOptions
e mafai ai ona matou vaʻavaʻai i le tulaga faʻapipiʻiina na faʻamauina e Pulumi ina ia mafai ona matou faia ni siaki faʻaopoopo. E aofia ai se ata atoa o le tulaga o le fa'aputuga o lo'o maua, e aofia ai le fa'atulagaina, fa'atauga o mea e auina atu i fafo, punaoa uma ma latou tau meatotino, ma fa'alagolago uma i le va o punaoa.
Ina ia vaʻai i se faʻataʻitaʻiga autu o lenei mea, seʻi o tatou siaki pe na fatuina e le matou polokalama se tasi S3 pakete:
integration.ProgramTest(t, &integration.ProgramTestOptions{
// as before...
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
var foundBuckets int
for _, res := range stack.Deployment.Resources {
if res.Type == "aws:s3/bucket:Bucket" {
foundBuckets++
}
}
assert.Equal(t, 1, foundBuckets, "Expected to find a single AWS S3 Bucket")
},
})
I le taimi nei, pe a tatou tamoe i le suʻega, e le gata o le a alu i se maa o suʻega o le olaga, ae faʻapea foi, pe a maeʻa ona faʻapipiʻiina le faʻaputuga, o le a faia se siaki faʻaopoopo i le tulaga e maua ai.
Su'ega taimi ta'avale
E o'o mai i le taimi nei, o su'ega uma e fa'atatau i le fa'atinoina o amioga ma le fa'ata'ita'iga a le Pulumi. Ae fa'afefea pe afai e te mana'o e fa'amaonia o au atina'e ua tu'uina atu e aoga moni? Mo se faʻataʻitaʻiga, o loʻo tamoe le masini komepiuta, o le pakete S3 o loʻo i ai mea tatou te faʻamoemoeina, ma isi.
Atonu ua uma ona e mateina pe faapefea ona fai lenei mea: filifiliga ExtraRuntimeValidation
mo ProgramTestOptions
- o se avanoa sili lenei mo lenei. I le taimi nei, e te fa'atinoina se su'ega aganu'u a Go ma le avanoa i le tulaga atoa o punaoa a lau polokalama. O lenei setete e aofia ai faʻamatalaga e pei o tuatusi IP masini komepiuta, URL, ma mea uma e manaʻomia e fegalegaleai moni ai ma mea e maua mai ai le ao ma atinaʻe.
Mo se faʻataʻitaʻiga, o la matou suʻega polokalame e auina atu i fafo le meatotino webEndpoint
pakete ua valaau websiteUrl
, o le URL atoa lea e mafai ona tatou maua ai le configured index document
. E ui lava e mafai ona matou eli i totonu o le setete faila e suʻe bucket
ma faitau saʻo lena meatotino, ae i le tele o tulaga o tatou faaputuga e auina atu i fafo mea aoga e pei o lenei e faigofie ona faʻaoga mo le siakiina:
integration.ProgramTest(t, &integration.ProgramTestOptions{
// as before ...
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
url := "http://" + stack.Outputs["websiteUrl"].(string)
resp, err := http.Get(url)
if !assert.NoError(t, err) {
return
}
if !assert.Equal(t, 200, resp.StatusCode) {
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if !assert.NoError(t, err) {
return
}
assert.Contains(t, string(body), "Hello, Pulumi!")
},
})
E pei o a matou siaki taimi muamua, o lenei siaki o le a faia i le taimi lava e uma ai le siiina o le faaputuga, o mea uma e tali atu i se telefoni faigofie go test
. Ma e na'o le pito lena o le aisa—o vaega uma o le suega Go e mafai ona e tusia i le code o lo'o avanoa.
Fa'aauauina Atina'e Fa'atasi
E lelei le mafai ona fa'atino su'ega i luga o le komepiuta pe a tele suiga tetele o lo'o faia e fa'ata'ita'i ai a'o le'i tu'uina atu mo le iloiloga o tulafono. Ae o matou ma le tele o matou tagata faʻatau e faʻataʻitaʻiina atinaʻe i laʻasaga eseese o le taamilosaga o le olaga atinaʻe:
- I so'o se talosaga toso tatala mo su'ega a'o le'i tu'ufa'atasia.
- I le tali atu i ta'utinoga ta'itasi, ia toe siaki pe sa'o sa'o le tu'ufa'atasiga.
- Mai lea taimi i lea taimi, e pei o le po poʻo le vaiaso mo suʻega faaopoopo.
- O se vaega o le fa'atinoga po'o le su'ega fa'amamafa, lea e masani ona alu i se vaitaimi umi ma fa'ata'ita'i fa'ata'ita'i fa'atasi ma/po'o fa'agasolo le polokalame tutusa i le tele o taimi.
Mo nei mea taʻitasi, e lagolagoina e Pulumi le tuʻufaʻatasia ma lau polokalama faʻaauau faifai pea. Faatasi ai ma le faʻaauauina faʻatasi, e tuʻuina atu ia te oe le suʻega tutusa mo au atinaʻe e pei o lau polokalama faʻaoga.
Pulumi ei ai le lagolago mo faiga masani CI. O nisi nei o latou:
Mo nisi fa'amatalaga au'ili'ili, fa'amolemole va'ai ile pepa mo
Siosiomaga Epemeral
O se avanoa sili ona mamana e tatalaina o le mafai lea ona faʻapipiʻi siosiomaga ephemeral mo naʻo le taliaina o faʻamoemoega o suʻega. Manatu
Afai e te faʻaogaina GitHub, ona ofo atu lea e Pulumi
A e fa'aogaina le Pulumi mo au su'ega autu o le taliaina, o le a e mauaina ni tomai fa'aautomatika fou e fa'aleleia atili ai le gaosiga o le 'au ma tu'uina atu ia te oe le mautinoa i le lelei o au suiga.
Le iʻuga
I totonu o lenei tusiga, ua matou vaʻaia e ala i le faʻaaogaina o gagana faʻapolokalame faʻamoemoe lautele, o le tele o polokalame faʻapipiʻi polokalame e avanoa mo i matou na aoga i le atinaʻeina oa matou talosaga. E aofia ai su'ega iunite, su'ega tu'ufa'atasia, ma pe fa'afefea ona latou galulue fa'atasi e fa'atino su'ega ta'aloga tele. O su'ega e faigofie ona fa'atino pe a mana'omia pe i lau CI system.
Pulumi - polokalama tatala punaoa, saoloto e faʻaoga ma galue ma au polokalame polokalame e sili ona e fiafia i ai ma ao -
→
puna: www.habr.com