From 37aa9429e780633b1ae9d098b2e009aafcd8ca14 Mon Sep 17 00:00:00 2001 From: Alan Peng Date: Tue, 27 Dec 2022 01:13:26 -0500 Subject: [PATCH] Upgrade Kubernetes to v1.25.1 --- .circleci/config.yml | 858 +++++++++++++++++++++++++++++++++++++++++++ .gitlab-ci.yml | 213 ----------- README.md | 2 +- 3 files changed, 859 insertions(+), 214 deletions(-) create mode 100644 .circleci/config.yml delete mode 100644 .gitlab-ci.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..ce0cf7c --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,858 @@ +jobs: + build-branches-amd64-base-ubuntu20: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 ubuntu20 base container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -e OS=$OS20 -e VERSION=$K8S_VERSION -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c \ + 'rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh "python python3-docker python-chardet python3-requests docker-compose chrony jq ipvsadm graphviz nfs-common gnupg gnupg2 ipset" && \ + mkdir /root/debs/ubuntu20 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + apt-get update && apt-get install -y apt-transport-https curl software-properties-common apt-utils gnupg1 gnupg2 && \ + echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add - && \ + curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers-cri-o.gpg add - && \ + apt-get update && \ + /root/apt-download-without-version.sh "cri-o cri-o-runc podman" && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + ls /root/debs/ubuntu20/' + docker build -t wise2c/apt-source:amd64-base20 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-base20 + + build-tags-amd64-base-ubuntu20: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 ubuntu20 base container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -e OS=$OS20 -e VERSION=$K8S_VERSION -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c \ + 'rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh "python python3-docker python-chardet python3-requests docker-compose chrony jq ipvsadm graphviz nfs-common gnupg gnupg2 ipset" && \ + mkdir /root/debs/ubuntu20 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + apt-get update && apt-get install -y apt-transport-https curl software-properties-common apt-utils gnupg1 gnupg2 && \ + echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add - && \ + curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers-cri-o.gpg add - && \ + apt-get update && \ + /root/apt-download-without-version.sh "cri-o cri-o-runc podman" && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + ls /root/debs/ubuntu20/' + docker build -t wise2c/apt-source:amd64-base20 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-base20 + + build-branches-amd64-base-ubuntu18: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 ubuntu18 base container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -e OS=$OS18 -e VERSION=$K8S_VERSION -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:18.04 bash -c \ + 'rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh "python python3-docker python-chardet python3-requests docker-compose chrony jq ipvsadm graphviz nfs-common gnupg gnupg2 ipset" && \ + mkdir /root/debs/ubuntu18 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18 && \ + apt-get update && apt-get install -y apt-transport-https curl software-properties-common apt-utils gnupg1 gnupg2 && \ + echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add - && \ + curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers-cri-o.gpg add - && \ + apt-get update && \ + /root/apt-download-without-version.sh "cri-o cri-o-runc podman" && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18 && \ + ls /root/debs/ubuntu18 && \ + cd /root/debs/ubuntu18' + docker build -t wise2c/apt-source:amd64-base18 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-base18 + + build-tags-amd64-base-ubuntu18: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 ubuntu18 base container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -e OS=$OS18 -e VERSION=$K8S_VERSION -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:18.04 bash -c \ + 'rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh "python python3-docker python-chardet python3-requests docker-compose chrony jq ipvsadm graphviz nfs-common gnupg gnupg2 ipset" && \ + mkdir /root/debs/ubuntu18 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18 && \ + apt-get update && apt-get install -y apt-transport-https curl software-properties-common apt-utils gnupg1 gnupg2 && \ + echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add - && \ + curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers-cri-o.gpg add - && \ + apt-get update && \ + /root/apt-download-without-version.sh "cri-o cri-o-runc podman" && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18 && \ + ls /root/debs/ubuntu18 && \ + cd /root/debs/ubuntu18' + docker build -t wise2c/apt-source:amd64-base18 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-base18 + + build-branches-amd64-ceph-ubuntu20: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 ubuntu20 ceph container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c \ + "rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh 'apt-transport-https curl software-properties-common apt-utils' && \ + mkdir /root/debs/ubuntu20 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils && \ + curl -fsSL https://download.ceph.com/keys/release.asc | apt-key add - && \ + echo deb https://download.ceph.com/debian-${CEPH_VERSION}/ focal main | tee /etc/apt/sources.list.d/ceph.list && \ + apt-get update && \ + /root/apt-download-without-version.sh 'ceph ceph-deploy ceph-mgr ceph-mds rbd-nbd rbd-mirror radosgw open-vm-tools' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + cd /root/debs/ubuntu20" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:amd64-ceph20 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-ceph20 + + build-tags-amd64-ceph-ubuntu20: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 ubuntu20 ceph container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c \ + "rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh 'apt-transport-https curl software-properties-common apt-utils' && \ + mkdir /root/debs/ubuntu20 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils && \ + curl -fsSL https://download.ceph.com/keys/release.asc | apt-key add - && \ + echo deb https://download.ceph.com/debian-${CEPH_VERSION}/ focal main | tee /etc/apt/sources.list.d/ceph.list && \ + apt-get update && \ + /root/apt-download-without-version.sh 'ceph ceph-deploy ceph-mgr ceph-mds rbd-nbd rbd-mirror radosgw open-vm-tools' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + cd /root/debs/ubuntu20" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:amd64-ceph20 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-ceph20 + + build-branches-amd64-ceph-ubuntu18: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 ubuntu18 ceph container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:18.04 bash -c \ + "apt-get update && \ + /root/apt-download-without-version.sh 'apt-transport-https curl software-properties-common apt-utils' && \ + mkdir /root/debs/ubuntu18 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils && \ + curl -fsSL https://download.ceph.com/keys/release.asc | apt-key add - && \ + echo deb https://download.ceph.com/debian-${CEPH_VERSION}/ bionic main | tee /etc/apt/sources.list.d/ceph.list && \ + apt-get update && \ + /root/apt-download-without-version.sh 'ceph ceph-deploy ceph-mgr ceph-mds rbd-nbd rbd-mirror radosgw radosgw-agent open-vm-tools' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:amd64-ceph18 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-ceph18 + + build-tags-amd64-ceph-ubuntu18: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 ubuntu18 ceph container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:18.04 bash -c \ + "apt-get update && \ + /root/apt-download-without-version.sh 'apt-transport-https curl software-properties-common apt-utils' && \ + mkdir /root/debs/ubuntu18 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils && \ + curl -fsSL https://download.ceph.com/keys/release.asc | apt-key add - && \ + echo deb https://download.ceph.com/debian-${CEPH_VERSION}/ bionic main | tee /etc/apt/sources.list.d/ceph.list && \ + apt-get update && \ + /root/apt-download-without-version.sh 'ceph ceph-deploy ceph-mgr ceph-mds rbd-nbd rbd-mirror radosgw radosgw-agent open-vm-tools' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:amd64-ceph18 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-ceph18 + + build-branches-amd64-k8s-docker: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 k8s container image + command: | + docker run -itd --name=base20 wise2c/apt-source:amd64-base20 + docker cp base20:/usr/share/nginx/html/debs base20 + docker stop base20 && docker rm base20 + docker run -itd --name=base18 wise2c/apt-source:amd64-base18 + docker cp base18:/usr/share/nginx/html/debs base18 + docker stop base18 && docker rm base18 + docker run -itd --name=ceph20 wise2c/apt-source:amd64-ceph20 + docker cp ceph20:/usr/share/nginx/html/debs ceph20 + docker stop ceph20 && docker rm ceph20 + docker run -itd --name=ceph18 wise2c/apt-source:amd64-ceph18 + docker cp ceph18:/usr/share/nginx/html/debs ceph18 + docker stop ceph18 && docker rm ceph18 + mkdir -p ${PWD}/debs/ubuntu20 + mkdir -p ${PWD}/debs/ubuntu18 + mv base20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ + mv base18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ + mv ceph20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ + mv ceph18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ + sudo chmod +x ${PWD}/apt-download.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/kubernetes.list:/root/kubernetes.list -v ${PWD}/apt-download.sh:/root/apt-download.sh -v ${PWD}/breeze-keygen.txt:/root/breeze ubuntu:20.04 bash -c \ + "rm -f /etc/apt/apt.conf.d/docker-clean && \ + echo 'apt-get updating...' && \ + apt-get update > build.log 2>&1 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils > build.log 2>&1 && \ + curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ + add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable' && \ + cp /root/kubernetes.list /etc/apt/sources.list.d/ && \ + apt-get update > build.log 2>&1 && \ + /root/apt-download.sh 'python-apt docker-ce-cli=${DOCKER_VERSION}~ubuntu-focal docker-ce=${DOCKER_VERSION}~ubuntu-focal kubelet=${KUBE_VERSION} kubectl=${KUBE_VERSION} kubeadm=${KUBE_VERSION}' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + rm -f /root/debs/ubuntu20/docker.io*.deb && \ + cd /root/debs/ubuntu20 && \ + apt-get download libseccomp2 && \ + echo '##### list docker and kubernetes packages begin #####' && \ + ls | grep -E 'docker|kube' && \ + echo '##### list docker and kubernetes packages end #####' && \ + apt-ftparchive packages . > Packages && \ + apt-ftparchive release . > Release" + docker run -t --rm -v ${PWD}/debs:/root/debs -v ${PWD}/kubernetes.list:/root/kubernetes.list -v ${PWD}/apt-download.sh:/root/apt-download.sh -v ${PWD}/breeze-keygen.txt:/root/breeze ubuntu:18.04 bash -c \ + "echo 'apt-get updating...' && \ + apt-get update > build.log 2>&1 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils > build.log 2>&1 && \ + curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ + add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable' && \ + cp /root/kubernetes.list /etc/apt/sources.list.d/ && \ + apt-get update > build.log 2>&1 && \ + /root/apt-download.sh 'python-apt docker-ce-cli=${DOCKER_VERSION}~ubuntu-bionic docker-ce=${DOCKER_VERSION}~ubuntu-bionic kubelet=${KUBE_VERSION} kubectl=${KUBE_VERSION} kubeadm=${KUBE_VERSION}' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18 && \ + rm -f /root/debs/ubuntu18/docker.io*.deb && \ + cd /root/debs/ubuntu18 && \ + apt-get download libseccomp2 libapt-pkg5.0 && \ + echo '##### list docker and kubernetes packages begin #####' && \ + ls | grep -E 'docker|kube' && \ + echo '##### list docker and kubernetes packages end #####' && \ + apt-ftparchive packages . > Packages && \ + apt-ftparchive release . > Release && \ + apt-get install -y gnupg gnupg2 > build.log 2>&1 && \ + echo wise2cbreeze > ./breeze.key && \ + cp /root/breeze ./ && \ + gpg2 --batch --gen-key breeze && \ + gpg2 --no-default-keyring --secret-keyring ./breeze.sec --keyring ./breeze.pub --list-secret-keys && \ + gpg2 --pinentry-mode loopback --passphrase-file=./breeze.key --keyring ./breeze.pub --clearsign -o InRelease Release && \ + gpg2 -abs --keyring ./breeze.pub -o Release.gpg Release && \ + cd /root/debs/ubuntu20 && \ + cp ../ubuntu18/breeze.pub ./ && \ + cp ../ubuntu18/breeze.key ./ && \ + gpg2 --pinentry-mode loopback --passphrase-file=./breeze.key --keyring ./breeze.pub --clearsign -o InRelease Release && \ + gpg2 -abs --keyring ./breeze.pub -o Release.gpg Release && \ + rm -f ../ubuntu18/breeze && \ + rm -f ../ubuntu18/breeze.key && \ + rm -f ./breeze && \ + rm -f ./breeze.key" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:amd64-$CIRCLE_BRANCH . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-$CIRCLE_BRANCH + + build-tags-amd64-k8s-docker: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + machine: true + steps: + - checkout + - run: + name: Build an amd64 k8s container image + command: | + docker run -itd --name=base20 wise2c/apt-source:amd64-base20 + docker cp base20:/usr/share/nginx/html/debs base20 + docker stop base20 && docker rm base20 + docker run -itd --name=base18 wise2c/apt-source:amd64-base18 + docker cp base18:/usr/share/nginx/html/debs base18 + docker stop base18 && docker rm base18 + docker run -itd --name=ceph20 wise2c/apt-source:amd64-ceph20 + docker cp ceph20:/usr/share/nginx/html/debs ceph20 + docker stop ceph20 && docker rm ceph20 + docker run -itd --name=ceph18 wise2c/apt-source:amd64-ceph18 + docker cp ceph18:/usr/share/nginx/html/debs ceph18 + docker stop ceph18 && docker rm ceph18 + mkdir -p ${PWD}/debs/ubuntu20 + mkdir -p ${PWD}/debs/ubuntu18 + mv base20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ + mv base18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ + mv ceph20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ + mv ceph18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ + sudo chmod +x ${PWD}/apt-download.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/kubernetes.list:/root/kubernetes.list -v ${PWD}/apt-download.sh:/root/apt-download.sh -v ${PWD}/breeze-keygen.txt:/root/breeze ubuntu:20.04 bash -c \ + "rm -f /etc/apt/apt.conf.d/docker-clean && \ + echo 'apt-get updating...' && \ + apt-get update > build.log 2>&1 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils > build.log 2>&1 && \ + curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ + add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable' && \ + cp /root/kubernetes.list /etc/apt/sources.list.d/ && \ + apt-get update > build.log 2>&1 && \ + /root/apt-download.sh 'python-apt docker-ce-cli=${DOCKER_VERSION}~ubuntu-focal docker-ce=${DOCKER_VERSION}~ubuntu-focal kubelet=${KUBE_VERSION} kubectl=${KUBE_VERSION} kubeadm=${KUBE_VERSION}' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + rm -f /root/debs/ubuntu20/docker.io*.deb && \ + cd /root/debs/ubuntu20 && \ + apt-get download libseccomp2 && \ + echo '##### list docker and kubernetes packages begin #####' && \ + ls | grep -E 'docker|kube' && \ + echo '##### list docker and kubernetes packages end #####' && \ + apt-ftparchive packages . > Packages && \ + apt-ftparchive release . > Release" + docker run -t --rm -v ${PWD}/debs:/root/debs -v ${PWD}/kubernetes.list:/root/kubernetes.list -v ${PWD}/apt-download.sh:/root/apt-download.sh -v ${PWD}/breeze-keygen.txt:/root/breeze ubuntu:18.04 bash -c \ + "echo 'apt-get updating...' && \ + apt-get update > build.log 2>&1 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils > build.log 2>&1 && \ + curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ + add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable' && \ + cp /root/kubernetes.list /etc/apt/sources.list.d/ && \ + apt-get update > build.log 2>&1 && \ + /root/apt-download.sh 'python-apt docker-ce-cli=${DOCKER_VERSION}~ubuntu-bionic docker-ce=${DOCKER_VERSION}~ubuntu-bionic kubelet=${KUBE_VERSION} kubectl=${KUBE_VERSION} kubeadm=${KUBE_VERSION}' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu18 && \ + rm -f /root/debs/ubuntu18/docker.io*.deb && \ + cd /root/debs/ubuntu18 && \ + apt-get download libseccomp2 libapt-pkg5.0 && \ + echo '##### list docker and kubernetes packages begin #####' && \ + ls | grep -E 'docker|kube' && \ + echo '##### list docker and kubernetes packages end #####' && \ + apt-ftparchive packages . > Packages && \ + apt-ftparchive release . > Release && \ + apt-get install -y gnupg gnupg2 > build.log 2>&1 && \ + echo wise2cbreeze > ./breeze.key && \ + cp /root/breeze ./ && \ + gpg2 --batch --gen-key breeze && \ + gpg2 --no-default-keyring --secret-keyring ./breeze.sec --keyring ./breeze.pub --list-secret-keys && \ + gpg2 --pinentry-mode loopback --passphrase-file=./breeze.key --keyring ./breeze.pub --clearsign -o InRelease Release && \ + gpg2 -abs --keyring ./breeze.pub -o Release.gpg Release && \ + cd /root/debs/ubuntu20 && \ + cp ../ubuntu18/breeze.pub ./ && \ + cp ../ubuntu18/breeze.key ./ && \ + gpg2 --pinentry-mode loopback --passphrase-file=./breeze.key --keyring ./breeze.pub --clearsign -o InRelease Release && \ + gpg2 -abs --keyring ./breeze.pub -o Release.gpg Release && \ + rm -f ../ubuntu18/breeze && \ + rm -f ../ubuntu18/breeze.key && \ + rm -f ./breeze && \ + rm -f ./breeze.key" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:amd64-$CIRCLE_TAG . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:amd64-$CIRCLE_TAG + + build-branches-aarch64-base-ubuntu20: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + resource_class: arm.medium + machine: true + steps: + - checkout + - run: + name: Build an aarch64 ubuntu20 base container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -e OS=$OS20 -e VERSION=$K8S_VERSION -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c \ + 'rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh "python python3-docker python-chardet python3-requests docker-compose chrony jq ipvsadm graphviz nfs-common gnupg gnupg2 ipset" && \ + mkdir /root/debs/ubuntu20 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + apt-get update && apt-get install -y apt-transport-https curl software-properties-common apt-utils gnupg1 gnupg2 && \ + echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add - && \ + curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers-cri-o.gpg add - && \ + apt-get update && \ + /root/apt-download-without-version.sh "cri-o cri-o-runc podman" && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + ls /root/debs/ubuntu20/' + docker build -t wise2c/apt-source:aarch64-base20 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:aarch64-base20 + + build-tags-aarch64-base-ubuntu20: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + resource_class: arm.medium + machine: true + steps: + - checkout + - run: + name: Build an aarch64 ubuntu20 base container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -e OS=$OS20 -e VERSION=$K8S_VERSION -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c \ + 'rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh "python python3-docker python-chardet python3-requests docker-compose chrony jq ipvsadm graphviz nfs-common gnupg gnupg2 ipset" && \ + mkdir /root/debs/ubuntu20 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + apt-get update && apt-get install -y apt-transport-https curl software-properties-common apt-utils gnupg1 gnupg2 && \ + echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && \ + echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && \ + curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add - && \ + curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers-cri-o.gpg add - && \ + apt-get update && \ + /root/apt-download-without-version.sh "cri-o cri-o-runc podman" && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + ls /root/debs/ubuntu20/' + docker build -t wise2c/apt-source:aarch64-base20 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:aarch64-base20 + + build-branches-aarch64-ceph-ubuntu20: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + resource_class: arm.medium + machine: true + steps: + - checkout + - run: + name: Build an aarch64 ubuntu20 ceph container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c \ + "rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh 'apt-transport-https curl software-properties-common apt-utils' && \ + mkdir /root/debs/ubuntu20 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils && \ + curl -fsSL https://download.ceph.com/keys/release.asc | apt-key add - && \ + echo deb https://download.ceph.com/debian-${CEPH_VERSION}/ focal main | tee /etc/apt/sources.list.d/ceph.list && \ + apt-get update && \ + /root/apt-download-without-version.sh 'ceph ceph-deploy ceph-mgr ceph-mds rbd-nbd rbd-mirror radosgw open-vm-tools' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + cd /root/debs/ubuntu20" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:aarch64-ceph20 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:aarch64-ceph20 + + build-tags-aarch64-ceph-ubuntu20: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + resource_class: arm.medium + machine: true + steps: + - checkout + - run: + name: Build an aarch64 ubuntu20 ceph container image + command: | + sudo chmod +x ${PWD}/apt-download-without-version.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c \ + "rm -f /etc/apt/apt.conf.d/docker-clean && \ + apt-get update && \ + /root/apt-download-without-version.sh 'apt-transport-https curl software-properties-common apt-utils' && \ + mkdir /root/debs/ubuntu20 && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils && \ + curl -fsSL https://download.ceph.com/keys/release.asc | apt-key add - && \ + echo deb https://download.ceph.com/debian-${CEPH_VERSION}/ focal main | tee /etc/apt/sources.list.d/ceph.list && \ + apt-get update && \ + /root/apt-download-without-version.sh 'ceph ceph-deploy ceph-mgr ceph-mds rbd-nbd rbd-mirror radosgw open-vm-tools' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + cd /root/debs/ubuntu20" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:aarch64-ceph20 . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:aarch64-ceph20 + + build-branches-aarch64-k8s-docker: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + resource_class: arm.medium + machine: true + steps: + - checkout + - run: + name: Build an aarch64 k8s container image + command: | + docker run -itd --name=base20 wise2c/apt-source:aarch64-base20 + docker cp base20:/usr/share/nginx/html/debs base20 + docker stop base20 && docker rm base20 + #docker run -itd --name=base18 wise2c/apt-source:aarch64-base18 + #docker cp base18:/usr/share/nginx/html/debs base18 + #docker stop base18 && docker rm base18 + docker run -itd --name=ceph20 wise2c/apt-source:aarch64-ceph20 + docker cp ceph20:/usr/share/nginx/html/debs ceph20 + docker stop ceph20 && docker rm ceph20 + #docker run -itd --name=ceph18 wise2c/apt-source:aarch64-ceph18 + #docker cp ceph18:/usr/share/nginx/html/debs ceph18 + #docker stop ceph18 && docker rm ceph18 + mkdir -p ${PWD}/debs/ubuntu20 + #mkdir -p ${PWD}/debs/ubuntu18 + mv base20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ + #mv base18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ + mv ceph20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ + #mv ceph18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ + sudo chmod +x ${PWD}/apt-download.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/kubernetes.list:/root/kubernetes.list -v ${PWD}/apt-download.sh:/root/apt-download.sh -v ${PWD}/breeze-keygen.txt:/root/breeze ubuntu:20.04 bash -c \ + "rm -f /etc/apt/apt.conf.d/docker-clean && \ + echo 'apt-get updating...' && \ + apt-get update > build.log 2>&1 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils > build.log 2>&1 && \ + curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ + add-apt-repository 'deb [arch=arm64] https://download.docker.com/linux/ubuntu focal stable' && \ + cp /root/kubernetes.list /etc/apt/sources.list.d/ && \ + apt-get update > build.log 2>&1 && \ + /root/apt-download.sh 'python-apt docker-ce-cli=${DOCKER_VERSION}~ubuntu-focal docker-ce=${DOCKER_VERSION}~ubuntu-focal kubelet=${KUBE_VERSION} kubectl=${KUBE_VERSION} kubeadm=${KUBE_VERSION}' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + rm -f /root/debs/ubuntu20/docker.io*.deb && \ + cd /root/debs/ubuntu20 && \ + apt-get download libseccomp2 && \ + echo '##### list docker and kubernetes packages begin #####' && \ + ls | grep -E 'docker|kube' && \ + echo '##### list docker and kubernetes packages end #####' && \ + apt-ftparchive packages . > Packages && \ + apt-ftparchive release . > Release" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:aarch64-$CIRCLE_BRANCH . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:aarch64-$CIRCLE_BRANCH + + build-tags-aarch64-k8s-docker: + environment: + CEPH_VERSION: '15.2.9' + KUBE_VERSION: '1.25.1-00' + DOCKER_VERSION: '5:20.10.18~3-0' + OS18: 'xUbuntu_18.04' + OS20: 'xUbuntu_20.04' + K8S_VERSION: '1.25' + resource_class: arm.medium + machine: true + steps: + - checkout + - run: + name: Build an aarch64 k8s container image + command: | + docker run -itd --name=base20 wise2c/apt-source:aarch64-base20 + docker cp base20:/usr/share/nginx/html/debs base20 + docker stop base20 && docker rm base20 + #docker run -itd --name=base18 wise2c/apt-source:aarch64-base18 + #docker cp base18:/usr/share/nginx/html/debs base18 + #docker stop base18 && docker rm base18 + docker run -itd --name=ceph20 wise2c/apt-source:aarch64-ceph20 + docker cp ceph20:/usr/share/nginx/html/debs ceph20 + docker stop ceph20 && docker rm ceph20 + #docker run -itd --name=ceph18 wise2c/apt-source:aarch64-ceph18 + #docker cp ceph18:/usr/share/nginx/html/debs ceph18 + #docker stop ceph18 && docker rm ceph18 + mkdir -p ${PWD}/debs/ubuntu20 + mkdir -p ${PWD}/debs/ubuntu18 + mv base20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ + #mv base18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ + mv ceph20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ + #mv ceph18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ + sudo chmod +x ${PWD}/apt-download.sh + docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/kubernetes.list:/root/kubernetes.list -v ${PWD}/apt-download.sh:/root/apt-download.sh -v ${PWD}/breeze-keygen.txt:/root/breeze ubuntu:20.04 bash -c \ + "rm -f /etc/apt/apt.conf.d/docker-clean && \ + echo 'apt-get updating...' && \ + apt-get update > build.log 2>&1 && \ + apt-get install -y apt-transport-https curl software-properties-common apt-utils > build.log 2>&1 && \ + curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \ + add-apt-repository 'deb [arch=arm64] https://download.docker.com/linux/ubuntu focal stable' && \ + cp /root/kubernetes.list /etc/apt/sources.list.d/ && \ + apt-get update > build.log 2>&1 && \ + /root/apt-download.sh 'python-apt docker-ce-cli=${DOCKER_VERSION}~ubuntu-focal docker-ce=${DOCKER_VERSION}~ubuntu-focal kubelet=${KUBE_VERSION} kubectl=${KUBE_VERSION} kubeadm=${KUBE_VERSION}' && \ + mv /tmp/debs/*.deb /root/debs/ubuntu20 && \ + rm -f /root/debs/ubuntu20/docker.io*.deb && \ + cd /root/debs/ubuntu20 && \ + apt-get download libseccomp2 && \ + echo '##### list docker and kubernetes packages begin #####' && \ + ls | grep -E 'docker|kube' && \ + echo '##### list docker and kubernetes packages end #####' && \ + apt-ftparchive packages . > Packages && \ + apt-ftparchive release . > Release" + sudo chmod -R 755 ${PWD}/debs + docker build -t wise2c/apt-source:aarch64-$CIRCLE_TAG . + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker push wise2c/apt-source:aarch64-$CIRCLE_TAG + + build-branches-multi-arch: + machine: true + steps: + - run: + name: Build a multi-arch container image + command: | + docker manifest create wise2c/apt-source:$CIRCLE_BRANCH wise2c/apt-source:amd64-$CIRCLE_BRANCH wise2c/apt-source:aarch64-$CIRCLE_BRANCH + docker manifest annotate wise2c/apt-source:$CIRCLE_BRANCH wise2c/apt-source:amd64-$CIRCLE_BRANCH --os linux --arch amd64 + docker manifest annotate wise2c/apt-source:$CIRCLE_BRANCH wise2c/apt-source:aarch64-$CIRCLE_BRANCH --os linux --arch arm64 + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker manifest push wise2c/apt-source:$CIRCLE_BRANCH + build-tags-multi-arch: + machine: true + steps: + - run: + name: Build a multi-arch container image + command: | + docker manifest create wise2c/apt-source:$CIRCLE_TAG wise2c/apt-source:amd64-$CIRCLE_TAG wise2c/apt-source:aarch64-$CIRCLE_TAG + docker manifest annotate wise2c/apt-source:$CIRCLE_TAG wise2c/apt-source:amd64-$CIRCLE_TAG --os linux --arch amd64 + docker manifest annotate wise2c/apt-source:$CIRCLE_TAG wise2c/apt-source:aarch64-$CIRCLE_TAG --os linux --arch arm64 + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD + docker manifest push wise2c/apt-source:$CIRCLE_TAG + +workflows: + version: 2 + build-for-branches: + jobs: + - build-branches-amd64-base-ubuntu20 + - build-branches-amd64-base-ubuntu18 + - build-branches-amd64-ceph-ubuntu20 + - build-branches-amd64-ceph-ubuntu18 + - build-branches-amd64-k8s-docker: + requires: + - build-branches-amd64-base-ubuntu20 + - build-branches-amd64-base-ubuntu18 + - build-branches-amd64-ceph-ubuntu20 + - build-branches-amd64-ceph-ubuntu18 + + - build-branches-aarch64-base-ubuntu20 + #- build-branches-aarch64-base-ubuntu18 + - build-branches-aarch64-ceph-ubuntu20 + #- build-branches-aarch64-ceph-ubuntu18 + - build-branches-aarch64-k8s-docker: + requires: + - build-branches-aarch64-base-ubuntu20 + #- build-branches-aarch64-base-ubuntu18 + - build-branches-aarch64-ceph-ubuntu20 + #- build-branches-aarch64-ceph-ubuntu18 + + - build-branches-multi-arch: + requires: + - build-branches-amd64-k8s-docker + - build-branches-aarch64-k8s-docker + + build-for-tags: + jobs: + - build-tags-amd64-base-ubuntu20: + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + - build-tags-amd64-base-ubuntu18: + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + - build-tags-amd64-ceph-ubuntu20: + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + - build-tags-amd64-ceph-ubuntu18: + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + - build-tags-amd64-k8s-docker: + requires: + - build-tags-amd64-base-ubuntu20 + #- build-tags-amd64-base-ubuntu18 + - build-tags-amd64-ceph-ubuntu20 + #- build-tags-amd64-ceph-ubuntu18 + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + + - build-tags-aarch64-base-ubuntu20: + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + #- build-tags-aarch64-base-ubuntu18: + # filters: + # tags: + # only: /^v.*/ + # branches: + # ignore: /.*/ + - build-tags-aarch64-ceph-ubuntu20: + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + #- build-tags-aarch64-ceph-ubuntu18: + # filters: + # tags: + # only: /^v.*/ + # branches: + # ignore: /.*/ + - build-tags-aarch64-k8s-docker: + requires: + - build-tags-aarch64-base-ubuntu20 + #- build-tags-aarch64-base-ubuntu18 + - build-tags-aarch64-ceph-ubuntu20 + #- build-tags-aarch64-ceph-ubuntu18 + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + + - build-tags-multi-arch: + requires: + - build-tags-amd64-k8s-docker + - build-tags-aarch64-k8s-docker + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index f34ede0..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,213 +0,0 @@ -stages: - - build - - deploy - -variables: - CEPH_VERSION: '15.2.9' - KUBE_VERSION: '1.25.2-00' - DOCKER_VERSION: '5:20.10.18~3-0' - OS18: 'xUbuntu_18.04' - OS20: 'xUbuntu_20.04' - CRI_MAIN_VERSION: '1.24' - CRI_VERSION: '1.24.2' - -base_ubuntu20: - image: docker:git - services: - - docker:dind - stage: build - when: always - script: - - chmod +x ${PWD}/apt-download-without-version.sh - - > - docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -e OS=$OS20 -e CRIMAINVERSION=$CRI_MAIN_VERSION -e CRIVERSION=$CRI_VERSION -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c - 'rm -f /etc/apt/apt.conf.d/docker-clean && - apt-get update && - /root/apt-download-without-version.sh "python python3-docker python-chardet python3-requests docker-compose chrony jq ipvsadm graphviz nfs-common gnupg gnupg2 ipset" && - mkdir /root/debs/ubuntu20 && - mv /tmp/debs/*.deb /root/debs/ubuntu20 && - apt-get update && apt-get install -y apt-transport-https curl software-properties-common apt-utils gnupg1 gnupg2 && - echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && - cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && - echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$CRIMAINVERSION/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && - cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && - curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add - && - curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:/$CRIMAINVERSION/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers-cri-o.gpg add - && - apt-get update && - /root/apt-download-without-version.sh "cri-o cri-o-runc podman" && - mv /tmp/debs/*.deb /root/debs/ubuntu20 && - ls /root/debs/ubuntu20/' - - docker build -t wise2c/apt-source:base20 . - - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD - - docker push wise2c/apt-source:base20 - -base_ubuntu18: - image: docker:git - services: - - docker:dind - stage: build - when: always - script: - - chmod +x ${PWD}/apt-download-without-version.sh - - > - docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -e OS=$OS18 -e CRIMAINVERSION=$CRI_MAIN_VERSION -e CRIVERSION=$CRI_VERSION -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:18.04 bash -c - 'rm -f /etc/apt/apt.conf.d/docker-clean && - apt-get update && - /root/apt-download-without-version.sh "python python3-docker python-chardet python3-requests docker-compose chrony jq ipvsadm graphviz nfs-common gnupg gnupg2 ipset" && - mkdir /root/debs/ubuntu18 && - mv /tmp/debs/*.deb /root/debs/ubuntu18 && - apt-get update && apt-get install -y apt-transport-https curl software-properties-common apt-utils gnupg1 gnupg2 && - echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && - cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable.list && - echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$CRIMAINVERSION/$OS/ /" > /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && - cat /etc/apt/sources.list.d/devel-kubic-libcontainers-stable-cri-o.list && - curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add - && - curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:/$CRIMAINVERSION/$OS/Release.key | apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers-cri-o.gpg add - && - apt-get update && - /root/apt-download-without-version.sh "cri-o cri-o-runc podman" && - mv /tmp/debs/*.deb /root/debs/ubuntu18 && - ls /root/debs/ubuntu18 && - cd /root/debs/ubuntu18' - - docker build -t wise2c/apt-source:base18 . - - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD - - docker push wise2c/apt-source:base18 - -ceph_ubuntu20: - image: docker:git - services: - - docker:dind - stage: build - when: always - script: - - chmod +x ${PWD}/apt-download-without-version.sh - - > - docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:20.04 bash -c - "rm -f /etc/apt/apt.conf.d/docker-clean && - apt-get update && - /root/apt-download-without-version.sh 'apt-transport-https curl software-properties-common apt-utils' && - mkdir /root/debs/ubuntu20 && - mv /tmp/debs/*.deb /root/debs/ubuntu20 && - apt-get install -y apt-transport-https curl software-properties-common apt-utils && - curl -fsSL https://download.ceph.com/keys/release.asc | apt-key add - && - echo deb https://download.ceph.com/debian-${CEPH_VERSION}/ focal main | tee /etc/apt/sources.list.d/ceph.list && - apt-get update && - /root/apt-download-without-version.sh 'ceph ceph-deploy ceph-mgr ceph-mds rbd-nbd rbd-mirror radosgw open-vm-tools' && - mv /tmp/debs/*.deb /root/debs/ubuntu20 && - cd /root/debs/ubuntu20" - - chmod -R 755 ${PWD}/debs - - docker build -t wise2c/apt-source:ceph20 . - - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD - - docker push wise2c/apt-source:ceph20 - -ceph_ubuntu18: - image: docker:git - services: - - docker:dind - stage: build - when: always - script: - - chmod +x ${PWD}/apt-download-without-version.sh - - > - docker run -t --rm -v ${PWD}/debs:/root/debs -v ${PWD}/apt-download-without-version.sh:/root/apt-download-without-version.sh ubuntu:18.04 bash -c - "apt-get update && - /root/apt-download-without-version.sh 'apt-transport-https curl software-properties-common apt-utils' && - mkdir /root/debs/ubuntu18 && - mv /tmp/debs/*.deb /root/debs/ubuntu18 && - apt-get install -y apt-transport-https curl software-properties-common apt-utils && - curl -fsSL https://download.ceph.com/keys/release.asc | apt-key add - && - echo deb https://download.ceph.com/debian-${CEPH_VERSION}/ bionic main | tee /etc/apt/sources.list.d/ceph.list && - apt-get update && - /root/apt-download-without-version.sh 'ceph ceph-deploy ceph-mgr ceph-mds rbd-nbd rbd-mirror radosgw radosgw-agent open-vm-tools' && - mv /tmp/debs/*.deb /root/debs/ubuntu18" - - chmod -R 755 ${PWD}/debs - - docker build -t wise2c/apt-source:ceph18 . - - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD - - docker push wise2c/apt-source:ceph18 - -docker_k8s: - image: docker:git - services: - - docker:dind - stage: deploy - when: always - script: - - docker run -itd --name=base20 wise2c/apt-source:base20 - - docker cp base20:/usr/share/nginx/html/debs base20 - - docker stop base20 && docker rm base20 - - docker run -itd --name=base18 wise2c/apt-source:base18 - - docker cp base18:/usr/share/nginx/html/debs base18 - - docker stop base18 && docker rm base18 - - docker run -itd --name=ceph20 wise2c/apt-source:ceph20 - - docker cp ceph20:/usr/share/nginx/html/debs ceph20 - - docker stop ceph20 && docker rm ceph20 - - docker run -itd --name=ceph18 wise2c/apt-source:ceph18 - - docker cp ceph18:/usr/share/nginx/html/debs ceph18 - - docker stop ceph18 && docker rm ceph18 - - mkdir -p ${PWD}/debs/ubuntu20 - - mkdir -p ${PWD}/debs/ubuntu18 - - mv base20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ - - mv base18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ - - mv ceph20/ubuntu20/*.deb ${PWD}/debs/ubuntu20/ - - mv ceph18/ubuntu18/*.deb ${PWD}/debs/ubuntu18/ - - chmod +x ${PWD}/apt-download.sh - - > - docker run -t --rm -e DEBIAN_FRONTEND=noninteractive -v ${PWD}/debs:/root/debs -v ${PWD}/kubernetes.list:/root/kubernetes.list -v ${PWD}/apt-download.sh:/root/apt-download.sh -v ${PWD}/breeze-keygen.txt:/root/breeze ubuntu:20.04 bash -c - "rm -f /etc/apt/apt.conf.d/docker-clean && - echo 'apt-get updating...' && - apt-get update > build.log 2>&1 && - apt-get install -y apt-transport-https curl software-properties-common apt-utils > build.log 2>&1 && - curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && - add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable' && - cp /root/kubernetes.list /etc/apt/sources.list.d/ && - apt-get update > build.log 2>&1 && - /root/apt-download.sh 'python-apt docker-ce-cli=${DOCKER_VERSION}~ubuntu-focal docker-ce=${DOCKER_VERSION}~ubuntu-focal kubelet=${KUBE_VERSION} kubectl=${KUBE_VERSION} kubeadm=${KUBE_VERSION}' && - mv /tmp/debs/*.deb /root/debs/ubuntu20 && - rm -f /root/debs/ubuntu20/docker.io*.deb && - cd /root/debs/ubuntu20 && - apt-get download libseccomp2 && - echo '##### list docker and kubernetes packages begin #####' && - ls | grep -E 'docker|kube' && - echo '##### list docker and kubernetes packages end #####' && - apt-ftparchive packages . > Packages && - apt-ftparchive release . > Release" - - > - docker run -t --rm -v ${PWD}/debs:/root/debs -v ${PWD}/kubernetes.list:/root/kubernetes.list -v ${PWD}/apt-download.sh:/root/apt-download.sh -v ${PWD}/breeze-keygen.txt:/root/breeze ubuntu:18.04 bash -c - "echo 'apt-get updating...' && - apt-get update > build.log 2>&1 && - apt-get install -y apt-transport-https curl software-properties-common apt-utils > build.log 2>&1 && - curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && - add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable' && - cp /root/kubernetes.list /etc/apt/sources.list.d/ && - apt-get update > build.log 2>&1 && - /root/apt-download.sh 'python-apt docker-ce-cli=${DOCKER_VERSION}~ubuntu-bionic docker-ce=${DOCKER_VERSION}~ubuntu-bionic kubelet=${KUBE_VERSION} kubectl=${KUBE_VERSION} kubeadm=${KUBE_VERSION}' && - mv /tmp/debs/*.deb /root/debs/ubuntu18 && - rm -f /root/debs/ubuntu18/docker.io*.deb && - cd /root/debs/ubuntu18 && - apt-get download libseccomp2 libapt-pkg5.0 && - echo '##### list docker and kubernetes packages begin #####' && - ls | grep -E 'docker|kube' && - echo '##### list docker and kubernetes packages end #####' && - apt-ftparchive packages . > Packages && - apt-ftparchive release . > Release && - apt-get install -y gnupg gnupg2 > build.log 2>&1 && - echo wise2cbreeze > ./breeze.key && - cp /root/breeze ./ && - gpg2 --batch --gen-key breeze && - gpg2 --no-default-keyring --secret-keyring ./breeze.sec --keyring ./breeze.pub --list-secret-keys && - gpg2 --pinentry-mode loopback --passphrase-file=./breeze.key --keyring ./breeze.pub --clearsign -o InRelease Release && - gpg2 -abs --keyring ./breeze.pub -o Release.gpg Release && - cd /root/debs/ubuntu20 && - cp ../ubuntu18/breeze.pub ./ && - cp ../ubuntu18/breeze.key ./ && - gpg2 --pinentry-mode loopback --passphrase-file=./breeze.key --keyring ./breeze.pub --clearsign -o InRelease Release && - gpg2 -abs --keyring ./breeze.pub -o Release.gpg Release && - rm -f ../ubuntu18/breeze && - rm -f ../ubuntu18/breeze.key && - rm -f ./breeze && - rm -f ./breeze.key" - - chmod -R 755 ${PWD}/debs - - docker build -t wise2c/apt-source:$CI_COMMIT_REF_NAME . - - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD - - docker push wise2c/apt-source:$CI_COMMIT_REF_NAME diff --git a/README.md b/README.md index c97b936..3040d7c 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Wise2C Apt Source for Docker/K8S/Ceph/NFS installation Apt Source服务器安装好docker,直接运行命令: -docker run -d -p 2008:2008 --name=apt-source wise2c/apt-source:v1.25.2 +docker run -d -p 2008:2008 --name=apt-source wise2c/apt-source:v1.25.1 在需要安装docker/k8s/ceph/nfs的其它主机上: