GitLab CI/CDతో సహకరించడానికి HashiCorp వేపాయింట్‌ని ఎలా ఉపయోగించాలి

GitLab CI/CDతో సహకరించడానికి HashiCorp వేపాయింట్‌ని ఎలా ఉపయోగించాలి

HashiCorp కొత్త ప్రాజెక్ట్‌ను చూపించింది వే పాయింట్HashiCorp డిజిటల్. ఇది Kubernetes నుండి AWS నుండి Google క్లౌడ్ రన్ వరకు వివిధ క్లౌడ్ ప్లాట్‌ఫారమ్‌ల కోసం అప్లికేషన్‌ల బిల్డ్, డెలివరీ మరియు విడుదలను వివరించడానికి HCL-ఆధారిత ఫైల్‌ను ఉపయోగిస్తుంది. మీ అప్లికేషన్‌లను నిర్మించడం, షిప్పింగ్ చేయడం మరియు విడుదల చేయడం వంటి ప్రక్రియలను వివరించడానికి మీరు వేపాయింట్‌ని టెర్రాఫార్మ్ మరియు వాగ్రాంట్‌గా భావించవచ్చు.

నిజమే, HashiCorp వేపాయింట్‌ను ఓపెన్ సోర్స్‌గా విడుదల చేసింది మరియు అనేక ఉదాహరణలతో వస్తుంది. ఆర్కెస్ట్రేటర్ లేయర్ మీ ఇష్టం, వేపాయింట్ అనేది మీరు నేరుగా మీ ల్యాప్‌టాప్‌లో లేదా మీ ఎంపిక CI/CD ఆర్కెస్ట్రేషన్ సాధనం నుండి అమలు చేయగల ఎక్జిక్యూటబుల్‌గా వస్తుంది. వేపాయింట్ Kubernetes, Docker, Google Cloud Run, AWS ECS మరియు మరిన్నింటికి మద్దతు ఇస్తుంది కాబట్టి మీ అప్లికేషన్‌లను అమలు చేసే లక్ష్యం కూడా మీ ఇష్టం.

అద్భుతం చదివిన తర్వాత డాక్యుమెంటేషన్ మరియు అత్యంత విలాసవంతమైన ఉదాహరణలు HashiCorp అందించిన అప్లికేషన్లు, మేము GitLab CI/CDని ఉపయోగించి వేపాయింట్ ఆర్కెస్ట్రేషన్‌ను నిశితంగా పరిశీలించాలని నిర్ణయించుకున్నాము. దీన్ని చేయడానికి, మేము ఉదాహరణల రిపోజిటరీ నుండి AWS ECSలో నడుస్తున్న సాధారణ Node.js అప్లికేషన్‌ని తీసుకుంటాము.

రిపోజిటరీని క్లోనింగ్ చేసిన తర్వాత, ఒక పేజీని ప్రదర్శించే అప్లికేషన్ యొక్క నిర్మాణాన్ని చూద్దాం:

GitLab CI/CDతో సహకరించడానికి HashiCorp వేపాయింట్‌ని ఎలా ఉపయోగించాలి

మీరు గమనించినట్లుగా, ఈ ప్రాజెక్ట్‌లో డాకర్‌ఫైల్ లేదు. అవి ఉదాహరణలో జోడించబడలేదు, ఎందుకంటే సూత్రప్రాయంగా మనకు అవి అవసరం లేదు, ఎందుకంటే వేపాయింట్ మన కోసం వాటిని జాగ్రత్తగా చూసుకుంటుంది. ఫైల్‌ని నిశితంగా పరిశీలిద్దాం 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"
    }
  }
}

నిర్మాణ దశలో, వేపాయింట్ క్లౌడ్ స్థానిక బిల్డ్‌ప్యాక్‌లను ఉపయోగిస్తుంది (CNB) ప్రాజెక్ట్ యొక్క ప్రోగ్రామింగ్ లాంగ్వేజ్‌ని గుర్తించడానికి మరియు డాకర్‌ఫైల్‌ని ఉపయోగించకుండా డాకర్ ఇమేజ్‌ని రూపొందించడానికి. సూత్రప్రాయంగా, ఇది GitLab పాక్షికంగా ఉపయోగించే అదే సాంకేతికత ఆటో డెవొప్స్ ఆటో బిల్డ్ దశలో. CNCF యొక్క CNB పరిశ్రమ వినియోగదారులలో మరింత దత్తత పొందడం చూడటం మంచిది.

చిత్రాన్ని రూపొందించిన తర్వాత, వేపాయింట్ దానిని స్వయంచాలకంగా మా AWS ECR రిజిస్ట్రీకి అప్‌లోడ్ చేస్తుంది కాబట్టి ఇది డెలివరీకి సిద్ధంగా ఉంటుంది. బిల్డ్ పూర్తయిన తర్వాత, డెలివరీ దశ ఉపయోగిస్తుంది AWS ECS యాడ్-ఆన్ మా AWS ఖాతాకు మా అప్లికేషన్‌ను అమలు చేయడానికి.

నా ల్యాప్‌టాప్ నుండి - ప్రతిదీ చాలా సులభం. నేను నా AWS ఖాతాలో ఇప్పటికే ప్రమాణీకరించబడిన వే పాయింట్‌ని ఉంచాను మరియు అది "కేవలం పని చేస్తుంది". కానీ నేను నా ల్యాప్‌టాప్‌ను దాటి వెళ్లాలనుకుంటే ఏమి జరుగుతుంది? లేదా నా మొత్తం CI/CD పైప్‌లైన్‌లో భాగంగా నేను అకస్మాత్తుగా ఈ డిప్లాయ్‌మెంట్‌ను ఆటోమేట్ చేయాలనుకుంటున్నాను, ఇక్కడ నా కొనసాగుతున్న ఇంటిగ్రేషన్ పరీక్షలు, భద్రతా పరీక్షలు మరియు ఇతరాలు అమలు చేయబడుతున్నాయా? ఇది GitLab CI/CD వచ్చే కథలోని భాగం!

NB మీరు ఇప్పుడే CI/CDని అమలు చేయడానికి ప్లాన్ చేస్తుంటే లేదా పైప్‌లైన్‌లను నిర్మించడానికి ఉత్తమ పద్ధతులను వర్తింపజేయాలనుకుంటే, స్లర్మ్ యొక్క కొత్త కోర్సుపై శ్రద్ధ వహించండి “గిట్లాబ్ CIని ఉదాహరణగా ఉపయోగించి CI/CD”. ఇది ఇప్పుడు ప్రీ-ఆర్డర్ ధరలో అందుబాటులో ఉంది.

GitLab CI/CDలో వే పాయింట్

GitLab CI/CDలో వీటన్నింటినీ ఆర్కెస్ట్రేట్ చేయడానికి, మన ఫైల్‌లో మనకు ఏమి అవసరమో చూద్దాం .gitlab-ci.yml:

  • అన్నింటిలో మొదటిది, దాని లోపల అమలు చేయడానికి మీకు బేస్ ఇమేజ్ అవసరం. వేపాయింట్ ఏదైనా Linux డిస్ట్రిబ్యూషన్‌లో పని చేస్తుంది, దీనికి డాకర్ మాత్రమే అవసరం, కాబట్టి మనం సాధారణ డాకర్ ఇమేజ్‌తో రన్ చేయవచ్చు.
  • తర్వాత మీరు ఈ చిత్రంలో వేపాయింట్‌ని ఇన్‌స్టాల్ చేయాలి. భవిష్యత్తులో మేము సేకరించవచ్చు చిత్రం మెటా బిల్డ్ మరియు మీ కోసం ఈ ప్రక్రియను కంటైనర్ చేయండి.
  • చివరగా మేము వేపాయింట్ ఆదేశాలను అమలు చేస్తాము

మా పైప్‌లైన్ విస్తరణను పూర్తి చేయడానికి అవసరమైన స్క్రిప్ట్‌లను అమలు చేయడానికి అవసరమైన ప్రతిదానిని పైన పేర్కొన్నది, కానీ AWSకి అమలు చేయడానికి మనకు మరొక విషయం అవసరం: మనం తప్పనిసరిగా మా AWS ఖాతాలోకి లాగిన్ అయి ఉండాలి. వేపాయింట్ వివరణలో ప్రణాళికలు ఉన్నాయి ప్రమాణీకరణ మరియు అధికారం గురించి. HashiCorp కూడా ఈ వారం ఆకట్టుకునే ప్రాజెక్ట్‌ను విడుదల చేసింది సరిహద్దు. కానీ ప్రస్తుతానికి, ప్రామాణీకరణ మరియు అధికారాన్ని మనమే నిర్వహించగలము.

AWSలో GitLab CICD ప్రమాణీకరణ కోసం అనేక ఎంపికలు ఉన్నాయి. అంతర్నిర్మితాన్ని ఉపయోగించడం మొదటి ఎంపిక హషికార్ప్ వాల్ట్. మీ బృందం ఇప్పటికే క్రెడెన్షియల్ మేనేజ్‌మెంట్ కోసం వాల్ట్‌ని ఉపయోగిస్తుంటే ఇది చాలా బాగుంది. మీ బృందం AWS IAMని ఉపయోగించి అధికారాన్ని నిర్వహిస్తుంటే పని చేసే మరొక ఎంపిక ఏమిటంటే, డెలివరీ పనులు ట్రిగ్గర్ చేయబడతాయో లేదో తనిఖీ చేయడం GitLab రన్నర్, IAM ద్వారా విస్తరణను అమలు చేయడానికి అధికారం ఉంది. కానీ మీరు వేపాయింట్‌తో పరిచయం పొందాలనుకుంటే మరియు దాన్ని త్వరగా చేయాలనుకుంటే, చివరి ఎంపిక ఒకటి ఉంది - మీ AWS API మరియు సీక్రెట్ కీలను జోడించండి GitLab CI/CD ఎన్విరాన్మెంట్ వేరియబుల్స్ 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 CI/CDతో సహకరించడానికి HashiCorp వేపాయింట్‌ని ఎలా ఉపయోగించాలి

వే పాయింట్ ఒకటి అనేక HashiCorp పరిష్కారాలు, GitLabతో గొప్పగా పని చేస్తుంది. ఉదాహరణకు, అప్లికేషన్‌ను డెలివరీ చేయడంతో పాటు, మేము ఉపయోగించి అంతర్లీన మౌలిక సదుపాయాలను ఆర్కెస్ట్రేట్ చేయవచ్చు. GitLabలో టెర్రాఫార్మ్. SDLC భద్రతను ప్రమాణీకరించడానికి, మేము కూడా అమలు చేయవచ్చు వాల్ట్‌తో GitLab CI/CD పైప్‌లైన్‌లలో రహస్యాలు మరియు టోకెన్‌లను నిర్వహించడం కోసం, అభివృద్ధి, పరీక్ష మరియు ఉత్పత్తి వినియోగం కోసం రహస్య నిర్వహణపై ఆధారపడే డెవలపర్‌లు మరియు నిర్వాహకులకు సమగ్ర పరిష్కారాన్ని అందిస్తుంది.

HashiCorp మరియు GitLab అభివృద్ధి చేసిన ఉమ్మడి పరిష్కారాలు డెలివరీ పైప్‌లైన్‌లు మరియు మౌలిక సదుపాయాల స్థిరమైన నిర్వహణను అందించడం ద్వారా అప్లికేషన్‌లను అభివృద్ధి చేయడానికి కంపెనీలకు మెరుగైన మార్గాన్ని కనుగొనడంలో సహాయపడతాయి. వేపాయింట్ సరైన దిశలో మరో అడుగు వేసింది మరియు ప్రాజెక్ట్ యొక్క నిరంతర అభివృద్ధి కోసం మేము ఎదురుచూస్తున్నాము. మీరు వేపాయింట్ గురించి మరింత తెలుసుకోవచ్చు ఇక్కడ, అన్వేషించడం కూడా విలువైనది డాక్యుమెంటేషన్ и అభివృద్ధి ప్రణాళిక ప్రాజెక్ట్. మేము సంపాదించిన జ్ఞానాన్ని జోడించాము GitLab CICD డాక్యుమెంటేషన్. మీరు ప్రతిదీ మీరే ప్రయత్నించాలనుకుంటే, మీరు పూర్తి పని ఉదాహరణను తీసుకోవచ్చు ఈ రిపోజిటరీ.

మీరు CI/CD సూత్రాలను అర్థం చేసుకోవచ్చు, గిట్‌లాబ్ CIతో పని చేసే అన్ని చిక్కులను నేర్చుకోవచ్చు మరియు వీడియో కోర్సు తీసుకోవడం ద్వారా ఉత్తమ అభ్యాసాలను వర్తింపజేయడం ప్రారంభించండి “గిట్లాబ్ CIని ఉదాహరణగా ఉపయోగించి CI/CD”. మాతో చేరండి!

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి