持续集成--Jenkins--1
[root@linux-node2 ~]# yum install -y java-1.8.0
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.cn99.com
Package 1:java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64 already installed and latest version
Nothing to do
[root@linux-node2 ~]#
cd /etc/yum.repos.d/
wget http://pkg.jenkins.io/redhat/jenkins.repo
rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key
yum install -y jenkins
systemctl start jenkins
[root@linux-node2 yum.repos.d]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1151/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1244/master
tcp6 0 0 :::3306 :::* LISTEN 5755/mysqld
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::8080 :::* LISTEN 8727/java
tcp6 0 0 :::22 :::* LISTEN 1151/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1244/master
[root@linux-node2 yum.repos.d]#
安装过程
OWASP插件,它每年出一个top 10 的安全漏洞
开放式Web应用程序安全项目(OWASP)是一个非营利组织,不附属于任何企业或财团。
因此,由OWASP提供和开发的所有设施和文件都不受商业因素的影响。
OWASP支持商业安全技术的合理使用,它有一个论坛,在论坛里信息技术专业人员可以发表和传授专业知识和技能。
Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,
包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
HUDSON被收购了。,然后写这个的人又搞了个Jenkins
装gitlab插件
目前已经部署好了gitlab,准备和gitlab集成。要安装gitlab插件
右边搜索gitlab
高级这里可以看到
[root@linux-node2 plugins]# cd /var/lib/jenkins/plugins/
[root@linux-node2 plugins]# pwd
/var/lib/jenkins/plugins
[root@linux-node2 plugins]#
点击add弹出下面界面
点击下面
配置deploy key
我们可以配置deploy key
如下配置
[root@linux-node2 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
23:21:be:de:78:f7:82:40:b8:38:fa:6f:05:39:06:86 root@linux-node2.nmap.com
The key's randomart image is:
+--[ RSA 2048]----+
| . |
|E o |
| . o... |
| ..*. . |
| . +.o. S |
|o . .... . |
|.. .o . |
|. ..oo o |
| ..o+... o. |
+-----------------+
[root@linux-node2 ~]# [root@linux-node2 ~]# cd .ssh/
[root@linux-node2 .ssh]# cat id_rsa.pub
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQCz0QBxB9kIv8H6Uxe+clLvM99/7QOYTCVZzQKb0Q9Song1Yy9oryCcYWHogN30j80Ctbybu+3PAh4VIfz4SjY1tNd/Dv2Il3caz+5chvX0OL
DJCNl2w+Du7HjwdyszlzVc1rP4QTL/yYvrUz1fgBonRKa0/Y5CK7jEzQZ1+ZMuN/E/ubrDX5FIp0jfPPnbtTryWW8BMloOb+Q8EFKnaI6Wbyx9JzslOIawCkM77LL9RhxMbQ6A3QoU
HozmlFnhfu7AXnhfCdPb02xx4RCOAFoY9pEtOH+eHzT7/SQVf8VzEYO1vIe4TDP6sNN40/1pjUdBPcGiBMidM6pLk/j6CaxV root@linux-node2.nmap.com
[root@linux-node2 .ssh]#
[root@linux-node2 ~]# yum install git -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.cn99.com
Package git-1.8.3.1-6.el7_2.1.x86_64 already installed and latest version
Nothing to do
[root@linux-node2 ~]#
[root@linux-node2 ~]# git clone git@192.168.58.11:web/web-demo.git
Cloning into 'web-demo'...
remote: Counting objects: 13, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 13 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (13/13), done.
[root@linux-node2 ~]# ls
anaconda-ks.cfg tools web-demo
[root@linux-node2 ~]# cd web-demo/
[root@linux-node2 web-demo]# ls
index.html README.md
[root@linux-node2 web-demo]# cat index.html
hehehehhehehe
version 2.0
[root@linux-node2 web-demo]#
node2上已经没问题,开始配置jenkins的认证
复制私钥
[root@linux-node2 ~]# cat .ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAs9EAcQfZCL/B+lMXvnJS7zPff+0DmEwlWc0Cm9EPUqJ4NWMv
aK8gnGFh6IDd9I/NArW8m7vtzwIeFSH8+Eo2NbTXfw79iJd3Gs/uXIb19DiwyQjZ
dsPg7ux48HcrM5c1XNaz+EEy/8mL61M9X4AaJ0SmtP2OQiu4xM0GdfmTLjfxP7m6
w1+RSKdI3zz527U68llvATJaDm/kPBBSp2iOlm8sfSc7JTiGsApDO+yy/UYcTG0O
gN0KFB6M5pRZ4X7uwF54XwnT29NsceEQjgBaGPaRLTh/nh80+/0kFX/FcxGDtbyH
uEwz+rDTeNP9aY1HQT3BogTInTOqS5P4+gmsVQIDAQABAoIBAQCKQGMqhHIl++lU
YZab4qJJL4TjgoOFEOaWyLz8uBwj2K67vWqx/hQAqA7zCEGeywFA2CIPSspooqQm
c19gNw6+9C/LjOb5ohr9Dmmh0lJAV2X060znt2q1yDKkD7uzisqIerscYGSprXha
kkFZr9Br6KiT927tCViiV1BkXGMA4NAyFHQQBa493kYZ9tRM89nfzQXK8Ttjulp3
1qD3bPebsMWp6JuCtnFsRwfoYRnsYHHG3FsD5QOIV1tcKiT8v6fV5CklVejOn5O3
+992oNz0UqXuHD0GhFRGRo7Xro2XAsSpyxH0NPv6Aclz9eU6t3hXF+lg33l+tKYJ
HUrHvt9xAoGBANnNXmu72pyEhIMbWTw6qR2WAy5UL+hdggDilGbsTX9x33eZiaQR
bNT7qcX2CRq7pmXiH4o6LmljkkVYTGS/ZIkp6QZZp9CnE2Ywb0oo+UwfKPAXLMpd
2xBjg03YSzD6ElsPKeVgx78//UGbcWZWMbw7i9k//ho2j3XMKwHIIABPAoGBANNa
MK6VGJDX/PPvre+ktF50bKj4VDWNdT5nEvjuEG98zIEIh5geAgPVYMXeBELlKmvw
Az/eto5puvtPF2bXk/Y75xJ/pYha5KIhQYhbt+GLk71pWywu9wvZopkEViVc2Tf9
vIo+SFJEjxgQeotJG0S24kCJfNfoh9oIwGSGDxwbAoGALel7yOwNlkbdBCIkumyH
L8RqoT5/5tSnTfZ1YAjaAU6I09ZazGob7f2q+R73Jlp+JiX3jhTbqb2inNmTKP2r
fLqH8528oWBG15jILPLcMm6zG4FXIMWOIzNG/4bjusxMSEO3CjJPiQI9KbJRwkfT
LiHDRiWWNAJiVWuXeUWtcUMCgYEAwgmjeCTaEOC7ExmRDtqf3bf1qouShDgC0++9
s1ydKj3hYvV5x2aFYw+bcQ2Ly/6pG7+WvCS0ZbscN209huWUqhQE6S7Xwn/wOAlg
KNhL0X5bfSIk2kOj+/UrGmCo1lSP+J+zYRgdPapD1UwLtaTArC1bOvT+8RpC3yH5
wFBzvtECgYEAyYLpBV8vNzY7ilCmGctXtj5gsAvxOkYMVdaPkCXDr50qHBYYsHj4
22FdOq75zWgrIQo6Poke3IQcz4NML/+Z08r2qa7+4z5Jx5BnwXAnWEB9omcbANgD
m+h33eEXWr12L363c+/RVdZPINkmhaS69u4/Njh+dI1lL8Ta+8Ihkow=
-----END RSA PRIVATE KEY-----
[root@linux-node2 ~]#
复制进去
添加描述
[root@linux-node1 ~]# rpm -qa | grep gitlab
gitlab-ce-9.1.0-ce.0.el7.x86_64
[root@linux-node1 ~]#
[root@linux-node2 ~]# cd /var/lib/jenkins/workspace/auto-deploy
[root@linux-node2 auto-deploy]# ls
index.html README.md
[root@linux-node2 auto-deploy]#
git show查看版本
[root@linux-node2 auto-deploy]# git show
commit 7983661ca0d2be489b4442c3d49d137d2a1026df
Author: nmap <nmap@test.com>
Date: Fri Apr 28 22:20:59 2017 +0800 2.0 diff --git a/index.html b/index.html
index f95f8e7..d77c60b 100644
--- a/index.html
+++ b/index.html
@@ -1,2 +1,2 @@
hehehehhehehe
-version 2.1
+version 2.0
[root@linux-node2 auto-deploy]#
[root@linux-node2 auto-deploy]# ls -a
. .. .git index.html README.md
[root@linux-node2 auto-deploy]#
能检查代码里有没有bug,比如你代码里有个死循环的bug,不用运行,就能检测出来
它还会给你代码打分(代码质量)
Sonar 是一个用于代码质量管理的开放平台。
通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,
Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,
而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;
同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。
Sonar部署
Sonar的相关下载和文档可以在下面的链接中找到:http://www.sonarqube.org/downloads/。需要注意最新版的Sonar需要至少JDK 1.8及以上版本。
[root@linux-node1 ~]# yum install -y java-1.8.0
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.163.com
* updates: mirrors.zju.edu.cn
Package 1:java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64 already installed and latest version
Nothing to do
[root@linux-node1 ~]#
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.zip [root@linux-node1 src]# pwd
/usr/local/src
[root@linux-node1 src]# ls
mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz sonarqube-5.6.zip
[root@linux-node1 src]# [root@linux-node1 src]# yum install unzip -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.163.com
* updates: mirrors.cn99.com
Package unzip-6.0-16.el7.x86_64 already installed and latest version
Nothing to do
[root@linux-node1 src]# [root@linux-node1 src]# unzip sonarqube-5.6.zip
[root@linux-node1 src]# mv sonarqube-5.6 /usr/local/
[root@linux-node1 src]# ln -s /usr/local/sonarqube-5.6/ /usr/local/sonarqube
[root@linux-node1 src]#
[root@linux-node1 src]# /usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf &
[root@linux-node1 src]# /usr/local/mysql/bin/mysql -S /usr/local/mysql/mysql.sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.30-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| t1 |
| test |
+--------------------+
5 rows in set (0.00 sec) mysql> mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar@pw';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar@pw';
mysql> FLUSH PRIVILEGES;
[root@linux-node1 src]# cd /usr/local/sonarqube/conf/
[root@linux-node1 conf]# ls
sonar.properties wrapper.conf
[root@linux-node1 conf]#
[root@linux-node1 conf]# vim sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonae@pw
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
修改之后如下
[root@linux-node1 conf]# /usr/local/sonarqube/bin/linux-x86-64/sonar.sh start
Starting SonarQube...
Started SonarQube.
[root@linux-node1 conf]#
[root@linux-node1 conf]# cd /usr/local/sonarqube
[root@linux-node1 sonarqube]# ls
bin conf COPYING data extensions lib logs temp web
[root@linux-node1 sonarqube]# cd logs/
[root@linux-node1 logs]# ls
access.log sonar.log
[root@linux-node1 logs]#
[root@linux-node1 logs]# cd /usr/local/sonarqube
[root@linux-node1 sonarqube]# ls
bin conf COPYING data extensions lib logs temp web
[root@linux-node1 sonarqube]# cd extensions/
[root@linux-node1 extensions]# ll
total 4
drwxr-xr-x 2 root root 6 Apr 29 16:34 deprecated
drwxr-xr-x 2 root root 6 Apr 29 16:35 downloads
drwxr-xr-x 3 root root 19 Jan 11 2016 jdbc-driver
drwxr-xr-x 2 root root 4096 Apr 29 16:34 plugins
[root@linux-node1 extensions]# cd plugins/
[root@linux-node1 plugins]# pwd
/usr/local/sonarqube/extensions/plugins
[root@linux-node1 plugins]# [root@linux-node1 plugins]# ll
total 21952
-rw-r--r-- 1 root root 128 Apr 11 2016 README.txt
-rw-r--r-- 1 root root 7797781 Apr 7 2016 sonar-csharp-plugin-5.0.jar
-rw-r--r-- 1 root root 3191477 Apr 28 2016 sonar-java-plugin-3.13.1.jar
-rw-r--r-- 1 root root 1678073 Apr 7 2016 sonar-javascript-plugin-2.11.jar
-rw-r--r-- 1 root root 3233128 Apr 7 2016 sonar-scm-git-plugin-1.2.jar
-rw-r--r-- 1 root root 6564535 Apr 7 2016 sonar-scm-svn-plugin-1.3.jar
[root@linux-node1 plugins]#
提示重启才生效
持续集成--Jenkins--1的更多相关文章
- 这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script
这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##转载注明出处:http://www.cnblogs.com/wade-xu/p/4378224.html ...
- 自动化持续集成Jenkins
自动化持续集成Jenkins 使用Jenkins配置自动化构建http://blog.csdn.net/littlechang/article/details/8642149 Jenkins入门总结h ...
- 持续集成~Jenkins构建GitHub项目的实现
有了前两讲的基础,这回我们就可以把github上的项目做到CI(jenkins)里了,让它自动去集成部署,持续集成~Jenkins里的NuGet和MSBuild插件,持续集成~Jenkins里的pow ...
- 1.jenkins持续集成-jenkins安装
1.为什们要使用jenkins Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目; 2.监控外部调用执行的工作. 2.安装jen ...
- 持续集成Jenkins + robot framework + git
Jenkins + robot framework + git持续集成 一.Jenkins安装插件 进入系统管理—插件管理—可选插件下安装以下插件Git Client Plugin.GIT plugi ...
- 持续集成Jenkins+sonarqube部署教程
1 引言 1.1 文档概要 本文主要介绍jenkins,sonar的安装与集成,基于ant,maven构建.用一个例子介绍jenkins的编译打包部署,代码检查.最后集成jenkins.(现阶段只是简 ...
- python+selenium自动化软件测试(第11章):持续集成jenkins和GitHub的使用
11.1 jenkins持续集成环境 相关安装包下载链接:http://pan.baidu.com/s/1qYhmlg4 密码:dcw2赠送jenkins集成selenium环境视频链接http:// ...
- 持续集成-jenkins介绍与环境搭建
什么是持续集成? 转自:https://blog.csdn.net/tanshizhen119/article/details/80328523 持续集成,俗称CI, 大师Martin Fowler对 ...
- 敏捷持续集成(Jenkins)
在前面已经完成git和gitlab的相关操作 1.持续集成的概念: 1. 什么是持续集成: 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可 ...
- DevOps实践之持续集成Jenkins(最新版本测试)
一.安装Jenkins (1)下载并安装配置Java Development Kit 8 [root@localhost ~]# rpm -ivh jdk-8u161-linux-x64.rpm Pr ...
随机推荐
- 网口扫盲二:Mac与Phy组成原理的简单分析(转)
1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中. 对于上述的三部分 ...
- Oracle备份
今天被吊,特来学习备份. https://blog.csdn.net/zhaiqi618/article/details/5616215 https://www.cnblogs.com/yingpp/ ...
- 在html5中不支持<table>的cellpadding 和 cellspacing ; 2) 如何用css实现 cellpadding, cellspacing ; 3) tr , th 是 有 border, 没有 padding 的.
1.初始: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- 界面设计-Edit控件的Style设置
以下文字转贴ChinaCock QQ 223717588群: 1. 首先在Form上放一个TEdit类型控件Edit1,最终的效果如下图: 2.选中控件Edit1,点击鼠标右键,在弹出菜单中选择“Ed ...
- winform dataGridView中的button点击判断
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowI ...
- [转]EM算法(Expectation Maximization Algorithm)详解
https://blog.csdn.net/zhihua_oba/article/details/73776553 EM算法(Expectation Maximization Algorithm)详解 ...
- C++和C在linux下 和在windows下有什么区别?
一.函数库的区别 linux下的C函数库和windows下的函数库系统调用的机制不一样,Glibc包含了主要的C库.这个库提供了基本例程,用于分配内存.搜索目录.打开关闭文件.读写文件.字串处理.模式 ...
- c#网站文件下载次数统计
参考:http://q.cnblogs.com/q/17954/ 项目中需要准确记录文件的下载次数,和帖子的要求差不多. 参考了帖子中推荐的链接,问题得到了有效控制. 大概方法:逐字节(大小可以自己控 ...
- 20155219 2016-2017-2 《Java程序设计》第10周学习总结
20155219 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计 ...
- 网页筛选Automatic Input Enrichment - FLAIR
http://www.cs.rochester.edu/~tetreaul/Presentations-and-Posters/0504.pdf 介绍了一个在线平台https://eflnotes.w ...