Jenkins Pipeline使用

1、pipeline 语法

Stage:阶段,一个 pipline 可以划分为若干个 stage,每个 stage 都是一个操作,比如clone 代码、代码编译、代码测试和代码部署,阶段是一个逻辑分组,可以跨多个 node
执行。
Node:节点,每个 node 都是一个 jenkins 节点,可以是 jenkins master 也可以是jenkins agent,node 是执行 step 的具体服务器。
Step:步骤,step 是 jenkins pipline 最基本的操作单元,从在服务器创建目录到构建容器镜像,由各类 Jenkins 插件提供实现,例如: sh “make”

2、pipeline插件使用

2.1、environment

environment {
    SERVICE = "cms"
}    

2.1、sshagent

stage('remote build') {
    steps {
        sshagent (credentials: ["$SSH_CREDENTIALS_ID"]) {
           sh '''
            scp ${BUILD_FILE} ${SSH_HOST}:${REMOTE_DIR}
            ssh -l root ${SSH_HOST} "${REMOTE_EXEC}"
           '''
        }
    }
}

2.2、k8s操作
2.2.1、配置kubeconfig
Jenkins Pipeline使用_第1张图片
2.2.2、配置pipeline内容

stage("kubectl deploy"){
    steps{
        withCredentials([file(credentialsId: KUBECONFIG_CREDENTIALS_ID, variable: 'KUBECONFIG')]) {
            sh "kubectl --kubeconfig=${KUBECONFIG} get deploy/nwy-${SERVICE} -o custom-columns=NAME:.spec.template.spec.containers[0].image"
            sh "kubectl --kubeconfig=${KUBECONFIG} set image deploy/nwy-${SERVICE} nwy-${SERVICE}=${DOCKER_IMAGE}"
        }
    }
}

你可能感兴趣的:(linux,jenkins,运维,linux)