千家信息网

Jenkins在Kubernetes中构建Docker镜像并推送至Registry

发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,def label = "mypod-${UUID.randomUUID().toString()}"podTemplate(label: label, cloud: 'kubernetes',
千家信息网最后更新 2025年01月26日Jenkins在Kubernetes中构建Docker镜像并推送至Registry
def label = "mypod-${UUID.randomUUID().toString()}"podTemplate(label: label, cloud: 'kubernetes',     containers: [        containerTemplate(name: 'maven', image: 'maven:3.3.9-jdk-8-alpine', ttyEnabled: true, command: 'cat'),        containerTemplate(name: 'docker', image: 'docker:stable', ttyEnabled: true, command: 'cat')    ],    volumes: [            hostPathVolume(hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock'),            // persistentVolumeClaim(clainName: 'jenkins-slave-gfs', mountPAth: '/home/jenkins', readOnly: false)        ],    ) {    node(label) {        def registryAddr = 'registry.k8s.io'        stage('build image') {            checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: '7dd36403-f190-48bf-ac43-e082f6b37709', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: 'https://192.168.0.252:8443/svn/k8s/dev/dysjds']], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])            container('docker') {                        sh "docker build -t ${registryAddr}/k8sdysjds:1 ."                }            container('docker') {                        sh "docker push ${registryAddr}/k8sdysjds:1 "                }                    }    }}
0