ProHoster > Блог > Whakahaerenga > E ngana ana i nga taputapu hou mo te hanga me te whakaaunoa i te tukunga ki Kubernetes
E ngana ana i nga taputapu hou mo te hanga me te whakaaunoa i te tukunga ki Kubernetes
Kia ora! Ina tata nei, he maha nga taputapu miihini hauhautanga kua tukuna mo te hanga whakaahua Docker me te tuku ki Kubernetes. I runga i tenei kaupapa, i whakatau ahau ki te takaro ki a GitLab, kia ata ako i ona kaha, me te mea, me whakarite te paipa.
I whakaaweahia tenei mahi e te paetukutuku kubernetes.io, ka puta mai i waehere puna aunoa, a mo ia tono poka wai ka tukuna, ka whakaputa aunoatia e te karetao he putanga arokite o te pae me o huringa me te tuku hononga mo te tiro.
I ngana ahau ki te hanga i tetahi tukanga rite mai i te wahanga, engari i hangaia katoa i runga i te Gitlab CI me nga taputapu kore utu e whakamahia ana e au ki te tuku tono ki a Kubernetes. I tenei ra ka korero atu ahau ki a koe mo ratou.
Ka matapakihia e te tuhinga nga taputapu penei: Hugo, qbec, kaniko, git-crypt и GitLab CI me te hanganga o nga taiao hihiri.
Hei tauira mo ta matou kaupapa, ka ngana matou ki te hanga i tetahi waahi whakaputa tuhinga i hangaia ki Hugo. Ko Hugo he kaihanga ihirangi pateko.
Mo te hunga kaore i te mohio ki nga kaihanga pateko, ka korero atu ahau ki a koe mo etahi atu korero mo ratou. Kaore i rite ki nga miihini paetukutuku tikanga me te papaa raraunga me etahi PHP, ka tonohia e te kaiwhakamahi, ka whakaputa i nga wharangi i runga i te rere, he rereke te hoahoa o nga kaihanga pateko. Ka taea e koe te tango i nga punawai, he huinga konae kei roto i te tohu Markdown me nga tauira kaupapa, katahi ka whakahiato ki te paetukutuku kua oti katoa.
Arā, ko te hua, ka whiwhi koe i te hanganga whaiaronga me te huinga o nga konae HTML kua hangaia, ka taea e koe te tuku noa ki tetahi manaaki iti ka whiwhi paetukutuku mahi.
Ka taea e koe te whakauru a Hugo ki te rohe ka whakamatau:
Te timata i te pae hou:
hugo new site docs.example.org
A i te wa ano ko te putunga git:
cd docs.example.org
git init
I tenei wa, he maamaa tonu to maatau papaanga, a kia puta mai ai tetahi mea ki runga, me hono tatou i tetahi kaupapa; ko te kaupapa he huinga tauira me nga ture kua tohua e hangaia ai to maatau papaanga.
Mo te kaupapa ka whakamahia e matou ako, ki taku whakaaro, he mea tino pai mo te waahi tuhinga.
E hiahia ana ahau ki te aro nui ki te meka kaore e tika kia tiakina nga konae kaupapa i roto i ta maatau putunga kaupapa; engari, ka taea e taatau te hono atu ma te whakamahi git kōwaeroto:
Ma tenei ara, ka mau noa nga konae e pa ana ki ta maatau kaupapa, ko te kaupapa hono ka noho tonu hei hono ki tetahi putunga motuhake me te tuunga ki roto, ara, ka taea te kumea mai i te puna taketake me te kore e mataku. o nga huringa hotokore.
Me whakatika te whirihora config.toml:
baseURL = "http://docs.example.org/"
languageCode = "en-us"
title = "My Docs Site"
theme = "learn"
I tenei wa ka taea e koe te whakahaere:
hugo server
A i te wahitau http://localhost:1313/ tirohia to maatau paetukutuku hou i hangaia, nga huringa katoa i mahia i roto i te raarangi ka whakahou aunoa i te wharangi tuwhera i roto i te tirotiro, tino watea!
Me ngana ki te hanga i tetahi wharangi uhi ki roto ihirangi/_index.md:
# My docs site
## Welcome to the docs!
You will be very smart :-)
Whakaahuatanga o te wharangi katahi ano ka hangaia
Ki te hanga pae, rere noa:
hugo
Nga ihirangi whaiaronga tūmatanui/ a ka waiho to paetukutuku.
Ae, ma te ara, me whakauru tonu atu ki .giignore:
echo /public > .gitignore
Kaua e wareware ki te tuku i a maatau huringa:
git add .
git commit -m "New site created"
2. Te whakarite i te Dockerfile
Kua tae ki te wa ki te tautuhi i te hanganga o to maatau putunga. Ka whakamahia e au tetahi mea penei:
dockerfiles/ - kei roto nga raarangi me nga Dockerfiles me nga mea katoa e tika ana mo te hanga i o maatau whakaahua Docker.
horahia/ — kei roto nga raarangi mo te tuku i a maatau tono ki a Kubernetes
No reira, ka hangahia e maatau to Dockerfile tuatahi i te huarahi dockerfiles/paetukutuku/Dockerfiles
FROM alpine:3.11 as builder
ARG HUGO_VERSION=0.62.0
RUN wget -O- https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_linux-64bit.tar.gz | tar -xz -C /usr/local/bin
ADD . /src
RUN hugo -s /src
FROM alpine:3.11
RUN apk add --no-cache darkhttpd
COPY --from=builder /src/public /var/www
ENTRYPOINT [ "/usr/bin/darkhttpd" ]
CMD [ "/var/www" ]
Ka kite koe, e rua nga konae Dockerfile MEI, ka kiia tenei ahuatanga hanga maha-waahanga ka taea e koe te whakakore i nga mea katoa e kore e tika mai i te ahua Docker whakamutunga.
No reira, ko te ahua whakamutunga ka mau anake pourihttpd (tūmau HTTP mama) me tūmatanui/ — te ihirangi o ta maatau paetukutuku i hangaia.
Kaua e wareware ki te tuku i a maatau huringa:
git add dockerfiles/website
git commit -m "Add Dockerfile for website"
3. Te mohio ki te kaniko
Hei kaihanga whakaahua docker, i whakatau ahau ki te whakamahi kaniko, na te mea kaore e hiahiatia he daemon docker, ka taea te hanga i runga i tetahi miihini ka taea te penapena i te keteroki ki roto i te rehitatanga, na reira ka whakakorehia te hiahia kia mau tonu te rokiroki.
Hei hanga i te ahua, whakahaere noa i te ipu kaniko executor ka tukuna te horopaki hanga o naianei; ka taea hoki tenei ki te rohe, ma te docker:
Kei hea registry.gitlab.com/kvaps/docs.example.org/paetukutuku — te ingoa o to ahua docker; i muri i te hanga, ka tukuna aunoatia ki te rehita docker.
Taumahi --keteroki ka taea e koe te keteroki i nga paparanga kei roto i te rehita docker; mo te tauira kua homai, ka tiakina ki roto registry.gitlab.com/kvaps/docs.example.org/website/cache, engari ka taea e koe te tautuhi i tetahi atu ara ma te whakamahi i te tawhā --cache-repo.
Whakaahuatanga o te rehita docker
4. Te mohio ki qbec
Qbec he taputapu tukunga e taea ai e koe te whakamaarama i o whakaaturanga tono me te tuku ki a Kubernetes. Ma te whakamahi i a Jsonnet hei wetereo matua ka taea e koe te whakamaarama i te whakaahuatanga o nga rereketanga puta noa i nga taiao maha, me te tino whakakore i te tukurua waehere.
Ka tino pono tenei ki nga keehi ka hiahia koe ki te tuku tono ki nga tautau maha me nga tawhā rereke me te hiahia ki te whakaahua i a raatau ki a Git.
Ka taea hoki e Qbec te tuku i nga tūtohi Helm ma te tuku i nga tawhā e tika ana, katahi ka whakahaere i a raatau kia rite ki nga whakaaturanga o ia ra, tae atu ki a koe ka taea e koe te whakamahi i nga rereke rereke ki a raatau, na tenei, ka taea e koe te whakakore i te hiahia whakamahi ChartMuseum. Arā, ka taea e koe te penapena me te whakaputa tūtohi mai i te git, kei hea.
Ka rite ki taku korero i mua, ka penapenahia e matou nga waahanga katoa ki roto i te raarangi horahia/:
I konei ka aro nui tatou spec.taiao, kua hanga kē e qbec he taiao taunoa mo tatou, ka tango i te wahitau tūmau, me te mokowāingoa mai i tā mātou kubeconfig o nāianei.
Inaianei ka tukuna ki Taunoa taiao, ka toha tonu a qbec ki te kahui Kubernetes kua tohua me te mokowāingoa kua tohua, ara, karekau koe e huri i waenga i nga horopaki me nga mokowāingoa kia taea ai te tuku.
Mena e tika ana, ka taea e koe te whakahou i nga tautuhinga i tenei konae.
Kei te whakaahuahia o taiao katoa qbec.yaml, me te konae params.libsonnet, kei reira e kii ana kei hea te tiki i nga tawhā mo ratou.
I muri ka kite tatou e rua nga whaiaronga:
wāhanga/ - Ko nga whakaaturanga katoa mo ta maatau tono ka rongoa ki konei; ka taea te whakaahua i roto i nga konae jsonnet me nga konae yaml
taiao/ — i konei ka whakaahuahia nga taurangi katoa (tawhā) mo o tatou taiao.
Ma te taunoa e rua nga konae:
environments/base.libsonnet - ka mau i nga tawhā noa mo nga taiao katoa
environments/default.libsonnet — kei roto nga tawhā kua whakakorehia mo te taiao Taunoa
kia tuwhera environments/base.libsonnet me te taapiri i nga taapiri mo ta maatau waahanga tuatahi ki reira:
I roto i tenei kōnae i whakaahuatia e matou nga hinonga Kubernetes e toru i te wa kotahi, ko enei: whakamahinga, ratonga и Ingoa. Mena e hiahia ana matou, ka taea e matou te whakauru ki roto i nga waahanga rereke, engari i tenei waahanga ka ranea tetahi ma matou.
wetereo jsonnet he tino rite ki te json auau, i roto i te maapono, ko te jsonnet noa te jsonnet, na i te tuatahi ka ngawari ake ki a koe te whakamahi i nga ratonga ipurangi penei yaml2json ki te huri i to yaml o mua ki te json, mena karekau he taurangi o o wahanga, katahi ka taea te whakaahua ki te ahua o te yaml auau.
Ka mahi ana jsonnet Ka tino tūtohu ahau ki te whakauru i tetahi mono mo to kaiwhakatika
Hei tauira, he mono mo te vim vim-jsonnet, ka whakakao te wetereo miramira me te mahi aunoa jsonnet fmt i nga wa katoa ka penapena koe (me whakauru jsonnet).
Kua rite nga mea katoa, inaianei ka taea e taatau te whakamahi:
Hei kite i nga mea i riro mai, me oma tatou:
qbec show default
I te putanga, ka kite koe i nga whakaaturanga yaml kua tukuna ka tukuna ki te tautau taunoa.
Pai, tono inaianei:
qbec apply default
I te putanga ka kite tonu koe he aha nga mahi i roto i to roopu, ka tono a qbec kia whakaae koe ki nga huringa ma te pato y ka taea e koe te whakau i o whakaaro.
Kua rite ta maatau tono ka tukuna!
Mena ka huri koe, ka taea e koe te mahi i nga wa katoa:
qbec diff default
kia kite me pehea e pa ai enei huringa ki te tukunga o naianei
Kaua e wareware ki te tuku i a maatau huringa:
cd ../..
git add deploy/website
git commit -m "Add deploy for website"
5. E ngana ana ki a Gitlab-runner me Kubernetes-executor
Tae noa ki tata nei ka whakamahia noa e au gitlab-runner i runga i te miihini kua oti te whakarite (putea LXC) me te anga, te kai-whakahaere ranei. I te timatanga, he maha nga momo kaiwhai i te ao kua tautuhia i roto i ta maatau gitlab. I kohia e ratou nga whakaahua docker mo nga kaupapa katoa.
Engari kia rite ki nga mahi kua whakaatuhia, ehara tenei waahanga i te mea tino pai, mo te whaihua me te haumaru. He pai ake, he tika ake te whakaaro ki te whakatakoto i nga kaiwhaiwhai motuhake mo ia kaupapa, mo ia taiao ranei.
Waimarie, ehara tenei i te raru, na te mea ka tukuna e matou gitlab-runner tika hei waahanga o ta maatau kaupapa i Kubernetes.
Ka whakarato a Gitlab i te tūtohi urungi kua rite mo te tuku gitlab-runner ki Kubernetes. Na ko nga mea katoa e hiahia ana koe ki te rapu tohu rēhita mo ta matou kaupapa i roto Tautuhinga -> CI / CD -> Kaiwhaiwhai ka tuku ki te urungi.
rbac.create=pono — ka whakawhiwhia ki te kaikawe te nui o nga painga kia taea ai e ia te hanga poti hei mahi i a maatau mahi ma te whakamahi i te kubernetes-executor.
Mena kua tika nga mea katoa, me kite koe i tetahi kaiwhai kua rehitatia i te waahanga Tuhinga, i o tautuhinga kaupapa.
Whakaahuamata o te kaiwhaiwhai taapiri
He ngawari noa iho? - Ae, he ngawari noa! Kare he raruraru ki te rehita-a-ringa i nga kaiwhaiwhai, mai i tenei wa ka hangaia nga kaihoroi ka whakangaromia aunoatia.
6. Hoatu nga tūtohi Helm me QBEC
I te mea kua whakatau matou ki te whakaaro gitlab-runner he waahanga o ta maatau kaupapa, kua tae ki te waa ki te whakaahua i roto i ta maatau putunga putunga Git.
Ka taea e taatau te whakaahua he waahanga motuhake paetukutuku, engari i te wa kei te heke mai ka whakamahere matou ki te tuku kape rereke paetukutuku tino maha, rereke gitlab-runner, ka tukuna kia kotahi anake mo ia huinga Kubernetes. Na kia arawhitia he tono motuhake mo taua mea:
cd deploy
qbec init gitlab-runner
cd gitlab-runner
I tenei wa kaore matou e whakaahua a-ringa i nga hinonga Kubernetes, engari ka tangohia he tūtohi Helm kua rite. Ko tetahi o nga painga o te qbec ko te kaha ki te whakaputa tika i nga tūtohi Helm mai i te putunga Git.
Engari ko te penapena mea ngaro i roto i te Git kaore i te haumaru, he? Na me whakamuna tika tatou.
I te nuinga o te wa, mo te whakaaro o te taurangi kotahi, kaore tenei e whai tikanga i nga wa katoa. Ka taea e koe te whakawhiti mea ngaro ki qbec me nga huringa taiao o to punaha CI.
Engari me mahara he maha atu ano nga kaupapa uaua ka nui atu nga mea ngaro; ko te whakawhiti i a raatau katoa ma nga taurangi taiao ka tino uaua.
I tua atu, i tenei keehi kaore e taea e au te korero ki a koe mo tetahi taputapu whakamiharo penei git-crypt.
git-crypt He watea ano hoki na te mea ka taea e koe te penapena i nga hitori katoa o nga mea ngaro, me te whakataurite, te hanumi me te whakatau i nga tautohetohe kia rite ki ta maatau e mahi i roto i te keehi o Git.
Ko te mea tuatahi i muri i te whakaurunga git-crypt me whakaputa e tatou nga taviri mo ta tatou putunga:
git crypt init
Mena he taviri PGP koe, katahi ka taea e koe te taapiri i a koe ano hei hoa mahi mo tenei kaupapa:
Ma tenei ka taea e koe te wetewete i tenei putunga ma te whakamahi i to kii motuhake.
Mena karekau he taviri PGP kaore koe e tumanako, katahi ka taea e koe te haere ki tetahi atu huarahi ka kaweake i te kii kaupapa:
git crypt export-key /path/to/keyfile
No reira, ko te tangata kua kaweake kōnae matua ka taea ki te wetemuna i to putunga.
Kua tae ki te wa ki te whakarite i ta tatou mea ngaro tuatahi.
Kia maumahara ahau kei roto tonu tatou i te raarangi tohatoha/gitlab-runner/, kei a matou he whaiaronga mea ngaro/, kia whakamunatia nga konae katoa kei roto, mo tenei ka hanga he konae mea ngaro/.gitattributes me nga ihirangi e whai ake nei:
Ka kitea mai i te ihirangi, he huna nga konae katoa * ka peia atu git-crypt, haunga te nuinga .gitattributes
Ka taea e tatou te tirotiro i tenei ma te whakahaere:
git crypt status -e
Ko te putanga he rarangi o nga konae katoa kei roto i te putunga e taea ai te whakamunatanga
Heoi ano, inaianei ka taea e taatau te whakarite i a maatau huringa:
cd ../..
git add .
git commit -m "Add deploy for gitlab-runner"
Hei aukati i tetahi putunga, whakahaere noa:
git crypt lock
a ka huri nga konae whakamuna katoa hei mea-rua, kare e taea te panui.
Hei wetewete i te putunga, whakahaere:
git crypt unlock
8. Waihangahia he whakaahua pouaka taputapu
Ko te ahua pouaka taputapu he ahua me nga taputapu katoa ka whakamahia e matou ki te tuku i to maatau kaupapa. Ka whakamahia e te Kaiwhaiwhai Gitlab ki te mahi i nga mahi tuku noa.
He ngawari nga mea katoa i konei, me hanga he mea hou dockerfiles/toolbox/Dockerfiles me nga ihirangi e whai ake nei:
FROM alpine:3.11
RUN apk add --no-cache git git-crypt
RUN QBEC_VER=0.10.3
&& wget -O- https://github.com/splunk/qbec/releases/download/v${QBEC_VER}/qbec-linux-amd64.tar.gz
| tar -C /tmp -xzf -
&& mv /tmp/qbec /tmp/jsonnet-qbec /usr/local/bin/
RUN KUBECTL_VER=1.17.0
&& wget -O /usr/local/bin/kubectl
https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VER}/bin/linux/amd64/kubectl
&& chmod +x /usr/local/bin/kubectl
RUN HELM_VER=3.0.2
&& wget -O- https://get.helm.sh/helm-v${HELM_VER}-linux-amd64.tar.gz
| tar -C /tmp -zxf -
&& mv /tmp/linux-amd64/helm /usr/local/bin/helm
Ka taea e koe te kite, i tenei ahua ka whakauruhia e matou nga taputapu katoa i whakamahia e matou ki te tuku i ta maatau tono. Kaore matou e hiahia ana ki konei engari mena kubectl, engari ka hiahia pea koe ki te takaro i a koe i roto i te wahanga tatūnga paipa.
Ano hoki, kia taea ai te korero ki a Kubernetes me te tuku atu ki a ia, me whirihora he mahi mo nga pods i hangaia e gitlab-runner.
Ki te mahi i tenei, me haere ki te raarangi me te gitlab-runner:
cd deploy/gitlab-runner
me te taapiri i tetahi waahanga hou wāhanga/rbac.jsonnet:
Ki taku whakaaro ka taea e taatau te karanga he putanga tenei v0.0.1 me te taapiri i te tohu:
git tag v0.0.1
Ka taapirihia e matou nga tohu i nga wa e hiahia ana matou ki te tuku i tetahi putanga hou. Ko nga tohu kei roto i nga whakaahua Docker ka herea ki nga tohu Git. Ko ia pana me te tohu hou ka arawhiti i te hanga whakaahua me tenei tohu.
Kia mahia e tatou git pana --tags, a ka titiro tatou ki to tatou paipa tuatahi:
Whakaahuamata o te paipa tuatahi
He pai ki te aro ki te meka ko te huihuinga ma nga tohu he pai mo te hanga whakaahua docker, engari kaore e pai mo te tuku tono ki a Kubernetes. I te mea ka taea te tautapa nga tohu hou ki nga mahi tawhito, i tenei keehi, ko te tiimata i te paipa mo ratou ka arahi ki te tuku i te putanga tawhito.
Hei whakaoti i tenei raru, ko te tikanga ka herea te hanga o nga whakaahua docker ki nga tohu, me te tuku tono ki tetahi peka. ariki, kei roto nei nga momo ahua o nga whakaahua kua kohia e whakamarohia ana. Koinei te waahi ka taea e koe te arawhiti i te hokinga mai me te whakahoki ngawari ariki-manga.
10. Aunoatanga o te horahanga
Kia taea ai e Gitlab-runner te wetewete i a tatou mea ngaro, me kawe e tatou te kii putunga me te taapiri atu ki o taatau huringa taiao CI:
I konei kua whakahohea e matou etahi whiringa hou mo qbec:
--pakiaka etahi/taupānga — ka taea e koe te whakatau i te raarangi o tetahi tono motuhake
--kaha:k8s-horopaki __incluster__ - he taurangi makutu tenei e kii ana ka puta te tukunga ki roto i te roopu kotahi e rere ana a gtilab-runner. Me tika tenei na te mea ka ngana a qbec ki te kimi i tetahi tūmau Kubernetes e tika ana i to kubeconfig
--tatari — ka akiaki i a qbec kia tatari kia uru atu nga rauemi ka hangaia ki te ahua Riri katahi ka puta me te tohu-whakaputa angitu.
—ae - ka mono noa i te anga tauwhitiwhiti Ka rohi? ina horahia.
A muri iho git ka kite tatou me pehea te tohatoha o a maatau tono:
Whakaahuamata o te paipa tuarua
11. Taonga me te huihui i te wa e pana ana ki te rangatira
Ko te tikanga, he ranea nga hikoi e whakaahuatia ana i runga ake nei hei hanga me te tuku tata mo nga ratonga moroiti katoa, engari kaore matou e hiahia ki te taapiri tohu i nga wa katoa e hiahia ana matou ki te whakahou i te waahi. Na reira, ka kaha ake taatau ki te whai i te huarahi hihiri me te whakarite i te tukunga kemu ki te peka matua.
He ngawari te whakaaro: inaianei ko te ahua o to maatau paetukutuku ka hanga ano i nga wa katoa ka pana koe ki roto ariki, ka toha aunoa ki nga Kubernetes.
Kia whakahouhia enei mahi e rua i roto i to maatau .gitlab-ci.yml:
Kia mahara kua taapirihia e matou he miro ariki к Tuhinga mo nga mahi hanga_paetukutuku a ka whakamahia e matou inaianei $CI_COMMIT_REF_NAME Tuhinga o mua $CI_COMMIT_TAG, ara, kua wetewetehia tatou i nga tohu i roto i te Git katahi ka panaia he ahua me te ingoa o te manga commit i arawhiti i te paipa. He mea tika kia mohiohia ka mahi ano tenei me nga tohu, ka taea e maatau te tiaki i nga whakaahua o te waahi me tetahi waahanga motuhake i roto i te rehita-docker.
Ka taea te whakarereke i te ingoa o te tohu docker mo tetahi putanga hou o te papanga, me whakaatu tonu e matou nga huringa ki a Kubernetes, mena ka kore e tukuna ano te tono mai i te ahua hou, na te mea karekau e kite i nga huringa o te whakaaturanga tukunga.
Kōwhiringa —vm:ext-str digest=”$DIGEST” mo qbec - ka taea e koe te tuku i tetahi taurangi o waho ki te jsonnet. Kei te pirangi matou kia tukuna ano i roto i te roopu me ia tukunga o ta maatau tono. Kaore e taea e taatau te whakamahi i te ingoa tohu, kaore e taea te whakarereke, na te mea me herea tatou ki tetahi waahanga motuhake o te ahua me te whakaoho i te tohatoha ina huri ana.
I konei ka awhinatia tatou e te kaha o Kaniko ki te tiaki i tetahi ahua kemu ki tetahi konae (kowhiringa --digest-kōnae)
Na ka whakawhitia e matou tenei konae ka panuihia i te wa e tukuna ana.
Kia whakahouhia nga tawhā mo to maatau deploy/website/environments/base.libsonnet ka penei te ahua inaianei:
Kua oti, inaianei ka uru mai ariki ka arawhiti i te hanga o te ahua docker mo paetukutuku, ka toha ki Kubernetes.
Kaua e wareware ki te tuku i a maatau huringa:
git add .
git commit -m "Configure dynamic build"
Ka tirohia e matou a muri ake nei git me kite tatou i tetahi mea penei:
Whakaahuamata o te paipa mo te rangatira
Ko te tikanga, kaore matou e hiahia ki te whakahou i te gitlab-runner me ia pana, mena, kaore he mea i rereke i tana whirihoranga, me whakatika i roto .gitlab-ci.yml:
Kua tae ki te wa ki te whakarereke i a maatau paipa me nga taiao hihiri.
Tuatahi, kia whakahouhia te mahi hanga_paetukutuku i roto i to tatou .gitlab-ci.yml, te tango i te poraka mai i a ia anake, ka kaha a Gitlab ki te whakaoho i runga i nga mahi ki tetahi peka:
Ka whakarewahia i runga i te pana ki etahi peka engari ko te rangatira ka tukuna te putanga arokite o te pae.
Ka kite matou i tetahi whiringa hou mo qbec: --taupānga-tag — ka taea e koe te tohu i nga putanga kua tukuna o te tono me te mahi i roto i tenei tohu anake; ina hanga me te whakangaro rauemi i Kubernetes, ka mahi a qbec me ratou anake.
Ma tenei ara e kore e taea e matou te hanga i tetahi taiao motuhake mo ia arotake, engari me whakamahi ano i te mea kotahi.
I konei ka whakamahia ano e matou qbec tono arotake, hei utu mo qbec tono taunoa - koinei tonu te wa ka ngana tatou ki te whakaahua i nga rereketanga mo o tatou taiao (arotake me te taunoa):
Me tapiri atu arotake taiao i roto deploy/website/qbec.yaml
Katahi ka whakapuakina e matou deploy/website/params.libsonnet:
local env = std.extVar('qbec.io/env');
local paramsMap = {
_: import './environments/base.libsonnet',
default: import './environments/default.libsonnet',
review: import './environments/review.libsonnet',
};
if std.objectHas(paramsMap, env) then paramsMap[env] else error 'environment ' + env + ' not defined in ' + std.thisFile
A tuhia nga tawhā ritenga mo taua mea ki roto deploy/website/environments/review.libsonnet:
// this file has the param overrides for the default environment
local base = import './base.libsonnet';
local slug = std.extVar('qbec.io/tag');
local subdomain = std.extVar('subdomain');
base {
components+: {
website+: {
name: 'example-docs-' + slug,
domain: subdomain + '.docs.example.org',
},
},
}
Kia ata titiro ano tatou ki te jobu mutu_arotake, ka puta i te wa ka mukua te peka kia kore ai a gitlab e ngana ki te tirotiro ka whakamahia GIT_STRATEGY: kore, i muri mai ka kii tatou ariki- manga me te whakakore i te arotake ma roto.
He iti te rangirua, engari kaore ano kia kitea e au tetahi huarahi tino ataahua.
Ko tetahi atu whiringa ko te tuku i ia arotake ki tetahi mokowā ingoa hotera, ka taea te whakakore katoa.
Kei te mahi nga mea katoa? - pai, whakakorea ta maatau peka whakamatautau: te kaiwhakahaere o te kaitirotiro, git pana takenga mai :test, ka tirohia e matou i mahi nga mahi whakakore taiao me te kore he.
I konei ka hiahia ahau ki te whakamarama tonu ka taea e tetahi kaiwhakawhanake i roto i tetahi kaupapa te hanga manga, ka taea ano e ia te whakarereke .gitlab-ci.yml kōnae me te uru ki nga taurangi ngaro.
Na reira, e tino tūtohutia ana kia whakamahia anake mo nga manga kua tiakina, hei tauira i roto ariki, ka hangaia he huinga taurangi motuhake mo ia taiao.
13. Arotake Apps
Arotake Taupānga He ahuatanga GitLab tenei ka taea e koe te taapiri i tetahi paatene mo ia konae kei roto i te putunga kia tere te tiro ki roto i te taiao kua tohatohahia.
Kia puta mai enei patene, me hanga e koe he konae .gitlab/route-map.yml me te whakaahua i nga huringa ara katoa kei roto; i roto i a maatau ka tino ngawari: