Jenkins 持续集成平台构建之通过git提交代码

一、概述

上一篇文章介绍了Jenkins结合svn来构建jar包,本文介绍另一种代码提交的方式git,并结合maven来构建代码包。

实验环境:

IP: 10.0.90.27 系统: Centos6.6 x86_64

软件包:

Jenkins  2.9
Tomcat   8.0.36
JDK      8.92
maven    3.3.9
git

二、安装步骤

1、安装jdk

#rpm -ivh jdk-8u92-linux-x64.rpm 
Preparing...                ########################################### [100%]
   1:jdk1.8.0_92            ########################################### [100%]
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...

2、安装tomcat

#tar xf apache-tomcat-8.0.36.tar.gz  -C /usr/local/
#cd /usr/local/
#ln -sv apache-tomcat-8.0.36 tomcat
启动
#cd tomcat
#./bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
访问测试:
在浏览器输入http://10.0.90.27:8080,出现tomcat的默认网页,表示安装成功。

3、安装Jenkins(安装方式是直接解压到tomcat中)

将jenkins.war包拷贝的/usr/local/tomcat/webapps目录

然后再浏览器访问:

http://10.0.90.27:8080/jenkins/ 显示下面界面

根据提示从/root/.jenkins/secrets/initialAdminPassword文件中获取密码,然后继续,会看到如下界面:

然后就按照默认的选择(Install suggested plugins),继续下一步,会看到安装Plugin的界面:

安装Plugin的过程会花费一些时间,请耐心等待……

PS:如果一直处于安装状态(可能会因为网络原因,有些个Plugin安装不了),可以刷新一下浏览器,如果刷新之后提示你安装失败,你可以点击提示的“Retry”,继续。安装好Plugin之后,会让你创建一个admin用户,你可以自定义如下图:

也可以继续使用admin用户,如下红方框中的按钮(我这里是创建了一个普通的admin用户liguang):

创建好之后,点击“Save and Finish”按钮,会弹出如下页面:

然后点击 “Start using Jenkins”,就会看到安装好的Jenkins界面了

可以查看之前安装了哪些插件,哪些安装成功了,哪些没有安装成功,方法:“系统管理”--“管理插件”,会看到插件的界面,可以根据情况操作。

注意:假如你想使用svn来管理代码,但是svn插件没有安装,就会在创建的新项目进行配置的时候,“代码管理”设置部分显示为None,如下:

这个时候,你就需要安装svn插件了。

4、Jenkins安装插件

“系统管理”--“管理插件”--“可选插件”,然后在右上角的“过滤”长方框中输入svn,就会看到很多svn相关的插件,选择安装如下的插件即可:

选择“直接安装”或者“下载待重启后安装”都可以,我这里选择第二个,然后会看到如下界面,先是处于“等待”的状态,过一会儿就是“安装中”的状态。

安装好之后,提示如下图:

然后重新启动tomcat,刷新浏览器,再到“插件管理”查看svn的安装情况,如下表示安装成功:

PS:这时,在到test_app项目中的“源码管理”部分,就会看到“None”和“Subversion”都存在了!但是很多时候我们也会用到CVS或者git来拉取代码,所以需要安装这2个插件。安装CVS(CVS Plug-in)和git(Git plugin)插件,方法一样,需要重启tomcat生效,安装完成之后,在项目配置的时候,就可以看到了,如下:

这样就有4种方式进行源码的管理了!

5、查看Jenkins的Global Tool Configuration

“系统管理”---“Global Tool Configuration”,如下图:

根据提示可以看出是Jenkins服务器没有安装git,找不到git命令,后面会介绍安装git的方式。

三、配置Jenkins通过git拉取代码

注:gitlab的安装配置这里不介绍了(如果和Jenkins安装到同一台服务器,需要注意端口不要冲突了)
1、在Jenkins服务器生成key

#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:
5a:f1:2f:5c:78:26:26:0d:a4:43:e7:bf:c8:a0:91:e9 [email protected]
The key‘s randomart image is:
+--[ RSA 2048]----+
|      . o        |
|     . =         |
|      o +        |
|     o . * .     |
|    + . S B +    |
|   . o = = B     |
|    E . o + .    |
|           .     |
|                 |
+-----------------+

2、在Jenkins服务器安装git客户端命令,我这里直接yum安装

#yum install git  -y
查看版本:
#git --version
git version 1.7.1

安装好之后,再到Global Tool Configuration查看,就不会有二.5提示的错误了。顺便为其设置一个名称,Name 设置为git1.7.1 ,Path to Git executable 保持不变即可。

3、查看gitlab上Project的信息(我这里用的是之前搭建好的gitlab,地址是10.0.18.173),这里以server1/CSS项目为例:

红方框中给出的是访问该代码的方式,我们用的是git,所以需要配置为[email protected]:server1/css.git,也可以是域名:[email protected]:server1/css.git

4、在Jenkins的项目中配置,以test_app为例子,

不过配置好之后,遇到了如下的问题:

原因:根据错误提示,发现是没有权限到gitlab服务器端拉取代码,需要将Jenkins服务端刚才生成的id_rsa.pub配置在某一个可以登录gitlab用户的SSH Keys 中,方法如下:

使用一个用户登录到gitlab,并且这个用户对gitlab上的所有项目有读写权限,然后添加Jenkins的key

点击右上方的“Profile settings”,在弹出的页面再点击“SSH Keys”,会弹出如下界面:

点击“Add SSH Key”,自定义Title,将key粘贴到下面的方框中,点击“Add key”,如下图:

然后刷新Jenkins页面,上面三.4出错的页面,就不会再报错了!

PS:如果安装好Jenkins之后,你配置了普通用户并且设置了邮箱,添加好key之后,系统会发邮件通知你,内容如下:

5、为项目添加代码分支

首先要从gitlab上查看代码分支,然后在Jenkins的每个项目中添加分支,以test_app项目为例子,如下:

添加好之后要apply和save!

PS:每次构建只能配置一个分支!

6、其他配置:

可以配置丢弃旧的构建,因为保留太多没有用。

时间: 2024-10-08 09:44:55

Jenkins 持续集成平台构建之通过git提交代码的相关文章

jenkins持续集成--看我如何从1到代码自动部署

jenkins持续集成看我如何从1到代码自动化部署 背景 近期由于工作原因需要学习jenkins持续化集成.对于一个好学又帅气的我来说.学习他还不是手到擒来.公司为一个中小型创业公司,在部署代码上面,很少用gitlab.jenkins等等,也没有清晰的生产环境-测试环境-线上环境之分.唯一有的就是写完代码-登陆服务关闭服务,上传代码-开启服务.这样往往会到来很多问题,同时也会给程序员带来很多繁琐的工作.这不,公司内部整顿,需要一套清晰的流程,而且为了减轻程序员的负担,于是就希望采用gitlab+

pytest系列(四)- pytest+allure+jenkins - 持续集成平台生成allure报告

pytest是什么 pytest是python的一款测试框架,拥有unittest的功能并比它更丰富. allure是什么 有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例执行过程和结果. allure是一款开源的,专门用来展示测试结果的工具,目的是希望团队内部每一个人都可以看到非常清楚的测试结果. allure可以与非常多的著名测试框架做集成. 像java语言,可以与junit4,junit5,TestNG测试框架集成. python语言,可以与pytest,beh

Jenkins持续集成——参数化构建

一.String Parameter 由于每次构建的时候指定的SVN路径都不同,如果不使用参数化构建则每次都需要修改配置中的SVN路径,不但不安全也容易出现错误. 将SVN地址设置为字符串参数(string parameter),当开始构建的时候将会提示用户输入参数值(即:SVN地址) 在SVN中引用参数 另外,如果需要自动拉取SVN的tag或git的branch可以使用"List Subversion tags(and more)"和"Git Parameter Plug-

2.GitLab与Jenkins 持续集成平台使用方法

1 配置 Jenkins 使用 gitlib 更新代码 2 实现 gitlib 触发 Jenkins 自劢部署 3 增加 Build Pipeline 插件以流程图的形式展示各个 Job 的顺序 15.1 配置 Jenkins 使用 gitlib 更新代码 登录 gitlab http://10.10.10.11/ 用户名: root 密码:yanglin123 登录 jenkins http://10.10.10.11:198/ 用户名: admin 密码: 123456 15.1.1 查看

【搭建git+maven+jenkins持续集成环境】[一] 搭建git服务器

使用的系统是ubuntu,所以有大量apt-get命令,哈哈见谅 安装git git-core 新建一个git用户,这个用户的主目录会用来存放Git Repository. 这个用户名并非一定要叫git,可以任意指定,只不过git是比较常用的,一看就知道这个账户的作用 修改下密码 登陆 sudo apt-get install git git-core adduser git passwd git su git 以上为git安装 获取gitolite 如果没有python安装python 安装p

linux学习:持续集成篇--安装Jenkins持续集成平台-05

一.Jenkins需要使用maven,所以首先安装maven 1.解压 [[email protected] tar]# tar -zxvf apache-maven-3.5.0-bin.tar.gz -C /opt 2.重命名 [[email protected] opt]# mv apache-maven-3.5.0/ maven 3.配置maven环境变量 export JAVA_HOME=/opt/jdk export MAVEN_HOME=/opt/maven export PATH=

12.Jenkins持续集成企业实战

阅读目录: Jenkins持续集成企业实战1.1 目前主流网站部署的流程1.2 Jenkins持续集成简介1.3 Jenkins持续集成组件1.4 Jenkins平台安装部署1.5 Jenkins相关概念1.6 Jenkins平台设置1.7 Jenkins构建JOB工程1.8 Jenkins自动化部署1.9 Jenkins插件安装1.10 Jenkins邮件配置1.11 Jenkins多实例配置1.12 Jenkins+Ansible高并发构建 Jenkins持续集成企业实战 构建企业自动化部署

使用jenkins构建持续集成平台

jenkins +   Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线(确认上线前可能经过多种环境的测试) ------上线到生产环境-----最终测试------如果出现问题代码回滚. 传统代码上线: 开发人员开发完成-----打好包(war.jar)-----交给运维人员上线(上传.拷贝) jenkins持续集成简介: 持续集成是一种软件开发实践,对于提高软件开发效

jenkins持续集成源码管理选项为None,构建失败找不到git.exe解决办法

我的jenkins版本为Jenkins ver. 2.19.1 1.源码管理选项只有None的解决办法: 在插件管理中心,搜索对应的源码管理插件这里以git为例,搜索git plugin点击右下角的安装方式(在线安装需要连接VPN你懂的),如下图 重启后即可看到git按钮: 2.jenkins持续集成时,点击构建失败无法找到git.exe解决办法如下图: 控制台输出提示构建失败git.exe rev-parse --is-inside-work-tree # timeout=10:原因是没有找到