Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

GitLab CI — CI/CD integrované v repozitáři

05. 07. 2016 1 min čtení CORE SYSTEMSdevops

Jenkins je mocný, ale pro menší projekty je to kanón na vrabce. GitLab CI je součástí GitLabu — CI/CD pipeline definovaný v .gitlab-ci.yml přímo v repozitáři. Žádný externí server, žádná Jenkins administrace.

.gitlab-ci.yml

stages:
  - build
  - test
  - deploy

build:
  stage: build
  image: maven:3.3-jdk-8
  script:
    - mvn compile
  artifacts:
    paths:
      - target/

test:
  stage: test
  image: maven:3.3-jdk-8
  script:
    - mvn test
  artifacts:
    reports:
      junit: target/surefire-reports/*.xml

deploy_staging:
  stage: deploy
  script:
    - ./deploy.sh staging
  only:
    - develop
  environment:
    name: staging

GitLab Runners

Runner je agent, který spouští joby. Shared runners (GitLab.com poskytuje zdarma) nebo vlastní runners. Docker executor — každý job v čistém kontejneru. Registrace runneru na jednom řádku.

GitLab CI vs. Jenkins

GitLab CI: Jednoduchost, integrace s GitLab (merge requests, environments), zero maintenance pro hosted GitLab. Jenkins: Flexibilnější, víc pluginů, lepší pro komplexní enterprise pipeline. Oba mají místo — GitLab CI pro menší projekty, Jenkins pro velké enterprise.

CI/CD pro každý projekt

GitLab CI snižuje bariéru pro CI/CD. Každý projekt by měl mít automatický build a testy — GitLab CI to dělá triviálním.

gitlabci/cdpipelinedevops