持续集成与自动化部署 - jenkins与sonar、gitlab集成 (六)

1 将jenkins和sonar集成

1.1 安装sonar 插件

jenkins上安装sonarqube plugin ,如果没有就安装sonarqube scanner for jenkins这个插件。

1.2 关联sonar 插件

1.2.1 系统设置

设置sonar地址

系统管理 > 系统设置 > Add SonarQube > sonarqube servers 修改如下:

1.2.2 全局设置

设置sonar扫描器位置

系统管理 > Global Tool Configuration > SonarQube Scanner > 新增 SonarQube Scanner

1.2.3 关联项目

选择一个项目 ,配置 > 构建 > Execute SonarQube Scanner >Analysis properties 填写相关参数,保存即可。

sonar.projectKey=demo
sonar.projectName=demo
sonar.projectVersion=1.0
sonar.sources=/server/tools/sonar-examples-4.5/projects/languages/php/php-sonar-runner-unit-tests
sonar.language=php
sonar.sourceEncoding=UTF-8

报错之后,就可以就去构建了。

2. 将jenkins Job关联和Pipeline

安装pipeline(做完一件事情,接着做下一件事情。)

2.1 安装pipeline

2.2 配置pipeline



点击run开始运行,就开始构建了。

2.3 关联相关的job

列如代码上线会经过 ,静态代码检查、单元测试、然后部署服务器、服务器重启、进行ui测试等。

选择第一个要执行的job

构建后操作,选择 Trigger parameterized build on other projects

添加pipeline

3. Jenkins与gitlab集成(Webhook)

3.1 jenkins安装gitlab hook

gitlab Hook Plugin gitlab 钩子

Build Authorization Token Root Plugin 安装令牌插件

3.2 jenkins配置gitlab钩子

注:jenkins需要使用令牌

[[email protected] ~]$ openssl rand -hex 10
c6116ac353aca741f315

http://10.0.0.203:8080/project/auto-deploy

3.3 gitlab配置钩子


添加完成之后,可以点击test 来测试。

此时我去提交代码然后,git push ,后面会进行 代码质量检查,然后进行部署。

原文地址:http://blog.51cto.com/damaicha/2118766

时间: 2024-08-01 22:44:20

持续集成与自动化部署 - jenkins与sonar、gitlab集成 (六)的相关文章

持续集成与自动化部署 - jenkins & sonar代码质量管理平台 部署和基础使用(五)

1 jenkins 安装参考链接 1.1 安装jenkins [[email protected] ~]# yum install -y java-1.8.0 [[email protected] ~]# cd /etc/yum.repos.d/ [[email protected] yum.repos.d]# wget http://pkg.jenkins.io/redhat/jenkins.repo [[email protected] yum.repos.d]# rpm --import

Jenkins持续集成-自动化部署脚本的实现《python》

读者须知:1.本手记本着记续接前面的两张手记内容整理2.本手记针对tomcat部署测试环境实现 最近工作比较繁忙,导致这章一直拖延,没有太抽出时间来总结.要实现Jenkins端的持续集成,其实在CI服务配置端很容易,难点呢?就是如何实现自动化的部署.我的脚本设计就是为了解决以下难题: 难点一.如何使得自动化部署脚本更通用 我用的脚本,依赖依赖一个配置文件的模块化,让每一个应用业务模块更加通用.自动化所执行的命令呢?我也是设计想法本着更加通用平台的原则,至少对于tomcat+java or jav

.NET 半天搭建Jenkins持续集成与自动化部署系统

前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们所做的系统业务复杂,系统庞大,设计到多个系统之间的合作,而核心系统更是采用分布式系统架构,由于当时对系统划分的不合理等等原因导致每次发版都会设计到多个系统的发布,小的版本三五个,大的版本十几个甚至几十个系统的同时发布!而我们也没有相应的基础设施的支撑,发版方式更是最传统的,开发人员将发布包发给运维人员,由其讲各个发布包一个一个覆盖到生产环境.因此每次上线仅仅发版就需要2-3个小时.这种方式

NET持续集成与自动化部署

https://www.cnblogs.com/hunternet/p/9590287.html 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们所做的系统业务复杂,系统庞大,设计到多个系统之间的合作,而核心系统更是采用分布式系统架构,由于当时对系统划分的不合理等等原因导致每次发版都会设计到多个系统的发布,小的版本三五个,大的版本十几个甚至几十个系统的同时发布!而我们也没有相应的基础设施的支撑,发版方式更是最传统的,开发人员将发布包发给运维人

持续集成之“自动化部署”

在前文<依赖管理>中,我们讨论了如何在代码变得庞大,组件增多的情况下,做好外部库和内部组件依赖管理,从而提高构建效率.可以应用的实践包括:一次生成,多次复用:建立统一制品库,外部依赖库可以使用像Maven或Ivy这样的工具进行统一管理:对架构进行调整,使一个大的代码库分成多个组件:每个组件有自己的持续集成体系:对多个组件做持续集成.然而,解决一个问题后,总会有另一个问题等在那里,需要你来解决.这次Joe的团队遇到了部署问题. 星期一早上,Alice一进办公室,就看到一脸倦意的Joe坐在椅子上,

Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记(1)

前言    持续集成这个概念已经成为软件开发的主流,可以更频繁的进行测试,尽早发现问题并提示.自动化部署就更不用说了,可以加快部署速度,并可以有效减少人为操作的失误.之前一直没有把这个做起来,最近的新项目正好有机会,费了一番功夫总算搞好了,特此记录. 1. 开发环境    我这边建立的标准开发环境如下:    1. Maven做项目管理:    2. Git做代码管理:    3. SpringMVC+Spring+Mybatis搭建的程序框架:    4. Mysql作为数据存储,Druid做

Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记

前言 持续集成这个概念已经成为软件开发的主流,可以更频繁的进行测试,尽早发现问题并提示.自动化部署就更不用说了,可以加快部署速度,并可以有效减少人为操作的失误.之前一直没有把这个做起来,最近的新项目正好有机会,费了一番功夫总算搞好了,特此记录. 1. 开发环境 我这边建立的标准开发环境如下: 1. Maven做项目管理: 2. Git做代码管理: 3. SpringMVC+Spring+Mybatis搭建的程序框架: 4. Mysql作为数据存储,Druid做连接池: 5. unitils作为测

Jenkins+Maven+Git搭建持续集成和自动化部署的配置

前言 持续集成这个概念已经成为软件开发的主流,可以更频繁的进行测试,尽早发现问题并提示.自动化部署就更不用说了,可以加快部署速度,并可以有效减少人为操作的失误.之前一直没有把这个做起来,最近的新项目正好有机会,费了一番功夫总算搞好了,特此记录. 1. 开发环境 我这边建立的标准开发环境如下: 1. Maven做项目管理: 2. Git做代码管理: 3. SpringMVC+Spring+Mybatis搭建的程序框架: 4. Mysql作为数据存储,Druid做连接池: 5. unitils作为测

持续集成与自动化部署 - dev ops &amp; 持续集成、交付、部署 介绍 (三)

1 什么是devops DevOps是一种文化,让开发.测试.运维之间沟通的文化. 过程.方法.系统的统称.目标:让软件从构建,开发,测试,上线,更加的快捷 安全的上线. 列如saltstack他就是一个devops的工具.自动话测试平台也是devops 2 持续集成.交付.部署介绍 2.1 继续集成 在软件开发的过程中,频繁的将代码集成到主干上,然后进行自动化测试. 2.2 持续部署 持续交付是指在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-