记录jenkins pipeline ,git+maven+sonarqube+打包镜像上传到阿里云镜像仓库

1、阶段视图:

2、准备工作

所需工具与插件

jdk:可以存在多版本

maven:可以存在多版本

sonar-scanner

凭证令牌

gitlab:credentialsId

sonarqube:配置在sonarqube208服务中

3、jenkinsfile

pipeline {
    agent any

    stages {
        stage('从gitlab下载代码') {
            steps {
                script {
                    git credentialsId: '977a0318-19c4-45f5-8f45-9e129d6753e3', url: 'http://git.xxxo.com.cn/officeweb/Officialweb.git'
                }
            }
        }
        stage('maven构建代码') {
            tools {
                 jdk "jdk1.8"
                 }
            steps {
                sh 'java -version'
                sh '/usr/local/maven/apache-maven-3.5.4/bin/mvn -version'
                sh ' /usr/local/maven/apache-maven-3.5.4/bin/mvn clean install -Dmaven.test.skip=true'

            }
            post {
                always {
                        script {
                            if (currentBuild.currentResult == 'FAILURE') {
                                currentBuild.result = 'FAILURE'
                                throw new Exception('构建失败,停止Pipeline执行')
                            }
                        }
                    }
                
            }
        }
        stage('SonarQube分析代码') {
            steps {
                withSonarQubeEnv('sonarqube208') {
                    sh """
                    /usr/local/sonar-scanner-5/bin/sonar-scanner \
                    -Dsonar.projectKey=guanwang-server \
                    -Dsonar.projectName=官网后台 \
                    -Dsonar.sources=src \
                    -Dsonar.language=java \
                    -Dsonar.java.binaries=target/classes \
                    -Dsonar.junit.reportsPath=target/surefire-reports

                    """
                }
            }
        }
        stage('生成自定义镜像') { 
           steps {
               script {
                   sh """
                    cp /opt/pipeline/java/Dockerfile .
                    docker build -t ${DOCKER_REGISTRY}/${aliyunRepo}/${image_name}:latest .
                    """
                }
           }
        }
        stage('登录到镜像仓库') {
            steps {
                script{
                //sh 'docker logout ${DOCKER_REGISTRY}'
                //withCredentials([usernamePassword(credentialsId: 'b9bfab04-2a1f-4690-88ec-fb8c250d056a', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASSWORD')]) {
                sh """
                    docker logout ${DOCKER_REGISTRY}
                    docker login -u test-acr@1xxxxx5731673  -p xxxxzEWb ${DOCKER_REGISTRY}
                """
        }
                }
    }
        stage('上传自定义镜像到阿里云') {
            steps {
                script {
            //withCredentials([usernamePassword(credentialsId: 'b9bfab04-2a1f-4690-88ec-fb8c250d056a', usernameVariable: 'aliyunUser', passwordVariable: 'aliyunPasswd')]) {
                  //  docker login -u ${aliyunUser} --password-stdin ${aliyunAddress} << EOF
                  //  ${aliyunPasswd}
                  //  EOF
                  //docker tag ${image_name}:latest${aliyunAddress}/${aliyunRepo}/${image_name}:latest
                sh """
                    
                    docker push ${DOCKER_REGISTRY}/${aliyunRepo}/${image_name}:latest
                """
           // }
        }
    }
}

}
}

sonarqube 截图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/678273.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DevOps全面综述:从概念到实践

一、背景与概述 1.1 DevOps的起源与发展 DevOps&#xff08;Development and Operations的缩写&#xff09;是软件工程领域中的一种文化和实践方法&#xff0c;旨在促进开发团队与运维团队之间的协作&#xff0c;从而实现更高效、更可靠的软件交付。DevOps起源于敏捷软件开发方…

Mac 使用Docker安装Elasticsearch、Kibana

安装ElasticSearch 通过docker安装es docker pull elasticsearch:8.6.2 在本地创建elasticsearch.yml文件 mkdir /Users/ky/Documents/learn/es/elasticsearch.yml 编辑yml文件内容 http: host: 0.0.0.0 xpack.security.enabled: false xpack.security.enrollment.enabled: t…

阿赵UE引擎C++编程学习笔记——生成Actor

大家好&#xff0c;我是阿赵。   使用Unity引擎的朋友应该都知道&#xff0c;Unity引擎的预设资源叫做Prefab&#xff0c;然后把预设资源生成在场景的命令是&#xff1a;GameObject.Instantiate。UE引擎里面&#xff0c;并没有统一的Prefab类型&#xff0c;而是通过各种蓝图来…

DHCP及FTP

一、1、DHCP动态主机配置协议&#xff1a;通常被应用在大型的局域网络环境中&#xff0c;主要作用是集中地管理、分配IP地址&#xff0c;使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息&#xff0c;并能够提升地址的使用率。 2、DHCP 的优点&#xff…

数据中心的中台前端风格大屏设计开发

数据中心的中台前端风格大屏设计开发

秋招突击——算法打卡——5/28——复习{Z字形变换、两数之和}——新做:{整数反转、字符串转整数}

文章目录 复习Z字形变换实现代码参考代码 两数之和复习代码 新作整数反转个人实现实现代码 参考做法字符串转换整数个人解法 分析总结 复习 Z字形变换 实现代码 这里使用了他的思想&#xff0c;但是没有用他的代码&#xff0c;虽然已经比上次简洁了&#xff0c;但是还是不够&…

【创业新趋势】萤瓴优选,抓住2024年造富新机遇!

​在当下这个充满变革与机遇的时代&#xff0c;创业者们纷纷寻找着下一个造富的新风口。而2024年&#xff0c;一个备受瞩目的创业新星正在冉冉升起——萤瓴优选。这款短视频变现任务App以其独特的 keJ0277 商业模式和创新理念&#xff0c;正引领着创业新趋势&#xff0c;成为众…

java多线程初探

文章目录 countDownLatchvolatileCASjdk1.6对synchronized的优化自旋锁锁消除锁粗化轻量级锁偏向锁 java AtomicBoolean compareAndSet Demothreadlocalconcurrent queue原子操作是否需要同步copyonwrite容器可重入锁公平与非公平并发编程步骤 countDownLatch 此类位于java.ut…

python入门2

文章目录 前言一、集合与字典1、集合2、字典3、字典内置方法4、内置数据结构总结 二、控制流程1、结构流程概述2、分支结构3、循环结构 总结 前言 本文将介绍Python中的集合与字典以及控制流程。集合是一种无序且不重复的数据类型&#xff0c;它可以用于存储一组元素&#xff…

echarts多X轴, 多Y轴

需要的效果 原始数据 props.monitorData:{"lst_monitor_flow": ["152.68","207.64","103.82","21.21","33.81","40.71","273.80","208.66","104.33","15.80"…

如何在vs code中安装JavaFX

目录 下载JavaFX 配置vs code工程 编写测试代码 下载JavaFX 网站链接:https://openjfx.io 选择如下的版本

傲医医疗集成引擎 Rhapsody 在超融合信创平台表现如何?

作者&#xff1a;SmartX 商业团队 黄玉辉 随着越来越多的医疗用户基于超融合基础设施实现 IT 基础架构信创转型&#xff0c;超融合信创架构在医疗业务场景中的实际表现也得到更多关注。尤其是集成平台业务场景——作为三甲医院互联互通评级中不可缺少的核心业务系统&#xff0…

指针的认识(传值调用和传地址调用)

学习指针的目的是使用指针解决问题&#xff0c;那什么问题&#xff0c;非指针不可呢&#xff1f; 当要求写个函数来交换两个变量的值时&#xff0c;我们稍加思索&#xff0c;可以写成如下函数&#xff1a; void Swap1(int x, int y) {int tmp x;x y;y tmp; } 那么我们来进…

HBuilderX编写APP二、获取数据代码以及如何打包发行app

<template><!-- 修改APP名字的地方在pages.json文件里面 --><!-- <view class"content"><view class"">温度{{temp}} ℃ </view> //添加温度显示<view class"">湿度{{humi}} % </view> //添加湿度…

“OZON售后管理:加速处理流程,优化顾客售后体验“

在跨境电商领域欣欣向荣的发展浪潮中&#xff0c;退货及其它售后问题成为了许多卖家心头的一大困扰。为了解决卖家在处理退货售后时所面临的问题&#xff0c;无忧易售ERP上线了专为Ozon平台设计的退货规则&#xff0c;旨在帮助卖家们更好的优化售后服务、提升运营效率。 无忧易…

支付通道接口被脚本刷,如何解决

在数字交易日益频繁的今天&#xff0c;支付通道接口的安全性成为商家和平台不容忽视的问题。当支付接口被脚本恶意刷单时&#xff0c;不仅会导致财务损失&#xff0c;还可能引发合规风险和客户信任危机。本文将探讨支付接口被脚本刷单的原因、识别方法、应急处理方案&#xff0…

弘君资本:如何洞察先机?前瞻性指标揭秘新一轮船舶周期

多项目标共同提醒船只上行周期的到来。本文将以我国船只为例&#xff0c;综合剖析这一强周期职业的发展趋势。 复盘全球造船周期&#xff0c;可以看出均匀全球造船周期约为9.6年&#xff1b;在1886—2007年期间&#xff0c;有12个独立的周期&#xff0c;周期均匀长度约为9.6年…

YOLOv10环境搭建推理测试

引子 两个多月前YOLOv9发布&#xff08;感兴趣的童鞋可以移步YOLOv9环境搭建&推理测试_yolov9安装-CSDN博客&#xff09;&#xff0c;这才过去这么短的时间&#xff0c;YOLOv10就横空出世了。现在YOLO系列搞得就和追剧一样了。。。OK&#xff0c;那就让我们开始吧。 一、…

记一次 .NET某质量检测中心系统 崩溃分析

一&#xff1a;背景 1. 讲故事 这些天有点意思&#xff0c;遇到的几个程序故障都是和Windows操作系统或者第三方组件有关系&#xff0c;真的有点无语&#xff0c;今天就带给大家一例 IIS 相关的与大家分享&#xff0c;这是一家国企的.NET程序&#xff0c;出现了崩溃急需分析。…

年中企业业绩管理新篇章:用友BIP收入云助力高效管理!

随着市场竞争的加剧&#xff0c;年中时刻对于企业而言&#xff0c;不仅是评估上半年业绩的节点&#xff0c;更是调整策略、确保全年目标达成的关键时期。高效的业绩管理不仅需要明确的目标设定和计划制定&#xff0c;更需要借助先进的信息技术工具来提升管理效率和决策质量。在…