2.7. 기본 빌드 수행

다음 섹션에서는 빌드 시작 및 취소, BuildConfig 삭제, 빌드 세부 정보 보기, 빌드 로그 액세스 등 기본 빌드 작업에 대한 지침을 제공합니다.

2.7.1. 빌드 시작

현재 프로젝트의 기존 빌드 구성에서 새 빌드를 수동으로 시작할 수 있습니다.

프로세스

빌드를 수동으로 시작하려면 다음 명령을 입력합니다.

$ oc start-build <buildconfig_name>

2.7.1.1. 빌드 재실행

--from-build 플래그를 사용하여 빌드를 수동으로 다시 실행할 수 있습니다.

프로세스

  • 빌드를 수동으로 다시 실행하려면 다음 명령을 입력합니다.

    $ oc start-build --from-build=<build_name>

2.7.1.2. 빌드 로그 스트리밍

--follow 플래그를 지정하여 빌드의 로그를 stdout에서 스트리밍할 수 있습니다.

프로세스

  • stdout에서 빌드 로그를 수동으로 스트리밍하려면 다음 명령을 입력합니다.

    $ oc start-build <buildconfig_name> --follow

2.7.1.3. 빌드 시작 시 환경 변수 설정

--env 플래그를 지정하여 빌드에 원하는 환경 변수를 설정할 수 있습니다.

프로세스

  • 원하는 환경 변수를 지정하려면 다음 명령을 입력합니다.

    $ oc start-build <buildconfig_name> --env=<key>=<value>

2.7.1.4. 소스를 사용하여 빌드 시작

빌드에 Git 소스 가져오기 또는 Dockerfile을 사용하는 대신 소스를 직접 내보내 빌드를 시작할 수 있습니다. 소스는 Git 또는 SVN 작업 디렉터리, 배포하려는 사전 빌드된 바이너리 아티팩트 세트 또는 단일 파일의 콘텐츠일 수 있습니다. 이 작업은 start-build 명령에 다음 옵션 중 하나를 지정하여 수행할 수 있습니다.

옵션설명

--from-dir=<directory>

보관하여 빌드에 바이너리 입력으로 사용할 디렉터리를 지정합니다.

--from-file=<file>

빌드 소스에서 유일한 파일이 될 단일 파일을 지정합니다. 이 파일은 제공된 원래 파일과 파일 이름이 동일한 빈 디렉터리의 루트에 배치됩니다.

--from-repo=<local_source_repo>

빌드에 바이너리 입력으로 사용할 로컬 리포지토리의 경로를 지정합니다. 빌드에 사용되는 분기, 태그 또는 커밋을 제어하는 --commit 옵션을 추가합니다.

이러한 옵션을 빌드에 직접 전달하면 해당 콘텐츠가 빌드로 스트리밍되어 현재 빌드 소스 설정을 덮어씁니다.

참고

바이너리 입력에서 트리거된 빌드는 서버의 소스를 유지하지 않으므로 기본 이미지 변경에 의해 트리거된 리빌드는 빌드 구성에 지정된 소스를 사용합니다.

프로세스

  • 다음 명령을 통해 소스에서 빌드를 시작하여 태그 v2의 아카이브로 로컬 Git 리포지토리의 콘텐츠를 보냅니다.

    $ oc start-build hello-world --from-repo=../hello-world --commit=v2

2.7.2. 빌드 취소

웹 콘솔을 사용하거나 다음 CLI 명령을 사용하여 빌드를 취소할 수 있습니다.

프로세스

  • 빌드를 수동으로 취소하려면 다음 명령을 입력합니다.

    $ oc cancel-build <build_name>

2.7.2.1. 여러 빌드 취소

다음 CLI 명령으로 여러 빌드를 취소할 수 있습니다.

프로세스

  • 여러 빌드를 수동으로 취소하려면 다음 명령을 입력합니다.

    $ oc cancel-build <build1_name> <build2_name> <build3_name>

2.7.2.2. 모든 빌드 취소

다음 CLI 명령을 사용하여 빌드 구성에서 모든 빌드를 취소할 수 있습니다.

프로세스

  • 모든 빌드를 취소하려면 다음 명령을 입력합니다.

    $ oc cancel-build bc/<buildconfig_name>

2.7.2.3. 지정된 상태의 모든 빌드 취소

지정된 상태(new 또는 pending 등)의 빌드는 모두 취소하고 다른 상태의 빌드는 무시할 수 있습니다.

프로세스

  • 지정된 상태의 빌드를 모두 취소하려면 다음 명령을 입력합니다.

    $ oc cancel-build bc/<buildconfig_name>

2.7.3. BuildConfig 삭제

다음 명령을 사용하여 BuildConfig를 삭제할 수 있습니다.

프로세스

  • BuildConfig를 삭제하려면 다음 명령을 입력합니다.

    $ oc delete bc <BuildConfigName>

    이 명령은 이 BuildConfig에서 인스턴스화한 빌드도 모두 삭제합니다.

  • BuildConfig는 삭제하고 BuildConfig에서 인스턴스화한 빌드는 유지하려면 다음 명령을 입력할 때 --cascade=false 플래그를 지정하십시오.

    $ oc delete --cascade=false bc <BuildConfigName>

2.7.4. 빌드 세부 정보 보기

웹 콘솔을 사용하거나 oc describe CLI 명령을 사용하여 빌드 세부 정보를 볼 수 있습니다.

다음을 포함한 정보가 표시됩니다.

  • 빌드 소스입니다.
  • 빌드 전략입니다.
  • 출력 대상입니다.
  • 대상 레지스트리의 이미지 다이제스트입니다.
  • 빌드를 생성한 방법입니다.

빌드에서 Docker 또는 Source 전략을 사용하는 경우 oc describe 출력에 커밋 ID, 작성자, 커밋, 메시지 등 해당 빌드에 사용된 소스 리버전 정보도 포함됩니다.

프로세스

  • 빌드 세부 정보를 보려면 다음 명령을 입력합니다.

    $ oc describe build <build_name>

2.7.5. 빌드 로그에 액세스

웹 콘솔 또는 CLI를 사용하여 빌드 로그에 액세스할 수 있습니다.

프로세스

  • 빌드를 직접 사용하여 로그를 스트리밍하려면 다음 명령을 입력합니다.

    $ oc describe build <build_name>

2.7.5.1. BuildConfig 로그에 액세스

웹 콘솔 또는 CLI를 사용하여 BuildConfig 로그에 액세스할 수 있습니다.

프로세스

  • BuildConfig의 최신 빌드 로그를 스트리밍하려면 다음 명령을 입력합니다.

    $ oc logs -f bc/<buildconfig_name>

2.7.5.2. 특정 버전 빌드의 BuildConfig 로그에 액세스

웹 콘솔 또는 CLI를 사용하여 특정 버전 빌드의 BuildConfig 로그에 액세스할 수 있습니다.

프로세스

  • 특정 버전 빌드의 BuildConfig 로그를 스트리밍하려면 다음 명령을 입력합니다.

    $ oc logs --version=<number> bc/<buildconfig_name>

2.7.5.3. 로그 세부 정보 표시 활성화

BuildConfig에서 sourceStrategy 또는 dockerStrategy의 일부로 BUILD_LOGLEVEL 환경 변수를 전달하여 더 세부적인 출력을 제공할 수 있습니다.

참고

관리자는 env/BUILD_LOGLEVEL을 구성하여 전체 OpenShift Container Platform 인스턴스에 대한 기본 빌드 세부 정보 표시 수준을 설정할 수 있습니다. 이 기본값은 지정된 BuildConfigBUILD_LOGLEVEL을 지정하여 덮어쓸 수 있습니다. 명령줄에서 --build-logleveloc start-build로 전달하여 바이너리가 아닌 빌드에 더 높은 우선순위를 지정할 수 있습니다.

소스 빌드에 사용 가능한 로그 수준은 다음과 같습니다.

수준 0

assemble 스크립트를 실행하는 컨테이너의 출력과 발생한 모든 오류를 생성합니다. 이는 기본값입니다.

수준 1

실행된 프로세스에 대한 기본 정보를 생성합니다.

수준 2

실행된 프로세스에 대한 매우 자세한 정보를 생성합니다.

수준 3

실행된 프로세스에 대한 자세한 정보와 아카이브 콘텐츠 목록을 생성합니다.

수준 4

현재는 수준 3과 동일한 정보를 제공합니다.

수준 5

위 수준에서 언급한 모든 정보를 생성하고 Docker 내보내기 메시지도 제공합니다.

프로세스

  • 더 세부적인 출력을 제공하기 위해 BuildConfig에서 sourceStrategy 또는 dockerStrategy의 일부로 BUILD_LOGLEVEL 환경 변수를 전달합니다.

    sourceStrategy:
    ...
      env:
        - name: "BUILD_LOGLEVEL"
          value: "2" 1
    1
    이 값을 원하는 로그 수준으로 조정합니다.