This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tsg-tsg-os-buildimage/.gitlab-ci.yml
2024-10-30 11:45:16 +08:00

402 lines
10 KiB
YAML

#image: "git.mesalab.cn:7443/mesa_platform/build-env:master"
variables:
GIT_STRATEGY: "clone"
BUILD_BASED_IMAGE_ROCKYLINUX8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux-build-os"
GIT_DEPTH: 1
stages:
- build
- merge_build
- deploy
- notify
.build_onie_bin_x86_64_COTS:
script:
- env | sort
- make DALIY_BUILD_VERSION=$DALIY_BUILD_VERSION
- chmod +x ./tools/upload.sh
- ./tools/upload.sh
tags:
- tsg-os-builder-el8
resource_group: global
.build_container_images_x86_64_COTS:
script:
- env | sort
- make DALIY_BUILD_VERSION=$DALIY_BUILD_VERSION
- chmod +x ./tools/upload.sh
- ./tools/upload.sh
tags:
- tsg-os-builder-el8
resource_group: global
.notify_jobs_done:
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
script:
- chmod +x ./tools/notify-jobs-done.sh
- ./tools/notify-jobs-done.sh
tags:
- tsg-os-builder-el8
.build_tsg_vm_image:
cache:
key: $BUILD_OS_CACHE_KEY
paths:
- images/
script:
- find / -name images
- ls -lh
- export VM_IMG_NAME=$(basename -s .bin images/*-ONIE.bin)
- echo $VM_IMG_NAME
- cp images/$VM_IMG_NAME.bin /var/www/html/onie-installer-x86_64.bin
- httpd
- chmod +x ./tools/mk-kvm.sh
- cp ./tools/onie-base-kvm.img images/$VM_IMG_NAME.img
- ./tools/mk-kvm.sh images/$VM_IMG_NAME.img
- qemu-img convert -O qcow2 -c images/$VM_IMG_NAME.img images/$VM_IMG_NAME-kvm.img
- rm -rf images/$VM_IMG_NAME.img
- ls -lh images
- chmod +x ./tools/mk-kvm-gns3a.sh
- ./tools/mk-kvm-gns3a.sh images/$VM_IMG_NAME-kvm.img images/$VM_IMG_NAME.gns3a
- cat images/$VM_IMG_NAME.gns3a
- ls -lh images
- chmod +x ./tools/upload.sh
- ./tools/upload.sh
- find ./images/ -type f | grep x86_64_COTS | grep -v APP-BUNDLE | awk -F '/' '{print $NF}' > /tmp/has-built-files.txt
- rm -rf images/*
- mv /tmp/has-built-files.txt ./images
tags:
- tsg-os-builder-el8
resource_group: global
feature_branch_build_container_images_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: build
extends: .build_container_images_x86_64_COTS
variables:
PROFILE_LIST: x86_64_COTS_APP_BUNDLE
DALIY_BUILD_VERSION: 1
ENABLE_LICENSE_PROTECTED: 0
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
policy: push
except:
- tags
- /^dev-.*$/i
- /^rel-.*$/i
- /^update-.*$/i
feature_branch_build_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: merge_build
extends: .build_onie_bin_x86_64_COTS
needs: ["feature_branch_build_container_images_x86_64_COTS"]
variables:
PROFILE_LIST: x86_64_COTS
DALIY_BUILD_VERSION: 1
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
except:
- tags
- /^dev-.*$/i
- /^rel-.*$/i
- /^update-.*$/i
feature_branch_build_kvm_image_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: deploy
extends: .build_tsg_vm_image
needs: ["feature_branch_build_x86_64_COTS"]
variables:
BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS
except:
- tags
- /^dev-.*$/i
- /^rel-.*$/i
- /^update-.*$/i
feature_branch_notify_jobs_done_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: notify
extends: .notify_jobs_done
except:
- tags
- /^dev-.*$/i
- /^rel-.*$/i
- /^update-.*$/i
develop_build_container_images_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: build
extends: .build_container_images_x86_64_COTS
variables:
PROFILE_LIST: x86_64_COTS_APP_BUNDLE
UPLOAD_TO_FILE_REPO: 1
PULP3_FILE_REPO_NAME: tsg-os-images-develop
PULP3_FILE_DIST_NAME: tsg-os-images-develop
DALIY_BUILD_VERSION: 1
FILE_REPO_PATH: install/develop/tsg-os-images
ENABLE_LICENSE_PROTECTED: 0
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
policy: push
only:
- /^dev-.*$/i
develop_build_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: merge_build
extends: .build_onie_bin_x86_64_COTS
needs: ["develop_build_container_images_x86_64_COTS"]
variables:
PROFILE_LIST: x86_64_COTS
UPLOAD_TO_FILE_REPO: 1
PULP3_FILE_REPO_NAME: tsg-os-images-develop
PULP3_FILE_DIST_NAME: tsg-os-images-develop
DALIY_BUILD_VERSION: 1
FILE_REPO_PATH: install/develop/tsg-os-images
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
only:
- /^dev-.*$/i
develop_build_kvm_image_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: deploy
extends: .build_tsg_vm_image
needs: ["develop_build_x86_64_COTS"]
variables:
BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS
UPLOAD_TO_FILE_REPO: 1
PROFILE_LIST: KVM
PULP3_FILE_REPO_NAME: tsg-os-images-develop
PULP3_FILE_DIST_NAME: tsg-os-images-develop
FILE_REPO_PATH: install/develop/tsg-os-images
only:
- /^dev-.*$/i
develop_notify_jobs_done_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: notify
extends: .notify_jobs_done
only:
- /^dev-.*$/i
testing_build_container_images_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: build
extends: .build_container_images_x86_64_COTS
variables:
PROFILE_LIST: x86_64_COTS_APP_BUNDLE
UPLOAD_TO_FILE_REPO: 1
PULP3_FILE_REPO_NAME: tsg-os-images-testing
PULP3_FILE_DIST_NAME: tsg-os-images-testing
FILE_REPO_PATH: install/testing/tsg-os-images
DALIY_BUILD_VERSION: 1
ENABLE_LICENSE_PROTECTED: 1
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
policy: push
only:
- /^rel-.*$/i
testing_build_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: merge_build
needs: ["testing_build_container_images_x86_64_COTS"]
extends: .build_onie_bin_x86_64_COTS
variables:
PROFILE_LIST: x86_64_COTS
UPLOAD_TO_FILE_REPO: 1
PULP3_FILE_REPO_NAME: tsg-os-images-testing
PULP3_FILE_DIST_NAME: tsg-os-images-testing
FILE_REPO_PATH: install/testing/tsg-os-images
DALIY_BUILD_VERSION: 1
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
only:
- /^rel-.*$/i
testing_build_kvm_image_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: deploy
extends: .build_tsg_vm_image
needs: ["testing_build_x86_64_COTS"]
variables:
BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS
UPLOAD_TO_FILE_REPO: 1
PROFILE_LIST: KVM
PULP3_FILE_REPO_NAME: tsg-os-images-testing
PULP3_FILE_DIST_NAME: tsg-os-images-testing
FILE_REPO_PATH: install/testing/tsg-os-images
only:
- /^rel-.*$/i
testing_notify_jobs_done_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: notify
extends: .notify_jobs_done
variables:
ENABLE_NOTIFY_TESTING_JOBS_DONE: 1
only:
- /^rel-.*$/i
rc_build_container_images_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: build
extends: .build_container_images_x86_64_COTS
variables:
PROFILE_LIST: x86_64_COTS_APP_BUNDLE
UPLOAD_TO_FILE_REPO: 1
DALIY_BUILD_VERSION: 0
PULP3_FILE_REPO_NAME: tsg-os-images-rc
PULP3_FILE_DIST_NAME: tsg-os-images-rc
FILE_REPO_PATH: install/rc/tsg-os-images
ENABLE_LICENSE_PROTECTED: 1
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
policy: push
only:
- /^.*-rc.*$/i
rc_build_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: merge_build
extends: .build_onie_bin_x86_64_COTS
needs: ["rc_build_container_images_x86_64_COTS"]
variables:
PROFILE_LIST: x86_64_COTS
UPLOAD_TO_FILE_REPO: 1
DALIY_BUILD_VERSION: 0
PULP3_FILE_REPO_NAME: tsg-os-images-rc
PULP3_FILE_DIST_NAME: tsg-os-images-rc
FILE_REPO_PATH: install/rc/tsg-os-images
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
only:
- /^.*-rc.*$/i
rc_build_kvm_image_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: deploy
extends: .build_tsg_vm_image
needs: ["rc_build_x86_64_COTS"]
variables:
BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS
UPLOAD_TO_FILE_REPO: 1
PROFILE_LIST: KVM
PULP3_FILE_REPO_NAME: tsg-os-images-rc
PULP3_FILE_DIST_NAME: tsg-os-images-rc
FILE_REPO_PATH: install/rc/tsg-os-images
only:
- /^.*-rc.*$/i
rc_notify_jobs_done_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: notify
extends: .notify_jobs_done
variables:
ENABLE_NOTIFY_RC_JOBS_DONE: 1
only:
- /^.*-rc.*$/i
release_build_container_images_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: build
extends: .build_container_images_x86_64_COTS
variables:
PROFILE_LIST: x86_64_COTS_APP_BUNDLE
UPLOAD_TO_FILE_REPO: 1
DALIY_BUILD_VERSION: 0
PULP3_FILE_REPO_NAME: tsg-os-images-release
PULP3_FILE_DIST_NAME: tsg-os-images-release
FILE_REPO_PATH: install/release/tsg-os-images
ENABLE_LICENSE_PROTECTED: 1
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
policy: push
only:
- tags
except:
- /^.*-rc.*$/i
release_build_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: merge_build
extends: .build_onie_bin_x86_64_COTS
needs: ["release_build_container_images_x86_64_COTS"]
variables:
PROFILE_LIST: x86_64_COTS
UPLOAD_TO_FILE_REPO: 1
DALIY_BUILD_VERSION: 0
PULP3_FILE_REPO_NAME: tsg-os-images-release
PULP3_FILE_DIST_NAME: tsg-os-images-release
FILE_REPO_PATH: install/release/tsg-os-images
ENABLE_ALIYUN_INTERNAL_DOMAIN: 1
cache:
key: $CI_COMMIT_REF_SLUG-x86_64_COTS
paths:
- images/
only:
- tags
except:
- /^.*-rc.*$/i
release_build_kvm_image_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: deploy
extends: .build_tsg_vm_image
needs: ["release_build_x86_64_COTS"]
variables:
BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS
UPLOAD_TO_FILE_REPO: 1
PROFILE_LIST: KVM
PULP3_FILE_REPO_NAME: tsg-os-images-release
PULP3_FILE_DIST_NAME: tsg-os-images-release
FILE_REPO_PATH: install/release/tsg-os-images
only:
- tags
except:
- /^.*-rc.*$/i
release_notify_jobs_done_x86_64_COTS:
image: $BUILD_BASED_IMAGE_ROCKYLINUX8
stage: notify
extends: .notify_jobs_done
variables:
ENABLE_NOTIFY_RELEASE_JOBS_DONE: 1
only:
- tags
except:
- /^.*-rc.*$/i