GitLab CI/CD සමඟ සහයෝගයෙන් කටයුතු කිරීමට HashiCorp Waypoint භාවිතා කරන්නේ කෙසේද

GitLab CI/CD සමඟ සහයෝගයෙන් කටයුතු කිරීමට HashiCorp Waypoint භාවිතා කරන්නේ කෙසේද

HashiCorp නව ව්‍යාපෘතියක් පෙන්වීය වේපොයින්ට් මත HashiCorp ඩිජිටල්. එය Kubernetes සිට AWS සහ Google Cloud Run දක්වා විවිධ වලාකුළු වේදිකා සඳහා යෙදුම් ගොඩනැගීම, නැව්ගත කිරීම සහ නිකුත් කිරීම විස්තර කිරීමට HCL-පාදක ගොනුවක් භාවිතා කරයි. ඔබේ යෙදුම් ගොඩ නැගීම, නැව්ගත කිරීම සහ මුදා හැරීමේ ක්‍රියාවලිය විස්තර කිරීමට Terraform සහ Vagrant එකට එකතු වී ඇති ආකාරයට Waypoint ගැන සිතන්න.

ආකෘතියට අනුව, HashiCorp විසින් Waypoint විවෘත මූලාශ්‍රයක් ලෙස නිකුත් කර ඇති අතර එය උදාහරණ රාශියක් සමඟ පැමිණේ. වාද්‍ය වෘන්දයේ මට්ටම ඔබට භාරයි, වේපොයින්ට් පැමිණෙන්නේ ඔබට ඔබේ ලැප්ටොප් එක මත හෝ ඔබේ තේරීමේ CI/CD වාද්‍ය වෘන්දය මඟින් සෘජුවම ධාවනය කළ හැකි ක්‍රියාත්මක කළ හැකි එකක් ලෙසය. Waypoint Kubernetes, Docker, Google Cloud Run, AWS ECS සහ තවත් බොහෝ දේ සඳහා සහය දක්වන බැවින් යෙදුම් යෙදවීමේ ඉලක්කය ද ඔබට භාරයි.

නියමය කියවීමෙන් පසු ලේඛනගත කිරීම සහ ලස්සනම උදාහරණ HashiCorp විසින් සපයන ලද යෙදුම්, අපි GitLab CI/CD සමඟ Waypoint orchestration දෙස සමීපව බැලීමට තීරණය කළෙමු. මෙය සිදු කිරීම සඳහා, අපි නියැදි ගබඩාවෙන් AWS ECS මත ධාවනය වන සරල Node.js යෙදුමක් ගනිමු.

ගබඩාව ක්ලෝන කිරීමෙන් පසු, එක් පිටුවක් පෙන්වන යෙදුමේ ව්‍යුහය දෙස බලමු:

GitLab CI/CD සමඟ සහයෝගයෙන් කටයුතු කිරීමට HashiCorp Waypoint භාවිතා කරන්නේ කෙසේද

ඔබ දැක ඇති පරිදි, මෙම ව්‍යාපෘතියේ Dockerfile නොමැත. ඒවා උදාහරණයට එකතු කරේ නැත්තේ අපිට ඇත්තටම ඒවා අවශ්‍ය නැති නිසා, මොකද Waypoint ඒවා අපි වෙනුවෙන් බලා ගනීවි. අපි ගොනුව දෙස සමීපව බලමු 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"
    }
  }
}

ගොඩනැගීමේ අදියරේදී, වේපොයින්ට් Cloud Native Buildpacks භාවිතා කරයි (CNB) ව්‍යාපෘතියේ ක්‍රමලේඛන භාෂාව තීරණය කිරීමට සහ Dockerfile භාවිතා නොකර Docker රූපයක් නිර්මාණය කිරීමට. ප්‍රතිපත්තිමය වශයෙන්, මෙය GitLab විසින් අර්ධ වශයෙන් භාවිතා කරන එකම තාක්ෂණයයි Auto DevOps Auto Build පියවරේදී. CNCF හි CNB කර්මාන්තය භාවිතා කරන්නන් අතර වැඩි වැඩියෙන් අනුගත වෙමින් පවතින බව දැකීම සතුටක්.

රූපය ගොඩනඟා ගත් පසු, Waypoint එය ස්වයංක්‍රීයව අපගේ AWS ECR රෙජිස්ට්‍රිය වෙත උඩුගත කරනු ඇත, එවිට එය නැව්ගත කිරීමට සූදානම් වේ. එකලස් කිරීම අවසානයේ, බෙදා හැරීමේ පියවර භාවිතා කරයි AWS ECS ඇඩෝනය අපගේ AWS ගිණුමට අපගේ යෙදුම යෙදවීමට.

මගේ ලැප්ටොප් එකෙන් ඒක ලේසියි. මම මගේ AWS ගිණුමේ දැනටමත් සත්‍යාපනය කර ඇති වේපොයින්ට් එක දමා ඇති අතර එය "ක්‍රියා කරයි". නමුත් මට මගේ ලැප්ටොප් පරිගණකයෙන් ඔබ්බට යාමට අවශ්‍ය නම් කුමක් සිදුවේද? එසේත් නැතිනම් මගේ වර්තමාන ඒකාබද්ධතා පරීක්ෂණ, ආරක්ෂක පරීක්ෂණ සහ අනෙකුත් ක්‍රියාත්මක වන මගේ සමස්ත CI/CD නල මාර්ගයේ කොටසක් ලෙස මෙම යෙදවීම ස්වයංක්‍රීය කිරීමට මට අවශ්‍ය විය හැකිද? මේ කතාවේ GitLab CI/CD එන කොටසයි!

සැ.යු. ඔබ CI / CD ක්‍රියාත්මක කිරීමට අදහස් කරන්නේ නම් හෝ නල මාර්ග තැනීම සඳහා හොඳම භාවිතයන් යෙදීමට අවශ්‍ය නම්, නව Slurm පාඨමාලාවට අවධානය යොමු කරන්න. "Gitlab CI හි උදාහරණය මත CI/CD". එය දැන් පෙර-ඇණවුම් මිලට ලබා ගත හැකිය.

GitLab CI/CD හි මාර්ග ලක්ෂ්‍යය

GitLab CI/CD හි මේ සියල්ල සංවිධානය කිරීමට, අපගේ ගොනුවේ අපට අවශ්‍ය දේ බලමු. .gitlab-ci.yml:

  • ඉස්සෙල්ලම ඒක ඇතුලට දුවන්න මූලික රූපයක් ඕන. Waypoint ඕනෑම Linux බෙදාහැරීමක් මත ක්‍රියාත්මක වේ, එයට අවශ්‍ය වන්නේ Docker පමණි, එබැවින් අපට සාමාන්‍ය Docker රූපයක් සමඟ ධාවනය කළ හැකිය.
  • මීළඟට, ඔබ මෙම රූපයට Waypoint ස්ථාපනය කළ යුතුය. අනාගතයේදී අපට එකතු කළ හැකිය මෙටා ගොඩනැගීමේ රූපය සහ ඔබ සඳහා මෙම ක්රියාවලිය බහාලුම් කරන්න.
  • අවසානයේ අපි Waypoint විධානයන් ක්‍රියාත්මක කරමු

යෙදවීම සිදු කිරීමට අවශ්‍ය ස්ක්‍රිප්ට් ධාවනය කිරීමට අපගේ නල මාර්ගයට අවශ්‍ය සියල්ල ඉහත වේ, නමුත් AWS වෙත යෙදවීමට, අපට තවත් එක් දෙයක් අවශ්‍ය වේ: අපි අපගේ AWS ගිණුමට ලොග් විය යුතුය. වේපොයින්ට් විස්තරය තුළ සැලසුම් ඇත සත්‍යාපනය සහ අවසරය ගැන. HashiCorp ද මේ සතියේ ආකර්ෂණීය ව්‍යාපෘතියක් නිකුත් කළේය මායිම්. නමුත් දැනට, අපට සත්‍යාපනය සහ අවසරය අප විසින්ම ගෙන හැසිරවිය හැක.

AWS මත GitLab CICD සත්‍යාපනය සඳහා විකල්ප කිහිපයක් තිබේ. පළමු විකල්පය වන්නේ බිල්ට් භාවිතා කිරීමයි හෂිකෝප් සුරක්ෂිතාගාරය. ඔබේ කණ්ඩායම දැනටමත් අක්තපත්‍ර කළමනාකරණය සඳහා Vault භාවිතා කරන්නේ නම් එය හොඳයි. ඔබේ කණ්ඩායම AWS IAM භාවිතයෙන් අවසරය කළමනාකරණය කරන්නේ නම් ක්‍රියා කරන තවත් ක්‍රමයක් නම් බෙදා හැරීමේ කාර්යයන් ක්‍රියාත්මක වන්නේ දැයි පරීක්ෂා කිරීමයි. GitLab ධාවකයA 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 සහ Waypoint මගින් අවශ්‍ය පරිසර විචල්‍ය කිහිපයක් සකසන්න. පරිච්ඡේදයේ script අපි නවතම වේපොයින්ට් ක්‍රියාත්මක කළ හැකි බාගත කර එය ඇතුල් කරමු /usr/local/bin. අපගේ ධාවකයා දැනටමත් AWS හි අවසර ලබා ඇති බැවින්, අපි සරලව ධාවනය කරමු waypoint init, build, deploy и release.

ගොඩනැගීමේ කාර්යයේ ප්‍රතිදානය අප යෙදුම රෝල් කළ අවසාන ලක්ෂ්‍යය පෙන්වයි:

GitLab CI/CD සමඟ සහයෝගයෙන් කටයුතු කිරීමට HashiCorp Waypoint භාවිතා කරන්නේ කෙසේද

වේ පොයින්ට් එකක් HashiCorp විසඳුම් රාශියක්, GitLab සමඟ හොඳින් ක්‍රියා කරන. උදාහරණයක් ලෙස, යෙදුම බෙදා හැරීමට අමතරව, අපට යටින් පවතින යටිතල පහසුකම් සංවිධානය කළ හැකිය GitLab හි ටෙරාෆෝම්. SDLC ආරක්ෂාව ප්‍රමිතිකරණය කිරීමට, අපට ක්‍රියාත්මක කිරීමටද හැකිය වෝල්ට් සමඟ GitLab CI/CD නල මාර්ගවල රහස් සහ ටෝකන කළමනාකරණය කිරීම සඳහා, සංවර්ධනය, පරීක්ෂා කිරීම සහ නිෂ්පාදන භාවිතය සඳහා රහස් කළමනාකරණය මත විශ්වාසය තබන සංවර්ධකයින් සහ පරිපාලකයින් සඳහා සම්පූර්ණ විසඳුමක් සපයයි.

HashiCorp සහ GitLab විසින් සංවර්ධනය කරන ලද ඒකාබද්ධ විසඳුම් සමාගම්වලට ස්ථාවර සැපයුම් දාමය සහ යටිතල පහසුකම් කළමනාකරණය සහතික කිරීම මගින් යෙදුම් සංවර්ධනය කිරීමට හොඳම මාර්ගය සොයා ගැනීමට උපකාර කරයි. වේපොයින්ට් නිවැරදි දිශාවට තවත් පියවරක් ගෙන ඇති අතර ව්‍යාපෘතියේ තවදුරටත් සංවර්ධනය සඳහා අපි බලාපොරොත්තු වෙමු. ඔබට Waypoint ගැන වැඩිදුර ඉගෙන ගත හැක මෙහිගවේෂණය කිරීම ද වටී ලේඛනගත කිරීම и සංවර්ධන සැලැස්ම ව්යාපෘතිය. අපි අපගේ දැනුම එකතු කර ඇත GitLab CICD ලියකියවිලි. ඔබට එය ඔබම අත්හදා බැලීමට අවශ්‍ය නම්, ඔබට සම්පූර්ණ ක්‍රියාකාරී උදාහරණය පරීක්ෂා කළ හැකිය මෙම ගබඩාව.

ඔබට CI / CD හි මූලධර්ම තේරුම් ගත හැකිය, Gitlab CI සමඟ වැඩ කිරීමේ සියලු සියුම්කම් ප්‍රගුණ කර වීඩියෝ පාඨමාලාව සම්පූර්ණ කිරීමෙන් හොඳම භාවිතයන් ආරම්භ කරන්න "Gitlab CI හි උදාහරණය මත CI/CD". දැන් එකතු වන්න!

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න