持续集成交付CICD:Jenkins配置Nexus制品上传流水线

目录

一、实验

1.Jenkins配置制品上传流水线

二、问题

1.上传制品显示名称有误


一、实验

1.Jenkins配置制品上传流水线

(1) 新建流水线项目

(2)描述

(3)添加参数

(4)查看构建首页

(5)编辑流水线

bash 复制代码
@Library("mylib@master") _
import org.devops.*


def checkout = new Checkout()
def build = new Build()
def unittest = new UnitTest()
def sonar = new Sonar()

pipeline {
    agent { label "build"}

    options {
        skipDefaultCheckout true
    }
    stages{
        stage("Checkout"){
            steps{
                script {
                    println("GetCode")
                    checkout.GetCode("${env.srcUrl}","${env.branchName}")
                }
            }
        }
        stage("build"){
            steps{
                script{
                    println("Build")
                    sh "mvn clean package"
                }
            }

        }

        stage("UnitTest"){
            steps{
                script{
                    println("Test")
                    unittest.CodeTest("${env.buildTool}")
                }
            }

        }
        stage("Upload"){
            steps{
                script{
                    NexusUploadByPlugin("${env.artifactId}",
                            "target/maven-test-1.0-SNAPSHOT.jar",
                                        "${env.type}",
                                        "${env.groupId}",
                                        "${env.version}")
                }
            }
        }
    }
}

//NexusUploadByPlugin('devops-test','target/maven-test-1.0-SNAPSHOT.jar','jar','com.jenkins','1.1.2')

def NexusUploadByPlugin(artifactId,file,type,groupId,version ){
    nexusArtifactUploader artifacts: [[artifactId: artifactId,
                                       classifier: '',
                                       file: file,
                                       type: type]],
                          credentialsId: '318df1ad-083b-4158-ac88-2f584446563e',
                          groupId: groupId,
                          nexusUrl: '192.168.204.13:8081',
                          nexusVersion: 'nexus3',
                          protocol: 'http',
                          repository: 'mymavenrepo',
                          version: version
}

(6)开始构建

(7)Blue Ocean查看

(8)查看日志

(9)Nexus查看

二、问题

1.上传制品显示名称有误

(1)报错

(2)原因分析

代码引用错误,使用了单引号

(3)解决方法

修改代码,使用双引号

修改前:

bash 复制代码
script{
                    NexusUploadByPlugin('${env.artifactId}',
                                        'target/maven-test-1.0-SNAPSHOT.jar',
                                        '${env.type}',
                                        '${env.groupId}',
                                        '${env.version}')
                }

修改后:

bash 复制代码
script{
                    NexusUploadByPlugin("${env.artifactId}",
                            "target/maven-test-1.0-SNAPSHOT.jar",
                                        "${env.type}",
                                        "${env.groupId}",
                                        "${env.version}")
                }
相关推荐
云飞云共享云桌面3 小时前
替代传统电脑的共享云服务器如何实现1拖8SolidWorks设计办公
linux·运维·服务器·网络·电脑·制造
AI云原生3 小时前
云原生系列Bug修复:Docker镜像无法启动的终极解决方案与排查思路
运维·服务器·python·docker·云原生·容器·bug
qyhua10 小时前
【Linux运维实战】彻底修复 CVE-2011-5094 漏洞
linux·运维·安全
九皇叔叔11 小时前
Linux Shell 正则表达式中的 POSIX 字符集:用法与实战
linux·运维·正则表达式
東雪蓮☆12 小时前
K8s 平滑升级
linux·运维·云原生·kubernetes
AKAMAI12 小时前
数据孤岛破局之战 :跨业务分析的难题攻坚
运维·人工智能·云计算
东巴图13 小时前
JavaScript性能优化实战大纲性能优化的核心目标
运维·matlab
站长朋友13 小时前
【邀请函】锐成信息 × Sectigo | CLM - SSL 证书自动化运维解决方案发布会
运维·自动化·ssl·clm·sectigo·47天ssl证书
qq_1838028713 小时前
Linux内核idr数据结构使用
linux·运维·服务器
King's King13 小时前
自动化仓库规划设计方案
运维·自动化