# **建置 Buildsrv for Jenkins-Slave image** ## **1. 安裝 CRIO 套件** ```bash= ``` ## **2. 安裝 Crictl 套件** ```bash= $VERSION="v1.22.0“ $sudo wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz $sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin rm -f crictl-$VERSION-linux-amd64.tar.gz ``` ## **3. Crictl 基本操作** ![](https://i.imgur.com/mytloB5.png) ```bash= $sudo crictl ps –a $sudo crictl stop $container_id $sudo crictl rmp -f $pod_id ``` ## **4. 安裝 Buildah 套件** ```bash= $sudo yum -y install buildah ``` ## **5. 建立 Jenkins-slave image** > Dockerfile for "Jenkins-slave + dotnet + buildah" ```bash= $sudo vi Dockerfile ``` ``` FROM centos:8 LABEL maintainer Alanhsu RUN yum install -y java-11-openjdk-devel maven golang curl git libtool-ltdl-devel buildah epel-release nodejs && \ yum clean all && \ rm -rf /var/cache/yum/* && \ dnf -y install dotnet-sdk-5.0 && \ dnf -y install aspnetcore-runtime-5.0 && \ dnf -y install dotnet-runtime-5.0 && \ mkdir -p /usr/share/jenkins COPY slave.jar /usr/share/jenkins/slave.jar COPY jenkins-slave /usr/bin/jenkins-slave RUN chmod +x /usr/bin/jenkins-slave COPY settings.xml /etc/maven/settings.xml COPY kubectl /usr/bin ENTRYPOINT ["jenkins-slave"] ``` > Build 及上傳 image 至 Harbor ```bash= $sudo buildah bud -t dotnet-buildah . $sudo buildah tag localhost/dotnet-buildah 10.10.0.52:9000/library/dotnet-buildah:latest $sudo buildah login -u admin -p 'ewill1qaz@WSX' --tls-verify=false 10.10.0.52:9000 $sudo buildah push --tls-verify=false 10.10.0.52:9000/library/dotnet-buildah:latest ``` ###### tags: `Kubernetes` `CRIO` `Buildah` `CICD` `Micro-service`