컨텐트 라이프싸이클 관리
컨텐트 라이프싸이클 관리를 사용하면 패키지를 사용자 정의하고 테스트한 후 프로덕션 클라이언트를 업데이트할 수 있습니다. 제한된 유지 관리 기간 동안 업데이트를 적용해야 하는 경우 특히 유용합니다.
컨텐트 라이프싸이클 관리를 통해 소프트웨어 채널을 소스로 선택하고 환경에 맞게 조정하며 철저히 테스트를 수행한 후에 프로덕션 클라이언트에 설치할 수 있습니다.
벤더 채널을 직접 수정할 수는 없지만 복제한 후 패키지 및 사용자 정의 패치를 추가하거나 제거하여 복제를 수정할 수 있습니다. 이러한 복제된 채널을 테스트 클라이언트에 할당하여 예상대로 작동하는지 확인할 수 있습니다.
|
By default, cloned vendor channels match the original vendor channel and automatically select the dependencies. You can disable the automatic selection for cloned channels by adding the following option in java.cloned_channel_auto_selection = false |
그런 다음 모든 테스트가 통과되면 복제된 채널을 운영 서버로 승격할 수 있습니다.
이는 소프트웨어 채널이 라이프싸이클 동안 이동할 수 있는 일련의 환경을 통해 달성됩니다. 대부분의 환경 라이프싸이클에는 최소한 테스트 및 프로덕션 환경이 포함되지만 필요한 만큼 많은 환경을 가질 수 있습니다.
이 섹션에서는 기본 컨텐트 라이프싸이클 절차와 사용 가능한 필터에 대해 설명합니다. 보다 구체적인 예는 컨텐트 라이프싸이클 관리 예제에서 확인할 수 있습니다.
1. 컨텐트 라이프싸이클 프로젝트 생성
컨텐트 라이프싸이클을 설정하려면 프로젝트부터 시작해야 합니다. 프로젝트는 소프트웨어 채널 소스, 패키지를 찾기 위해 사용되는 필터 및 빌드 환경을 정의합니다.
SUSE Multi-Linux Manager Web UI에서 로 이동하고 프로젝트 생성을 클릭합니다.
In the
Labelfield, enter a label for your project. TheLabelfield only accepts lowercase letters, numbers, periods, hyphens, and underscores.In the
Namefield, enter a descriptive name for your project.생성 버튼을 클릭하여 프로젝트를 생성하고 프로젝트 페이지로 돌아갑니다.
소스 연결/해제를 클릭합니다.
In the
Sourcesdialog, select the source type, and select a base channel for your project. 선택한 기본 채널에 사용 가능한 하위 채널과 채널이 필수인지 권장인지에 대한 정보 등이 표시됩니다.필요한 하위 채널을 확인하고 저장을 클릭하여 프로젝트 페이지로 돌아갑니다. 이제 선택한 소프트웨어 채널이 표시되어야 합니다.
필터 연결/해제를 클릭합니다.
In the
Filtersdialog, select the filters you want to attach to the project. 새 필터를 생성하려면 새 필터 생성을 클릭합니다.환경 추가를 클릭합니다.
In the
Environment Lifecycledialog, give the first environment a name, a label, and a description, and click Save. TheLabelfield only accepts lowercase letters, numbers, periods, hyphens, and underscores.라이프싸이클에 대한 모든 환경이 완료될 때까지 환경을 계속 생성합니다. You can select the order of the environments in the lifecycle by selecting an environment in the
Insert beforefield when you create it.
2. 필터 유형
SUSE Multi-Linux Manager를 사용하면 다양한 유형의 필터를 생성하여 프로젝트 빌드에 사용되는 컨텐트를 제어할 수 있습니다. 필터를 사용하면 빌드에 포함되거나 제외되는 패키지를 선택할 수 있습니다. 예를 들어, 모든 커널 패키지를 제외하거나 일부 패키지의 특정 릴리스만 포함할 수 있습니다.
지원되는 필터:
-
패키지 필터링
-
이름 기준
-
이름, 에포크, 버전, 릴리스 및 아키텍처 기준
-
제공 이름 기준
-
-
패치 필터링
-
권고 이름 기준
-
권고 유형 기준
-
시놉시스 기준
-
키워드 기준
-
날짜 기준
-
영향을 받는 패키지 기준
-
-
모듈
-
스트림 기준
-
|
컨텐트 필터링 중에는 패키지 종속성이 해결되지 않습니다. |
필터와 함께 사용할 수 있는 여러 선택기가 있습니다. 사용 가능한 필터 유형은 선택한 필터 유형에 따라 다릅니다.
사용할 수 있는 선택기:
-
포함
-
일치(정규식 형식이어야 함)
-
같음
-
큼
-
크거나 같음
-
작거나 같음
-
작음
-
이상
2.1. Filter rule parameter
Each filter has a rule parameter that can be set to either Allow or Deny. The filters are processed like this:
-
If a package or patch satisfies a
Denyfilter, it is excluded from the result. -
If a package or patch satisfies an
Allowfilter, it is included in the result (even if it was excluded by aDenyfilter).Allowfilters for packages only operate on package filters andAllowfilters for patches only operate on patch filters. This means with a package filter you cannot add packages back in that were filtered out through patch filters or vice versa for patches that where filtered out through package filters.
This behavior is useful when you want to exclude large number of packages or patches using a general Deny filter and "cherry-pick" specific packages or patches with specific Allow filters.
|
컨텐트 필터는 조직 전체에 적용되며 프로젝트 간에 공유할 수 있습니다. |
|
프로젝트에 이미 빌드된 소스가 포함되어 있는 경우 환경을 추가하면 기존 내용이 자동으로 채워집니다. 내용은 주기의 이전 환경이 있는 경우 해당 환경에서 가져옵니다. 이전 환경이 없으면 프로젝트 소스가 다시 빌드될 때까지 비어 있습니다. |
3. 필터 템플릿
몇 가지 일반적인 시나리오에 대한 필터를 편리하게 생성할 수 있도록 SUSE Multi-Linux Manager는 필터 템플릿을 제공합니다. 이러한 템플릿을 적용하면 특정 사용 사례에 맞게 사전에 필터 집합을 만드는 데 유용합니다.
이 섹션에서는 사용할 수 있는 템플릿과 그 사용법에 대해 설명합니다.
3.1. SUSE 제품 기반 라이브 패치
라이브 패치가 포함된 프로젝트에서는 정기적인 향후 커널 패키지를 제외해야 라이브 패치 패키지만 클라이언트에 대한 업데이트로 제공됩니다. 반면에 이미 설치된 일반 커널 패키지는 시스템 무결성을 유지하기 위해 여전히 포함되어야 합니다.
이 템플릿을 적용하면 이 동작을 수행하기 위해 필요한 필터 세 개가 생성됩니다.
-
Allow patches that contain
kernel-defaultpackage equal to a base kernel version -
Deny patches that contain
reboot_suggestedkeyword -
Deny patches that contain a package which provides the name
installhint(reboot-needed)
라이브 패치 프로젝트를 설정하는 방법에 대한 자세한 내용은 administration:content-lifecycle-examples.adoc#exclude-higher-kernel-version에서 확인할 수 있습니다.
SUSE Multi-Linux Manager Web UI에서 로 이동하고 필터 생성을 클릭합니다.
대화 상자에서 템플릿 사용을 클릭합니다. 그에 따라 입력이 변경됩니다.
In the
Prefixfield, type a name prefix. This value will be prepended to the name of every individual filter created by the template. If the template is being applied in the context of a project, this field will be prefilled with the project label.In the
Templatefield, selectLive patching based on a SUSE product.In the
Productfield, select the product you wish to set up live patching for.In the
Kernelfield, select a kernel version from the list of versions available in the selected product. The filter to deny the later regular kernel patches will be based on this version.저장을 클릭하여 필터를 생성합니다.
로 이동하여 프로젝트를 선택합니다.
필터 연결/해제를 클릭합니다.
지정된 접두사가 있는 필터 세 개를 선택하고 저장을 클릭합니다.
3.2. 시스템 기반 라이브 패치
등록된 특정 시스템에 설치된 커널 버전을 기반으로 라이브 패치 프로젝트를 설정하려면 "시스템 기반 라이브 패치" 템플릿을 사용할 수 있습니다.
이 템플릿을 적용하면 이 동작을 수행하기 위해 필요한 필터 세 개가 생성됩니다.
-
Allow patches that contain
kernel-defaultpackage equal to a base kernel version -
Deny patches that contain
reboot_suggestedkeyword -
Deny patches that contain a package which provides the name
installhint(reboot-needed)
라이브 패치 프로젝트를 설정하는 방법에 대한 자세한 내용은 administration:content-lifecycle-examples.adoc#exclude-higher-kernel-version에서 확인할 수 있습니다.
SUSE Multi-Linux Manager Web UI에서 로 이동하고 필터 생성을 클릭합니다.
대화 상자에서 템플릿 사용을 클릭합니다. 그에 따라 입력이 변경됩니다.
In the
Prefixfield, type a name prefix. This value will be prepended to the name of every filter created by the template. If the template is being applied in the context of a project, this field will be prefilled with the project label.In the
Templatefield, selectLive patching based on a specific system.In the
Systemfield, select a system from the list, or start typing a system name to narrow down the options.In the
Kernelfield, select a kernel version from the list of versions installed in the selected system. The filter to deny the later regular kernel patches will be based on this version.저장을 클릭하여 필터를 생성합니다.
로 이동하여 프로젝트를 선택합니다.
필터 연결/해제를 클릭합니다.
지정된 접두사가 있는 필터 세 개를 선택하고 저장을 클릭합니다.
3.3. 기본값이 있는 AppStream 모듈
프로젝트에 포함된 모듈형 리포지토리에서 모든 모듈을 사용할 수 있도록 하려면 이 필터 템플릿을 사용하여 자동으로 추가할 수 있습니다.
적용되면 이 템플릿은 모듈 및 기본 스트림별로 AppStream 필터를 생성합니다.
이 프로세스가 프로젝트 페이지에서 수행되면 필터가 프로젝트에 자동으로 추가됩니다. 그렇지 않으면 생성된 필터를 에 나열하고 필요에 따라 모든 프로젝트에 추가할 수도 있습니다.
각 개별 필터를 편집하여 다른 모듈 스트림을 선택하거나 완전히 제거하여 대상 리포지토리에서 해당 모듈을 제외할 수 있습니다.
|
모든 모듈 스트림이 서로 호환되는 것은 아니므로, 개별 스트림을 변경하면 모듈 종속성을 성공적으로 해결하지 못할 수 있습니다. 이 경우 프로젝트 세부 사항 페이지의 필터 창에 문제를 설명하는 오류가 표시되고 모든 모듈 선택이 호환될 때까지 빌드 버튼이 비활성화됩니다. |
|
Red Hat Enterprise Linux 9 이상 모듈에는 정의된 기본 스트림이 없습니다. 그러므로 Red Hat Enterprise Linux 9개의 소스와 함께 이 템플릿을 사용해도 효과가 없습니다. |
컨텐트 라이프싸이클 관리를 사용하여 AppStream 리포지토리를 설정하는 방법에 대한 자세한 내용은 administration:content-lifecycle-examples.adoc#appstream-filters에서 확인할 수 있습니다.
SUSE Multi-Linux Manager Web UI에서 로 이동하여 프로젝트를 선택합니다.
In the
Filterssection, click Attach/Detach Filters, and then click Create New Filter.대화 상자에서 템플릿 사용을 클릭합니다. 그에 따라 입력이 변경됩니다.
In the
Prefixfield, type a name prefix. This value will be prepended to the name of every filter created by the template. If the template is being applied in the context of a project, this field will be prefilled with the project label.In the
Templatefield, selectAppStream modules with defaults.In the
Channelfield, select a modular channel to get the modules from. In this dropdown, only the modular channels are displayed.저장을 클릭하여 필터를 생성합니다.
Scroll to the
Filterssection to see the newly attached AppStream filters.개별 필터를 편집/제거하여 필요한 대로 프로젝트를 조정할 수 있습니다.
4. 컨텐트 라이프싸이클 프로젝트 빌드
프로젝트를 생성하고 환경을 정의하며 소스와 필터를 첨부하면 처음으로 프로젝트를 빌드할 수 있습니다.
빌드는 연결된 소스에 필터를 적용하고 이를 프로젝트의 첫 번째 환경에 복제합니다.
You can use the same vendor channels as sources for multiple content projects. In this case, SUSE Multi-Linux Manager does not create new patch clones for each cloned channel. Instead, a single patch clone is shared between all of your cloned channels. This can cause problems if a vendor modifies a patch; for example, if the patch is retracted, or the packages within the patch are changed. When you build one of the content projects, all the channels that share the cloned patch are synchronized with the original by default, even if the channels are in other environments of your content project, or other content project channels in your organization. You can change this behavior by turning off automatic patch synchronization in your organization settings. To manually synchronize the patch later for all channels sharing the patch, navigate to , click the channel you want to synchronize and navigate to the Sync subtab. Even manual patch synchronization affects all organization channels sharing the patch.
SUSE Multi-Linux Manager Web UI에서 로 이동하고 빌드할 프로젝트를 선택합니다.
사용 가능한 환경이 있는지 확인한 후 프로젝트를 빌드하십시오.
첨부된 소스 및 필터를 검토하고 빌드를 클릭합니다.
이 빌드의 변경 또는 업데이트 사항을 설명하는 버전 메시지를 제공합니다.
You can monitor build progress in the
Environment Lifecyclesection.
빌드가 완료되면 환경 버전이 하나씩 증가하고 소프트웨어 채널과 같이 빌드된 소스를 클라이언트에 할당할 수 있습니다.
5. 환경 승격
프로젝트가 빌드되면 빌드된 소스를 순차적으로 환경으로 승격할 수 있습니다.
SUSE Multi-Linux Manager Web UI에서 로 이동하고 작업할 프로젝트를 선택합니다.
In the
Environment Lifecyclesection, locate the environment to promote to its successor, and click Promote.You can monitor build progress in the
Environment Lifecyclesection.
6. 환경에 클라이언트 할당
When you build and promote content lifecycle projects, SUSE Multi-Linux Manager creates a tree of software channels. To add clients to the environment, assign the base and child software channels to your client using in the System Details page for the client.
|
새로 추가된 복제된 채널은 클라이언트에 자동으로 할당되지 않습니다. 소스를 추가 또는 승격하는 경우 채널 할당을 수동으로 확인하고 업데이트해야 합니다. 자동 할당은 향후 버전에서 SUSE Multi-Linux Manager에 추가될 예정입니다. |