CI/CD

Continuous Integration / Continuous Delivery

7

– -. , . ? , . , SSH, , . , , . .

CI CD – , Continuous Integration ( ) Continuous Delivery ( ).


CI

CI . .

, master . .

  1. , , master, ?
  2. , . , ?
  3. . ?

, . . , .

CI .

. , ? .

 CI

CI- .

  1. Pull Request ( ) , Git- CI-.
  2. CI- , ( bugfix/wrong-sorting) master.
  3. . ./gradlew build.
  4. «0», . .
  5. CI- Git- .
  6. , Pull Request . .

, , master, .


. , . , master 50%. Jacoco . , , .

. . , .

: , 5 . . - . . Jacoco 60%. - Pull Request. , – 30%. 30% . , 5- – .

, , ? Pull Request 200 , 120 ( 60%). , . , . ? , .

CI

Jacoco .

SonarCloud.

. : , . CI-, Git-.

, .

, .  Checkstyle. , . , . , , (SonarCloud ).


CD

CD .

CI. CI/CD .

– CI- CI/CD-. , (CI CD) . .

. ,  GitLab CI, – Jenkins.

CI. . CD. CD ( , CI) .

, – . , Kubernetes. .

. , CD- /.

, . CD? .

  1. Pull Request.
  2. .
  3. Pull Request .
  4. .

, CI CD . .  Semantic Release  .

deploy (). «- - ». , , . .

CI, . , 01:00.

, . , 2 : develop master. develop , master – . master, CD- develop.

– . , develop . master – Pull Request.


CI/CD. .

  1. Jenkins. CI/CD . , (open-source). . Jenkins Groovy. , – .
  2. GitHub Actions. CI/CD GitHub GitHub Enterprise. Jenkins, GitHub Actions YAML-. , ( SonarCube). , .
  3. GitLab CI. GitHub Actions, . , GitLab CI , .
  4. Travis CI. CI/CD-. , . , , . , Travis CI open-source GitHub, GitLab BitBucket.

50% Merion Academy