工具指南 - jenkins

一、接入SonarQube 扫描代码

SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。

1.1 源码管理

如果源码托管在SVN,需要进行Subversion配置:

  • Repository URL:源码地址,比如https://ip/svn/authauthMaven项目,下面包含若干个子项目,比如auth-apiauth-server
  • Credentials:输入账号、密码;
1.2 Build Steps

下面以子项目auth-api为例,构建步骤由若干部分组成。

1.2.1 Invoke top-level Maven targets

配置Maven目标:

(1) Maven版本:比如3.95

(2) 目标:

shell 复制代码
clean 
verify 
-f ./auth-api/pom.xml -Dmaven.test.failure.ignore=true
org.jacoco:jacoco-maven-plugin:0.8.1:prepare-agent
1.2.2 Execute SonarQube Scanner

配置SonarQube 扫描器;

(1) Task to runscan

(2) JDKjdk-11.0.20

(3) Analysis properties

ini 复制代码
sonar.host.url=http://ip:9000                                  # sonarqube地址
sonar.login=2dace8ca471b9e5c8ef132081d0ef09ed1294a56
sonar.projectKey=auth-api
sonar.projectName=auth-api 
sonar.coverage.jacoco.xmlReportPaths=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/target/site/jacoco/jacoco.xml
sonar.sources=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/src/main/java/
sonar.sourceEncoding=UTF-8
sonar.language=java
sonar.java.binaries=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/target/classes
sonar.junit.reportPaths=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/target/surefire-reports
sonar.tests=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api/src/test/java/
sonar.projectBaseDir=/home/jenkinsagent/workspace/AUTH_API_DEV_SONAR/auth-api

二、jenkins自动部署

2.1 源码管理

如果源码托管在SVN,需要进行Subversion配置:

  • Repository URL:源码地址,比如https://ip/svn/auth
  • Credentials:输入账号、密码;

构建策略Check-out StrategyUse 'svn update' as much as possible

2.2 Build Steps

下面以Maven项目auth为例,构建步骤只配置Invoke top-level Maven targets

(1) Maven版本:比如3.95

(2) Maven目标:

shell 复制代码
clean
package
-U
-Dmaven.test.skip=true

如果还有前端项目,可以配置Execute shell:

shell 复制代码
cd $WORKSPACE/auth
node -v
npm -v
npm run build
2.3 构建后步骤

Send build artifacts over SSH配置。

2.3.1 SSH Server

Name:服务器名称;

2.3.2 Transfer Set

配置如下信息:

Source files

Remove prefix

Remote directory

Exec command

相关推荐
Fcy6481 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满1 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠1 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9032 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技3 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀3 小时前
Linux环境变量
linux·运维·服务器
zzzsde3 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º5 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~5 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流5 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器