### 如何制作osvariant镜像

#### 
1. 获取低版本的openeuler-docker.$arch.tar.xz包，下面以官方openEuler-22.03-LTS为例制作openEuler-22.03-LTS-SP1的osvariant镜像：
```
wget https://repo.openeuler.org/openEuler-22.03-LTS/docker_img/aarch64/openEuler-docker.aarch64.tar.xz
```
2. 以openEuler-22.03-LTS镜像启动容器
```
docker load -i openEuler-docker.aarch64.tar.xz
docker run -it --rm openeuler-22.03-lts:latest /bin/bash
```
3. 进入容器后将/etc/yum.repos.d/openEuler.repo文件中openEuler-22.03-LTS替换为openEuler-22.03-LTS-SP1
```
sed -i 's/openEuler-22.03-LTS/openEuler-22.03-LTS-SP1/g' /etc/yum.repos.d/openEuler.repo
```
4. 安装git、git-lfs
```
yum install -y git-lfs
# 如果yum源中未提供该包，可将git-lfs-3.2.0-1.oe1.aarch64.rpm下载到宿主机后拷贝至容器中
docker cp git-lfs-3.2.0-1.oe1.aarch64.rpm 容器id:/   # git-lfs下载地址https://eulermaker.compass-ci.openeuler.openatom.cn/api//repositories/init-env/aarch64/Packages/
yum install -y git 
rpm -ivh git-lfs-3.2.0-1.oe1.aarch64.rpm
git lfs install
```
5. 将容器当前状态保存为一个新的镜像
```
docker commit 容器id openeuler:22.03-lts-sp1  # 该镜像名为arm架构
docker commit 容器id openeuler:22.03-lts-sp1-amd64 # x86架构统一加amd64
```

#### 推送镜像至k8s镜像仓

1、推送镜像

```
1、cd /c/cbs/container/dag
2、vim build # 修改build文件内容
#!/bin/sh
# SPDX-License-Identifier: MulanPSL-2.0+
# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.

. ../defconfig.sh

load_cci_defaults

# docker_skip_rebuild "cbs-dag"

# download_repo "cbs" "$git_branch_cbs"
# download_repo "lkp-tests" "$git_branch_lkp"

# docker build --no-cache -t cbs-dag .

push_image_remote "openeuler:22.03-lts-sp1"

3、./build
```
2、查看镜像是否推送成功
```
docker pull registry.kubeoperator.io:8082/openeuler:22.03-lts-sp1
```
