操作系统信息
例如:虚拟机/物理机,Centos7.5/Ubuntu18.04,4C/8G
Kubernetes版本信息
Client Version: version.Info{Major:“1”, Minor:“19”, GitVersion:“v1.19.8”, GitCommit:“fd5d41537aee486160ad9b5356a9d82363273721”, GitTreeState:“clean”, BuildDate:“2021-02-17T12:41:51Z”, GoVersion:“go1.15.8”, Compiler:“gc”, Platform:“linux/amd64”}
Server Version: version.Info{Major:“1”, Minor:“19”, GitVersion:“v1.19.8”, GitCommit:“fd5d41537aee486160ad9b5356a9d82363273721”, GitTreeState:“clean”, BuildDate:“2021-02-17T12:33:08Z”, GoVersion:“go1.15.8”, Compiler:“gc”, Platform:“linux/amd64”}
容器运行时
Client: Docker Engine - Community
Version: 20.10.7
API version: 1.41
Go version: go1.13.15
Git commit: f0df350
Built: Wed Jun 2 11:58:10 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: b0f5bc3
Built: Wed Jun 2 11:56:35 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.6
GitCommit: d71fcd7d8303cbf684402823e425e9dd2e99285d
runc:
Version: 1.0.0-rc95
GitCommit: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
docker-init:
Version: 0.19.0
GitCommit: de40ad0
KubeSphere版本信息
v3.2.1
问题是什么
流水线:
#!groovy
/*
该Jenkinsfile作用: 构建aosp7 docker镜像,并推送到harbor (用于后续编译安卓源码) 参考: https://github.com/jenkinsci/kubernetes-plugin/blob/master/README_zh.md https://www.jenkins.io/zh/blog/2018/09/14/kubernetes-and-secret-agents/
*/
/*
自定义podTemplate: 1\.继承ks提供的base podTemplate 2\.添加ubuntu containerTemplate
*/
podTemplate(label: ‘myAgentPod’, inheritFrom: ‘base’, containers: [
containerTemplate(name: 'my-ubuntu', image: 'ubuntu', command: 'cat', ttyEnabled: true)
]) {
node('myAgentPod') { stage("CheckOut") { checkout(scm) } stage("Build") { container('my-ubuntu') { buildPush() } } }
}
def buildPush() {
String appName = 'aosp7' String harborProject = 'lyhtest' String branchName = "${BRANCH_NAME}" String imageName = getImageName(harborProject, appName, replaceBranchName(branchName)) env.IMAGE_NAME = imageName sh "ls -al" sh "pwd" sh "export BRANCH_NAME=${BRANCH_NAME}" sh "export SVN_URL=${env.SVN_URL}" sh "export SVN_REVISION=${env.SVN_REVISION}" sh "cd docker" sh "ls -al" sh "pwd" sh "docker build "+' --build-arg BRANCH_NAME=${BRANCH_NAME} '+". -t ${imageName} " withCredentials([usernamePassword(credentialsId: "${getHarborToken()}", passwordVariable: 'HARBOR_PASSWORD', usernameVariable: 'HARBOR_USERNAME')]) { sh "echo ${HARBOR_PASSWORD} | docker login ${getRegistry()} -u ${HARBOR_USERNAME} --password-stdin" sh "docker push ${imageName}" sh "docker rmi ${imageName} -f" }
}
def String getRegistry(){
return "${env.REGISTRY_IP}"
}
def String getHarborToken(){
return "我的token(脱敏)";
}
def String getImageName(String harborProject, String appName, String branchName){
return "${getRegistry()}/${harborProject}/${appName}:${branchName}-${BUILD_NUMBER}"
}
def replaceBranchName(String branchName){
return branchName.replace("/","-")
}