From ba8507a0ef494d64ed1f3a930ce8c58974c0c2cc Mon Sep 17 00:00:00 2001 From: zuoxuesong-worker Date: Thu, 20 Nov 2025 10:44:37 +0800 Subject: [PATCH] feat: add kylin v10-sp1/sp2 (#2861) * feat: add kylin v10-sp1/sp2 Signed-off-by: xuesongzuo@yunify.com feat: add kylin v10-sp1/sp2 Signed-off-by: xuesongzuo@yunify.com feat: add kylin v10-sp1/sp2 Signed-off-by: xuesongzuo@yunify.com * feat: add kylin v10-sp1/sp2 Signed-off-by: xuesongzuo@yunify.com feat: add kylin v10-sp1/sp2 Signed-off-by: xuesongzuo@yunify.com feat: add kylin v10-sp1/sp2 Signed-off-by: xuesongzuo@yunify.com feat: add kylin v10-sp1/sp2 Signed-off-by: xuesongzuo@yunify.com --------- Signed-off-by: xuesongzuo@yunify.com --- .github/workflows/gen-repository-iso.yaml | 21 +++++++++ .../gen-repository-iso/dockerfile.kylinv10sp1 | 44 +++++++++++++++++++ .../gen-repository-iso/dockerfile.kylinv10sp2 | 44 +++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 hack/gen-repository-iso/dockerfile.kylinv10sp1 create mode 100644 hack/gen-repository-iso/dockerfile.kylinv10sp2 diff --git a/.github/workflows/gen-repository-iso.yaml b/.github/workflows/gen-repository-iso.yaml index 74dfcae6..37fa5709 100644 --- a/.github/workflows/gen-repository-iso.yaml +++ b/.github/workflows/gen-repository-iso.yaml @@ -24,6 +24,10 @@ jobs: dockerfile: dockerfile.debian11 - name: kylin-v10SP3-rpms dockerfile: dockerfile.kylinv10sp3 + - name: kylin-v10SP2-rpms + dockerfile: dockerfile.kylinv10sp2 + - name: kylin-v10SP1-rpms + dockerfile: dockerfile.kylinv10sp1 - name: ubuntu-18.04-debs dockerfile: dockerfile.ubuntu1804 - name: ubuntu-20.04-debs @@ -67,3 +71,20 @@ jobs: ${{ matrix.name }}.iso.sha256sum.txt ${{ matrix.name }}-amd64.iso ${{ matrix.name }}-arm64.iso + + - name: Synchronize artifacts to OSS + run: | + + rm -rf qsctl_v2.4.3_linux_amd64.tar.gz + wget https://attack-on-titan.gd2.qingstor.com/qsctl/v2.4.3/qsctl_v2.4.3_linux_amd64.tar.gz + tar -zxvf qsctl_v2.4.3_linux_amd64.tar.gz + rm -rf qsctl_v2.4.3_linux_amd64.tar.gz + mv qsctl_v2.4.3_linux_amd64 /usr/local/bin/qsctl + echo "access_key_id: ${{secrets.KS_QSCTL_ACCESS_KEY_ID}}" > qsctl-config.yaml + echo "secret_access_key: ${{ secrets.KS_QSCTL_SECRET_ACCESS_KEY }}" >> qsctl-config.yaml + + qsctl -c qsctl-config.yaml cp ${{ matrix.name }}.iso.sha256sum.txt qs://kubekey/kubesphere/kubekey/releases/download/iso-latest/${{ steps.prepare.outputs.version }}/${{ matrix.name }}.iso.sha256sum.txt + qsctl -c qsctl-config.yaml cp ${{ matrix.name }}-amd64.iso qs://kubekey/kubesphere/kubekey/releases/download/iso-latest/${{ steps.prepare.outputs.version }}/${{ matrix.name }}-amd64.iso + qsctl -c qsctl-config.yaml cp ${{ matrix.name }}-arm64.iso qs://kubekey/kubesphere/kubekey/releases/download/iso-latest/${{ steps.prepare.outputs.version }}/${{ matrix.name }}-arm64.iso + + rm -rf qsctl-config.yaml \ No newline at end of file diff --git a/hack/gen-repository-iso/dockerfile.kylinv10sp1 b/hack/gen-repository-iso/dockerfile.kylinv10sp1 new file mode 100644 index 00000000..841af0a2 --- /dev/null +++ b/hack/gen-repository-iso/dockerfile.kylinv10sp1 @@ -0,0 +1,44 @@ +FROM hxsoong/kylin:v10-sp1 as kylinv10 + +ARG TARGETARCH +ARG DIR=kylin-v10-${TARGETARCH}-rpms +ARG PKGS=".common[],.rpms[]" +ARG BUILD_TOOLS="createrepo_c genisoimage" + +ENV LANG=en_US.UTF-8 +ENV LC_ALL=en_US.UTF-8 + +RUN if [ "$TARGETARCH" = "amd64" ]; then \ + BASEURL="https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/x86_64/"; \ + else \ + BASEURL="https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/aarch64/"; \ + fi \ + && echo "[kylin-base]" > /etc/yum.repos.d/kylin.repo \ + && echo "name=Kylin Base" >> /etc/yum.repos.d/kylin.repo \ + && echo "baseurl=$BASEURL" >> /etc/yum.repos.d/kylin.repo \ + && echo "enabled=1" >> /etc/yum.repos.d/kylin.repo \ + && echo "gpgcheck=0" >> /etc/yum.repos.d/kylin.repo \ + && yum clean all \ + && yum makecache --disablerepo="*" --enablerepo="kylin-base" + +RUN yum install -y --disablerepo="*" --enablerepo="kylin-base" $BUILD_TOOLS \ + && yum clean all + +WORKDIR /package + +COPY packages.yaml . +COPY --from=mikefarah/yq:4.11.1 /usr/bin/yq /usr/bin/yq + +RUN mkdir -p ${DIR} \ + && yq eval "${PKGS}" packages.yaml | while read pkg; do \ + if [ -n "$pkg" ]; then \ + echo "Downloading $pkg..."; \ + yum install -y --downloadonly --downloaddir=${DIR} --disablerepo="*" --enablerepo="kylin-base" $pkg || echo "not found: $pkg"; \ + fi; \ + done + +RUN createrepo_c ${DIR} \ + && genisoimage -r -o ${DIR}.iso ${DIR} + +FROM scratch +COPY --from=kylinv10 /package/*.iso / diff --git a/hack/gen-repository-iso/dockerfile.kylinv10sp2 b/hack/gen-repository-iso/dockerfile.kylinv10sp2 new file mode 100644 index 00000000..7b77cae4 --- /dev/null +++ b/hack/gen-repository-iso/dockerfile.kylinv10sp2 @@ -0,0 +1,44 @@ +FROM hxsoong/kylin:v10-sp2 as kylinv10 + +ARG TARGETARCH +ARG DIR=kylin-v10-${TARGETARCH}-rpms +ARG PKGS=".common[],.rpms[]" +ARG BUILD_TOOLS="createrepo_c genisoimage" + +ENV LANG=en_US.UTF-8 +ENV LC_ALL=en_US.UTF-8 + +RUN if [ "$TARGETARCH" = "amd64" ]; then \ + BASEURL="https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/"; \ + else \ + BASEURL="https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/aarch64/"; \ + fi \ + && echo "[kylin-base]" > /etc/yum.repos.d/kylin.repo \ + && echo "name=Kylin Base" >> /etc/yum.repos.d/kylin.repo \ + && echo "baseurl=$BASEURL" >> /etc/yum.repos.d/kylin.repo \ + && echo "enabled=1" >> /etc/yum.repos.d/kylin.repo \ + && echo "gpgcheck=0" >> /etc/yum.repos.d/kylin.repo \ + && yum clean all \ + && yum makecache --disablerepo="*" --enablerepo="kylin-base" + +RUN yum install -y --disablerepo="*" --enablerepo="kylin-base" $BUILD_TOOLS \ + && yum clean all + +WORKDIR /package + +COPY packages.yaml . +COPY --from=mikefarah/yq:4.11.1 /usr/bin/yq /usr/bin/yq + +RUN mkdir -p ${DIR} \ + && yq eval "${PKGS}" packages.yaml | while read pkg; do \ + if [ -n "$pkg" ]; then \ + echo "Downloading $pkg..."; \ + yum install -y --downloadonly --downloaddir=${DIR} --disablerepo="*" --enablerepo="kylin-base" $pkg || echo "not found: $pkg"; \ + fi; \ + done + +RUN createrepo_c ${DIR} \ + && genisoimage -r -o ${DIR}.iso ${DIR} + +FROM scratch +COPY --from=kylinv10 /package/*.iso /