GitLab CI/CD سان تعاون ڪرڻ لاءِ HashiCorp Waypoint ڪيئن استعمال ڪجي

GitLab CI/CD سان تعاون ڪرڻ لاءِ HashiCorp Waypoint ڪيئن استعمال ڪجي

HashiCorp هڪ نئون منصوبو ڏيکاريو رستو تي HashiCorp ڊجيٽل. اهو استعمال ڪري ٿو هڪ HCL-based فائل کي بيان ڪرڻ لاءِ بلڊنگ، ترسيل، ۽ مختلف قسم جي ڪلائوڊ پليٽ فارمن لاءِ ايپليڪيشنن جي رليز، جنهن ۾ ڪبرنيٽس کان AWS کان گوگل ڪلائوڊ رن تائين. توھان سمجھي سگھوٿا Waypoint کي Terraform ۽ Vagrant گڏيل طور تي توھان جي ايپليڪيشنن جي تعمير، شپنگ، ۽ جاري ڪرڻ جي عمل کي بيان ڪرڻ لاءِ.

صحيح طور تي فارم، HashiCorp جاري ڪيو Waypoint کليل ذريعو طور ۽ ڪيترن ئي مثالن سان گڏ اچي ٿو. آرڪيسٽرٽر پرت توهان جي مٿان آهي، 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 ڪيئن استعمال ڪجي

جئين توهان محسوس ڪيو هوندو، هن پروجيڪٽ وٽ ڊڪر فائل ناهي. اهي مثال ۾ شامل نه ڪيا ويا آهن، ڇاڪاڻ ته اصول ۾ اسان کي انهن جي ضرورت ناهي، ڇاڪاڻ ته 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"
    }
  }
}

تعميراتي مرحلي دوران، Waypoint استعمال ڪري ٿو Cloud Native Buildpacks (سي بي بي) پروجيڪٽ جي پروگرامنگ ٻولي جو تعين ڪرڻ ۽ ڊاڪر فائل استعمال ڪرڻ کان سواءِ ڊاڪر تصوير ٺاھيو. اصول ۾، اها ساڳي ٽيڪنالاجي آهي جيڪا GitLab حصو ۾ استعمال ڪري ٿي خودڪار DevOps خودڪار تعمير جي قدم تي. اهو ڏسڻ لاء سٺو آهي ته CNCF جي CNB صنعت جي استعمال ڪندڙن جي وچ ۾ وڌيڪ اپنائڻ حاصل ڪري رهيو آهي.

هڪ دفعو تصوير ٺهيل آهي، Waypoint ان کي خودڪار طور تي اسان جي AWS ECR رجسٽري تي اپ لوڊ ڪندو، تنهنڪري اهو پهچائڻ لاء تيار آهي. هڪ دفعو تعمير مڪمل ٿي وئي آهي، پهچائڻ وارو قدم استعمال ڪندو آهي AWS ECS اضافو اسان جي ايپليڪيشن کي اسان جي AWS اڪائونٽ تي ترتيب ڏيڻ لاء.

منهنجي ليپ ٽاپ کان - سڀڪنھن شيء کي سادو آهي. مون هڪ Waypoint رکيو جيڪو اڳ ۾ ئي منهنجي AWS اڪائونٽ ۾ تصديق ٿيل آهي ۽ اهو "صرف ڪم ڪري ٿو". پر ڇا ٿيندو جيڪڏهن مان پنهنجي ليپ ٽاپ کان ٻاهر وڃڻ چاهيان؟ يا ڇا مان اوچتو هن ڊيپلائيمينٽ کي پنهنجي مجموعي CI/CD پائپ لائن جي حصي طور خودڪار ڪرڻ چاهيان ٿو، جتي منهنجا جاري انٽيگريشن ٽيسٽ، سيڪيورٽي ٽيسٽ، ۽ ٻيا هلايا وڃن ٿا؟ هي ڪهاڻي جو حصو آهي جتي GitLab CI/CD اچي ٿو!

اين بي جيڪڏهن توهان صرف CI/CD کي لاڳو ڪرڻ جي منصوبابندي ڪري رهيا آهيو يا پائپ لائنن جي تعمير لاءِ بهترين طريقا لاڳو ڪرڻ شروع ڪرڻ چاهيو ٿا، ته Slurm جي نئين ڪورس تي ڌيان ڏيو "CI/CD Gitlab CI استعمال ڪندي مثال طور". اهو هاڻي پري آرڊر جي قيمت تي دستياب آهي.

GitLab CI/CD ۾ واٽ پوائنٽ

GitLab CI/CD ۾ هي سڀ ترتيب ڏيڻ لاءِ، اچو ته ڏسون اسان جي فائل ۾ ڪهڙي ضرورت آهي .gitlab-ci.yml:

  • سڀ کان پهريان، توهان کي ان جي اندر هلائڻ لاء بنيادي تصوير جي ضرورت آهي. Waypoint ڪنهن به لينڪس ڊويزن تي ڪم ڪري ٿو، اهو صرف Docker جي ضرورت آهي، تنهنڪري اسان هڪ عام Docker تصوير سان هلائي سگهون ٿا.
  • اڳيون توهان کي هن تصوير ۾ Waypoint انسٽال ڪرڻ جي ضرورت آهي. مستقبل ۾ اسان گڏ ڪري سگهون ٿا تصوير ميٽا تعمير ۽ هن عمل کي پاڻ لاءِ ڪنٽرول ڪريو.
  • آخرڪار اسان هلائينداسين Waypoint ڪمانڊ

مٿي بيان ڪيل هر شي کي بيان ڪري ٿو اسان جي پائپ لائن کي ترتيب ڏيڻ لاءِ گهربل اسڪرپٽس کي هلائڻ جي ضرورت پوندي، پر AWS کي ترتيب ڏيڻ لاءِ اسان کي هڪ ٻي شيءِ جي ضرورت پوندي: اسان کي پنهنجي AWS اڪائونٽ ۾ لاگ ان ٿيڻ گهرجي. واٽ پوائنٽ جي وضاحت ۾ منصوبا آهن تصديق ۽ اختيار جي باري ۾. HashiCorp پڻ هن هفتي هڪ شاندار منصوبو جاري ڪيو حد. پر ھاڻي لاءِ، اسان صرف پاڻ کي تصديق ۽ اختيار سنڀالي سگھون ٿا.

AWS ۾ GitLab CICD جي تصديق لاءِ ڪيترائي آپشن آھن. پهريون اختيار استعمال ڪرڻ لاء ٺهيل آهي HashiCorp Vault. اهو تمام سٺو آهي جيڪڏهن توهان جي ٽيم اڳ ۾ ئي استعمال ڪري ٿي Vault سندي انتظام لاءِ. ٻيو اختيار جيڪو ڪم ڪري ٿو جيڪڏهن توهان جي ٽيم AWS IAM استعمال ڪندي اختيار جو انتظام ڪري رهي آهي اهو چيڪ ڪرڻ ته ترسيل جا ڪم شروع ڪيا ويا آهن GitLab رنر، IAM ذريعي ترتيب ڏيڻ جي اجازت ڏني وئي. پر جيڪڏھن توھان صرف Waypoint سان واقف ٿيڻ چاھيو ٿا ۽ ان کي جلدي ڪرڻ چاھيو ٿا، اتي ھڪڙو آخري اختيار آھي - پنھنجي 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 اسان Waypoint executable جو جديد نسخو ڊائون لوڊ ڪيو ۽ ان کي انسٽال ڪيو /usr/local/bin. جيئن ته اسان جو رنر اڳ ۾ ئي AWS ۾ بااختيار آهي، اسان اڳتي هلي هلون ٿا waypoint init, build, deploy и release.

تعميراتي ڪم جو نتيجو اسان کي آخري پوائنٽ ڏيکاريندو جتي اسان ايپليڪيشن کي رول ڪيو:

GitLab CI/CD سان تعاون ڪرڻ لاءِ HashiCorp Waypoint ڪيئن استعمال ڪجي

واٽ پوائنٽ مان هڪ ڪيترائي HashiCorp حل, GitLab سان وڏو ڪم. مثال طور، ايپليڪيشن کي پهچائڻ کان علاوه، اسان استعمال ڪندي بنيادي زيربنا ترتيب ڏئي سگهون ٿا GitLab تي Terraform. SDLC سيڪيورٽي کي معياري ڪرڻ لاء، اسان پڻ لاڳو ڪري سگهون ٿا GitLab والٽ سان CI/CD پائپ لائنز ۾ رازن ۽ ٽوڪن کي منظم ڪرڻ لاءِ، ڊولپرز ۽ ايڊمنسٽريٽرن لاءِ هڪ جامع حل مهيا ڪرڻ جيڪي ترقي، جاچ، ۽ پيداوار جي استعمال لاءِ رازن جي انتظام تي ڀروسو ڪن ٿا.

HashiCorp ۽ GitLab پاران تيار ڪيل گڏيل حل ڪمپنين کي ڊليوري پائپ لائنز ۽ انفراسٽرڪچر جو مسلسل انتظام مهيا ڪندي ايپليڪيشنن کي ترقي ڪرڻ لاءِ بهتر رستو ڳولڻ ۾ مدد ڪن ٿا. Waypoint صحيح هدايت ۾ هڪ ٻيو قدم ورتو آهي ۽ اسان منصوبي جي مسلسل ترقي جي منتظر آهيون. توھان وڌيڪ ڳولي سگھوٿا Waypoint بابت هتي، پڻ ڳولڻ جي قابل دستاويز и ترقياتي منصوبو پروجيڪٽ. اسان ان علم کي شامل ڪيو آھي جيڪو اسان حاصل ڪيو آھي GitLab CICD دستاويز. جيڪڏھن توھان چاھيو ٿا سڀ ڪجھ پاڻ کي آزمائي، توھان وٺي سگھوٿا مڪمل ڪم ڪندڙ مثال ۾ هن مخزن.

توهان CI/CD جي اصولن کي سمجهي سگهو ٿا، Gitlab CI سان ڪم ڪرڻ جي سڀني پيچيدگين تي عبور حاصل ڪري سگهو ٿا ۽ وڊيو ڪورس وٺڻ سان بهترين طريقا لاڳو ڪرڻ شروع ڪري سگهو ٿا. "CI/CD Gitlab CI استعمال ڪندي مثال طور". اسان سان شامل ٿيو!

جو ذريعو: www.habr.com

تبصرو شامل ڪريو