持续集成交付CICD:Jenkins使用CD流水线下载Nexus制品

news/2024/7/12 2:32:45 标签: ci/cd, jenkins, 运维

目录

一、实验

1.Jenkins使用CD流水线下载Nexus制品


一、实验

1.Jenkins使用CD流水线下载Nexus制品

(1)Jenkins新建CD流水线

(2)新建视图

(3)查看视图

(4)添加字符参数

(5)添加选项参数

(6)修改流水线代码

"PullArtifacts"阶段通过2个if条件判断项目类型,下载制品函数PullArtifacts()通过wget方式下载制品

pipeline {
    agent { label "build" }
    stages{
        stage("PullArtifacts"){
            steps{
                script{
                    repoName = "${JOB_NAME}".split("/")[0]
                    projectName ="${JOB_NAME}".split("/")[-1].split("_")[0]

                    if ("${env.projectType}" == "maven"){
                        type="jar"
                    }
                    if ("${env.projectType}" == "npm"){
                        type="tar.gz"
                    }
                    PullArtifacts("${env.releaseVersion}",projectName,repoName,type)
                }
            }
        }
        stage("DeployHost"){
            steps{
                script{
                    print("DeployHost")
                }
            }
        }
        stage("ServiceCtrl"){
            steps{
                script{
                    print("ServiceCtrl")
                }
            }
        }
        stage("HealthCheck"){
            steps{
                script{
                    print("HealthCheck")
                }
            }
        }
    }
}


//下载制品
def PullArtifacts(version,projectName,repoName,type){
    repoUrl = "http://192.168.204.13:8081/repository"
    pkgPath = "${repoUrl}/${repoName}/${projectName}/${version}/${projectName}-${version}.${type}"
    sh "wget --http-user=admin --http-passwd=Admin123 ${pkgPath} "
}

(7)手动构建CD流水线项目

(8)Blue Ocean 查看

(9)查看日志,已成功下载制品

(10)查看Nexus,下载的制品与仓库里的制品保持一致


http://www.niftyadmin.cn/n/5259002.html

相关文章

十大shell脚本任务(二)备份和恢复脚本

日志文件分析器: 目标:编写一个脚本,自动分析服务器日志文件,提取关键错误信息,并发送通知。价值:实时监控系统状态,及时响应问题。连接:十大shell脚本任务(一&#xff0…

第六章 SpringCloud Alibaba Sentinel–服务容错

高并发带来的问题 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络 原因或者自身的原因,服务并不能保证服务的 100% 可用,如果单个服务出现问题,调用这个服务就会 …

@Controller和@RestController的区别:

Controller:在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面 若返回json等内容到页面,则需要加ResponseBody注解 RestController:相当于ControllerResponseBody两个注解的结合,返回json数据不需要在…

一篇很不错的小作文:读“战争与和平” 有感、识之

如果一个人不读书,就会像没了水的鱼,毫无生存的希望。 我最近在看一本名叫《战争与和平》的书,书中的一句话让我印象深刻:“战争是残酷的,它带来了破坏和死亡,但和平却是美好的,它给予我们希望和…

如何通过IDM进行统一权限

IDM身份管理平台在当今企业信息化建设中扮演着至关重要的角色,它不仅仅关乎用户身份的管理,更牵涉到对企业内部各种资源的合理分配和访问控制。其中,统一权限是 IDM 的一个核心概念,它通过集中管理用户的身份和访问权限&#xff0…

Node.js黑马时钟案例

先上没有使用node.js之前的html部分代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title></title><style>* {margin: 0;padding: 0;}html,body {height: 100%;overflow: hidden;backgrou…

dockerfile基于NMP+wordpress创建镜像

内部通信地址 nginx 172.111.0.10 docker-nginx mysql 172.111.0.20 docker-mysql php 172.111.0.30 docker-php 1、创建单独目录 2、创建容器的自定义网络 docker network create --subnet172.111.0.0/16 --opt "com.docker.network.bridge.name"&quo…

设计模式(1)--面向对象的设计原则

遵守设计原则的目的&#xff1a;使系统更灵活地适应变化&#xff0c;提高代码可读性、可重用性&#xff0c;提高系统可维护性、可扩展性&#xff0c;减少变化给系统引入新错误的风险。 1. 开闭原则OCP(Open-Closed Principle) OCP是让设计对扩展开放&#xff0c;对修改关闭&am…