Sobes.tech
Junior — Middle

Эмне үчүн сиз мурдагы кызматта жаңыртууларды чыгардыңыз?

sobes.tech AI

AIден жооп

Նախորդ դիրքում, թարմացումների հրապարակումը կատարվում էր CI/CD պիպլայնի միջոցով, որը ներառում էր հետևյալ քայլերը:

  1. Կոդի ավտոմատ թեստավորում (միավոր, ինտեգրացիոն թեստեր):
  2. Արտադրանքի հավաքում (օրինակ, Go բինարներ):
  3. Դեպլոյմենտ ստեյջի վրա ձեռքով թեստավորման համար:
  4. Հաջող թեստավորումից հետո՝ ավտոմատ կամ ձեռքով դեպլոյմենտ արտադրության մեջ:

Ծառայության անընդհատությունը ապահովելու համար օգտագործվում էին ռոլինգ թարմացումներ կամ blue-green deployment ռազմավարություններ, որպեսզի ապահովեն ծառայության շարունակականությունը: Կրիտիկական սխալների դեպքում հնարավոր էր արագ վերադառնալ նախորդ կայուն տարբերակին:

GitLab CI-ի օգտագործմամբ դեպլոյմենտի կոնֆիգուրացիայի օրինակ:

stages:
  - test
  - build
  - deploy

test_job:
  stage: test
  script:
    - go test ./...

build_job:
  stage: build
  script:
    - go build -o myapp
  artifacts:
    paths:
      - myapp

deploy_job:
  stage: deploy
  script:
    - ./deploy.sh myapp
  when: manual
  environment:
    name: production
    url: https://myapp.example.com