
HashiCorp కొత్త ప్రాజెక్ట్ను చూపించింది న . ఇది Kubernetes నుండి AWS నుండి Google క్లౌడ్ రన్ వరకు వివిధ క్లౌడ్ ప్లాట్ఫారమ్ల కోసం అప్లికేషన్ల బిల్డ్, డెలివరీ మరియు విడుదలను వివరించడానికి HCL-ఆధారిత ఫైల్ను ఉపయోగిస్తుంది. మీ అప్లికేషన్లను నిర్మించడం, షిప్పింగ్ చేయడం మరియు విడుదల చేయడం వంటి ప్రక్రియలను వివరించడానికి మీరు వేపాయింట్ని టెర్రాఫార్మ్ మరియు వాగ్రాంట్గా భావించవచ్చు.
నిజమే, HashiCorp వేపాయింట్ను ఓపెన్ సోర్స్గా విడుదల చేసింది మరియు అనేక ఉదాహరణలతో వస్తుంది. ఆర్కెస్ట్రేటర్ లేయర్ మీ ఇష్టం, వేపాయింట్ అనేది మీరు నేరుగా మీ ల్యాప్టాప్లో లేదా మీ ఎంపిక CI/CD ఆర్కెస్ట్రేషన్ సాధనం నుండి అమలు చేయగల ఎక్జిక్యూటబుల్గా వస్తుంది. వేపాయింట్ Kubernetes, Docker, Google Cloud Run, AWS ECS మరియు మరిన్నింటికి మద్దతు ఇస్తుంది కాబట్టి మీ అప్లికేషన్లను అమలు చేసే లక్ష్యం కూడా మీ ఇష్టం.
అద్భుతం చదివిన తర్వాత మరియు అత్యంత విలాసవంతమైన HashiCorp అందించిన అప్లికేషన్లు, మేము GitLab CI/CDని ఉపయోగించి వేపాయింట్ ఆర్కెస్ట్రేషన్ను నిశితంగా పరిశీలించాలని నిర్ణయించుకున్నాము. దీన్ని చేయడానికి, మేము ఉదాహరణల రిపోజిటరీ నుండి AWS ECSలో నడుస్తున్న సాధారణ Node.js అప్లికేషన్ని తీసుకుంటాము.
రిపోజిటరీని క్లోనింగ్ చేసిన తర్వాత, ఒక పేజీని ప్రదర్శించే అప్లికేషన్ యొక్క నిర్మాణాన్ని చూద్దాం:

మీరు గమనించినట్లుగా, ఈ ప్రాజెక్ట్లో డాకర్ఫైల్ లేదు. అవి ఉదాహరణలో జోడించబడలేదు, ఎందుకంటే సూత్రప్రాయంగా మనకు అవి అవసరం లేదు, ఎందుకంటే వేపాయింట్ మన కోసం వాటిని జాగ్రత్తగా చూసుకుంటుంది. ఫైల్ని నిశితంగా పరిశీలిద్దాం waypoint.hclఅది ఏమి చేస్తుందో అర్థం చేసుకోవడానికి:
project = "example-nodejs"
app "example-nodejs" {
labels = {
"service" = "example-nodejs",
"env" = "dev"
}
build {
use "pack" {}
registry {
use "aws-ecr" {
region = "us-east-1"
repository = "waypoint-gitlab"
tag = "latest"
}
}
}
deploy {
use "aws-ecs" {
region = "us-east-1"
memory = "512"
}
}
}నిర్మాణ దశలో, వేపాయింట్ క్లౌడ్ స్థానిక బిల్డ్ప్యాక్లను ఉపయోగిస్తుంది () ప్రాజెక్ట్ యొక్క ప్రోగ్రామింగ్ లాంగ్వేజ్ని గుర్తించడానికి మరియు డాకర్ఫైల్ని ఉపయోగించకుండా డాకర్ ఇమేజ్ని రూపొందించడానికి. సూత్రప్రాయంగా, ఇది GitLab పాక్షికంగా ఉపయోగించే అదే సాంకేతికత ఆటో బిల్డ్ దశలో. CNCF యొక్క CNB పరిశ్రమ వినియోగదారులలో మరింత దత్తత పొందడం చూడటం మంచిది.
చిత్రాన్ని రూపొందించిన తర్వాత, వేపాయింట్ దానిని స్వయంచాలకంగా మా AWS ECR రిజిస్ట్రీకి అప్లోడ్ చేస్తుంది కాబట్టి ఇది డెలివరీకి సిద్ధంగా ఉంటుంది. బిల్డ్ పూర్తయిన తర్వాత, డెలివరీ దశ ఉపయోగిస్తుంది మా AWS ఖాతాకు మా అప్లికేషన్ను అమలు చేయడానికి.
నా ల్యాప్టాప్ నుండి - ప్రతిదీ చాలా సులభం. నేను నా AWS ఖాతాలో ఇప్పటికే ప్రమాణీకరించబడిన వే పాయింట్ని ఉంచాను మరియు అది "కేవలం పని చేస్తుంది". కానీ నేను నా ల్యాప్టాప్ను దాటి వెళ్లాలనుకుంటే ఏమి జరుగుతుంది? లేదా నా మొత్తం CI/CD పైప్లైన్లో భాగంగా నేను అకస్మాత్తుగా ఈ డిప్లాయ్మెంట్ను ఆటోమేట్ చేయాలనుకుంటున్నాను, ఇక్కడ నా కొనసాగుతున్న ఇంటిగ్రేషన్ పరీక్షలు, భద్రతా పరీక్షలు మరియు ఇతరాలు అమలు చేయబడుతున్నాయా? ఇది GitLab CI/CD వచ్చే కథలోని భాగం!
NB మీరు ఇప్పుడే CI/CDని అమలు చేయడానికి ప్లాన్ చేస్తుంటే లేదా పైప్లైన్లను నిర్మించడానికి ఉత్తమ పద్ధతులను వర్తింపజేయాలనుకుంటే, స్లర్మ్ యొక్క కొత్త కోర్సుపై శ్రద్ధ వహించండి . ఇది ఇప్పుడు ప్రీ-ఆర్డర్ ధరలో అందుబాటులో ఉంది.
GitLab CI/CDలో వే పాయింట్
GitLab CI/CDలో వీటన్నింటినీ ఆర్కెస్ట్రేట్ చేయడానికి, మన ఫైల్లో మనకు ఏమి అవసరమో చూద్దాం .gitlab-ci.yml:
- అన్నిటికంటే ముందు, మీరు దీన్ని అమలు చేయడానికి ఒక బేస్ ఇమేజ్ అవసరం. వేపాయింట్ ఏ డిస్ట్రిబ్యూషన్పైనైనా పనిచేస్తుంది. Linuxదీనికి డాకర్ మాత్రమే అవసరం, కాబట్టి మనం ఒక జెనరిక్ డాకర్ ఇమేజ్ నుండి రన్ చేయవచ్చు.
- తర్వాత మీరు ఈ చిత్రంలో వేపాయింట్ని ఇన్స్టాల్ చేయాలి. భవిష్యత్తులో మేము సేకరించవచ్చు మరియు మీ కోసం ఈ ప్రక్రియను కంటైనర్ చేయండి.
- చివరగా మేము వేపాయింట్ ఆదేశాలను అమలు చేస్తాము
మా పైప్లైన్ విస్తరణను పూర్తి చేయడానికి అవసరమైన స్క్రిప్ట్లను అమలు చేయడానికి అవసరమైన ప్రతిదానిని పైన పేర్కొన్నది, కానీ AWSకి అమలు చేయడానికి మనకు మరొక విషయం అవసరం: మనం తప్పనిసరిగా మా AWS ఖాతాలోకి లాగిన్ అయి ఉండాలి. వేపాయింట్ వివరణలో ప్రమాణీకరణ మరియు అధికారం గురించి. HashiCorp కూడా ఈ వారం ఆకట్టుకునే ప్రాజెక్ట్ను విడుదల చేసింది . కానీ ప్రస్తుతానికి, ప్రామాణీకరణ మరియు అధికారాన్ని మనమే నిర్వహించగలము.
AWSలో GitLab CICD ప్రమాణీకరణ కోసం అనేక ఎంపికలు ఉన్నాయి. అంతర్నిర్మితాన్ని ఉపయోగించడం మొదటి ఎంపిక . మీ బృందం ఇప్పటికే క్రెడెన్షియల్ మేనేజ్మెంట్ కోసం వాల్ట్ని ఉపయోగిస్తుంటే ఇది చాలా బాగుంది. మీ బృందం AWS IAMని ఉపయోగించి అధికారాన్ని నిర్వహిస్తుంటే పని చేసే మరొక ఎంపిక ఏమిటంటే, డెలివరీ పనులు ట్రిగ్గర్ చేయబడతాయో లేదో తనిఖీ చేయడం , IAM ద్వారా విస్తరణను అమలు చేయడానికి అధికారం ఉంది. కానీ మీరు వేపాయింట్తో పరిచయం పొందాలనుకుంటే మరియు దాన్ని త్వరగా చేయాలనుకుంటే, చివరి ఎంపిక ఒకటి ఉంది - మీ AWS API మరియు సీక్రెట్ కీలను జోడించండి AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.
అన్నిటినీ కలిపి చూస్తే
మేము ప్రామాణీకరణను అర్థం చేసుకున్న తర్వాత, మేము ప్రారంభించవచ్చు! మా ఫైనల్ .gitlab-ci.yml ఇలా ఉంది:
waypoint:
image: docker:latest
stage: build
services:
- docker:dind
# Define environment variables, e.g. `WAYPOINT_VERSION: '0.1.1'`
variables:
WAYPOINT_VERSION: ''
WAYPOINT_SERVER_ADDR: ''
WAYPOINT_SERVER_TOKEN: ''
WAYPOINT_SERVER_TLS: '1'
WAYPOINT_SERVER_TLS_SKIP_VERIFY: '1'
script:
- wget -q -O /tmp/waypoint.zip https://releases.hashicorp.com/waypoint/${WAYPOINT_VERSION}/waypoint_${WAYPOINT_VERSION}_linux_amd64.zip
- unzip -d /usr/local/bin /tmp/waypoint.zip
- rm -rf /tmp/waypoint*
- waypoint init
- waypoint build
- waypoint deploy
- waypoint releaseమేము చిత్రంతో ప్రారంభించడం మీరు చూస్తారు docker:latest మరియు వేపాయింట్ ద్వారా అవసరమైన అనేక ఎన్విరాన్మెంట్ వేరియబుల్స్ సెట్ చేయండి. అధ్యాయంలో script మేము వేపాయింట్ ఎక్జిక్యూటబుల్ యొక్క తాజా వెర్షన్ను డౌన్లోడ్ చేసి, ఇన్స్టాల్ చేస్తాము /usr/local/bin. మా రన్నర్ ఇప్పటికే AWSలో అధికారం కలిగి ఉన్నందున, మేము కేవలం అమలు చేస్తాము waypoint init, build, deploy и release.
బిల్డ్ టాస్క్ యొక్క అవుట్పుట్ మేము అప్లికేషన్ను రూపొందించిన ముగింపు బిందువును చూపుతుంది:

వే పాయింట్ ఒకటి , GitLabతో గొప్పగా పని చేస్తుంది. ఉదాహరణకు, అప్లికేషన్ను డెలివరీ చేయడంతో పాటు, మేము ఉపయోగించి అంతర్లీన మౌలిక సదుపాయాలను ఆర్కెస్ట్రేట్ చేయవచ్చు. . SDLC భద్రతను ప్రమాణీకరించడానికి, మేము కూడా అమలు చేయవచ్చు CI/CD పైప్లైన్లలో రహస్యాలు మరియు టోకెన్లను నిర్వహించడం కోసం, అభివృద్ధి, పరీక్ష మరియు ఉత్పత్తి వినియోగం కోసం రహస్య నిర్వహణపై ఆధారపడే డెవలపర్లు మరియు నిర్వాహకులకు సమగ్ర పరిష్కారాన్ని అందిస్తుంది.
HashiCorp మరియు GitLab అభివృద్ధి చేసిన ఉమ్మడి పరిష్కారాలు డెలివరీ పైప్లైన్లు మరియు మౌలిక సదుపాయాల స్థిరమైన నిర్వహణను అందించడం ద్వారా అప్లికేషన్లను అభివృద్ధి చేయడానికి కంపెనీలకు మెరుగైన మార్గాన్ని కనుగొనడంలో సహాయపడతాయి. వేపాయింట్ సరైన దిశలో మరో అడుగు వేసింది మరియు ప్రాజెక్ట్ యొక్క నిరంతర అభివృద్ధి కోసం మేము ఎదురుచూస్తున్నాము. మీరు వేపాయింట్ గురించి మరింత తెలుసుకోవచ్చు , అన్వేషించడం కూడా విలువైనది и ప్రాజెక్ట్. మేము సంపాదించిన జ్ఞానాన్ని జోడించాము . మీరు ప్రతిదీ మీరే ప్రయత్నించాలనుకుంటే, మీరు పూర్తి పని ఉదాహరణను తీసుకోవచ్చు .
మీరు CI/CD సూత్రాలను అర్థం చేసుకోవచ్చు, గిట్లాబ్ CIతో పని చేసే అన్ని చిక్కులను నేర్చుకోవచ్చు మరియు వీడియో కోర్సు తీసుకోవడం ద్వారా ఉత్తమ అభ్యాసాలను వర్తింపజేయడం ప్రారంభించండి . మాతో చేరండి!
మూలం: www.habr.com
