工具指南 - 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

相关推荐
云飞云共享云桌面1 小时前
单机建模卡顿运维繁琐!中小型机械制造厂云飞云 3D 云桌面落地
运维·服务器·网络·3d·自动化·电脑·负载均衡
zandy10112 小时前
体验家 XMPlus 批量操作与自动化工作流引擎:让大规模运营从手动执行走向规则驱动
大数据·运维·自动化
Sagittarius_A*3 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器
阿米亚波4 小时前
【EVE-NG 实战】防火墙基础(VLAN · VRRP · NAT · ACL · 静态路由)
运维·网络·笔记·网络协议·计算机网络·网络安全·运维开发
日取其半万世不竭5 小时前
云服务器迁移怎么少停机?DNS 切换前后的完整清单
运维·服务器
FREEDOM_X5 小时前
Linux 多线程编程——总结
java·linux·运维·ubuntu
名字还没想好☜5 小时前
Docker 多阶段构建:把镜像从 1.2GB 砍到 15MB
运维·docker·容器·多阶段构建·镜像优化
祸心依旧6 小时前
Visual Studio 五月更新 —— 计划、评审、优化
运维·人工智能·visual studio
Web4Browser6 小时前
Headless 浏览器自动化适合哪些任务?巡检、截图和提交动作要分级
运维·前端·自动化
難釋懷6 小时前
Nginx浏览器强制缓存
运维·nginx·缓存