Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Ultimate 라이선스 이용시 사용해야 할 스캐닝 기능

Info
  • NodeJs 로 Project 를 생성, pipeline 테스트를 진행했을 때의 내용입니다.

GitLab

Ref. template

Stage

사용 StagesComment

Build

Jobs/Build.gitlab-ci.yml

build

  • Template project 에서만 사용 검토 중… (사용 미정)

  • gitlab container registry 는 사용하지 않음

    • Harbor private registry 를 설치하여 이미지를 관리

  • build/build.sh 에서 생성한 이미지를 gitlab container registry 로 push 처리하는 로직 존재 → docker push 시 에러발생 → 실패

Build Test

Jobs/Test.gitlab-ci.yml

test

  • Template project 에서만 사용 검토 중… (사용 미정)

  • NodeJs 기준, offline 상에서 stage 실행 시 특정 site 를 접속하려다 실패

Code Quality

Jobs/Code-Quality.gitlab-ci.yml

test

  • Harbor 에 저장되어 있는 이미지가 아닌 “codeclimate/codeclimate:0.85.15” 이미지를 사용

    • online 상 stage 실행 시, Harbor 에 있는 이미지가 아닌 이하 이미지를 참조

      • codeclimate/codeclimate:0.85.15

      • codeclimate/codeclimate-rubocop:latest

      • codeclimate/codeclimate-coffeelint:latest

      • codeclimate/codeclimate-csslint:latest

      • codeclimate/codeclimate-fixme:latest

      • docker rmi codeclimate/codeclimate-duplication:latest

      • docker rmi codeclimate/codeclimate-structure:latest

      • docker rmi codeclimate/codeclimate-eslint:latest

  • offline 상에서 stage 실행 시 실패

Deploy

Jobs/Deploy.gitlab-ci.yml

review, cleanup, staging, canary etc

  • 쿠버네티스 환경을 구축하지 못해 테스트 못함

Jobs/Deploy/ECS.gitlab-ci.yml

review

Browser Performance

Jobs/Browser-Performance-Testing.gitlab-ci.yml

performance

  • offline 상에서 stage 실행 시 실패

Dynamic Application Security Testing (DAST)

Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml

review, cleanup

  • 쿠버네티스 환경을 구축하지 못해 테스트 못함

Security/DAST.gitlab-ci.yml

dast

  • online 상에서는 성공

    • pipeline 조건 중, 쿠버네티스 등 체크항목을 주석처리하여 테스트 진행

Container Scanning

Security/Container-Scanning.gitlab-ci.yml

test

  • offline 상에서 stage 실행 시 실패

    • 에러 message : [klar] … > a Docker image value must be provieded

Dependency List

Dependency Scanning

Security/Dependency-Scanning.gitlab-ci.yml

test

  • offline 상에서 stage 실행 시 실패

License Compliance

Security/License-Scanning.gitlab-ci.yml

test

  • online / offline 상에서 stage 실행 시 성공

Static Application Security Testing (SAST)

Security/SAST.gitlab-ci.yml

test

  • 테스트 진행중

Application Security

Security/Secret-Detection.gitlab-ci.yml

test

  • local 파일로 설정 시 yml 문법 에러 발생

    • “artifacts: secret_detection” 관련 keyword 에러

이슈 사항

GitLab을 인터넷 연결이 안되는 내부망 내에서 사용하기 위해 다음과 같은 환경을 구성했습니다.

...

  • GitLab의 사용 환경은 Offline 환경이며, 별도의 Docker Registry를 구성하여 사용할 예정

  • GitLab Auto DevOps에서 제공하는 모든 Scanning 및 검사 기능을 별도의 파이프라인에 구성하여 전체 기능을 사용해야 함

  • 특히 GitLab 프로젝트는 아래의 3가지 유형으로 구성될 예정이며 각 언어에 맞는 GitLab scanner가 scanner 및 도커 이미지가 Offline 환경에서 동작해야함동작해야 함

    • Java (Maven) Project

    • Python (PyPI) Project

    • NodeJS (NPM) Project

  • 위 3가지 종류의 프로젝트가 Offline 환경에서, GitLab이 제공하는 scanning 및 검사 기능을 모두 활용할 수 있어야함있어야 함

  • 이에 대한 환경 구성 가이드가 절대적으로 필요함

...