Git作为一款优秀SCM(Source Control Management)软件现如今已经被广泛的应用到许多项目当中,在Git众多的使用场景中,在CI环境中使用Git颇具代表性,因为通过CI环境,我们可以自动的拿到项目的最新代码和相关的change log,继而为持续集成做准备。
在进入正题之前,我假设您已经对Git以及Jinkins有了一定的了解,并且在windows下已经有了正确配置的Git客户端外加Jenkins环境。
由于是在Windows下使用Jenkins+Git,所以首先我们需要确保本机使用Jenkins是windows版本的客户端,如果不是的话,请到https://jenkins-ci.org/重新下载并安装。至于为什么必须使用windows版本的Jenkins,我们待会再说。
假设您已经安装完成了Window版本的Jenkins并且为Jenkins已经安装上了Git的插件。https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin 这个时候你会在Jenkins里的Configure System页面中发现Git的选项。
接下来在Add Git的dropdown list中我们选择Git.一个Git配置div会被显示出来。
Jenkins一共提供了三个配置项给我们:
- Name: 必填的配置项,不多赘述。
- Path to Git executable:这个选项是为Jenkins指定在哪里能找到git这个命令,由于我们本机已经安装了git,找到Git的安装目录,然后指定这里的配置为C:\Program Files (x86)\Git\bin\git.exe 在这里要啰嗦一句,路径不能只给到C:\Program Files (x86)\Git\bin\目录,必须包含git.exe,否则Jenkins一样找不到git这个命令。
- Install automatically:这个选项是问你是不是需要Jenkins帮你install Git,由于我们本机已经有了Git,所以我们不勾选这个选项。
因此,最终的配置就是
保存配置,接下来我们要给windows配置一下环境变量,指定Git的安装目录和Git为你生成的SSH key的路径。
- GIT_HOME: 找到Git的安装目录 C:\Program Files (x86)\Git
- HOME:SSH Key 一般都放在C:\Users\${your_account} 目录下面
大概的配置都已经完成了,我们现在可以通过Jenkins来访问Git么?这个时候如果你新建一个Job来测试,Job在pull code from git的时候仍然会出错。为什么呢?因为我们仍然缺少最重要的一步,这也就是文中开头为什么要使用windows版的Jenkins的原因。在默认情况下,Jenkins在windows中是使用Local System account来登陆并运行的,但是你访问Git所需要的SSH Key实际上是存放在你的C:\Users\${your_account}目录下面的,在实际Build的过程中,Jenkins需要访问Git的时候因为他的Local System account下无法找到访问Git所需要的key,最终导致失败。要解决这个问题,我们就需要为Jenkins换一个登陆用户,换成我们自己的log on user account,因为Windows版本的Jenkins会在Windows中注册一个名为Jenkins的服务。
这个时候我们需要停掉这个服务,为Jenkins更换新的log on account。
更换完成之后,重启Jenkins的服务,再次build我们测试的那个Job,会发现此时已经可以pull下来最新的代码。
在这这次build的change log当中也能看到我们最新的提交。至此我们完成了全部的配置工作。
相关推荐
Jenkins+Git+Maven+Shell+Tomcat持续集成环境 Jenkins+Git+Maven+Shell+Tomcat持续集成环境
postman+newman+jenkins+git APItest自动化集成测试 ppt文档
jenkins+git+maven+tomcat,自动下载代码,自动编译,自动发布到tomcat
docker+jenkins+gitlab的持续集成,持续交付,使开发,运维,测试一体化,研发:开发流程高效,稳定,快速,交付结果可预测,运维:容器监控,自动化运维,降低维护成本
压缩包内包括:git-2.8.0.tar.gz二进制安装包、jenkins.war应用服务war包、jenkins+git+maven+tomcat.docx搭建详细文档
Jenkins+Gradle+Git+Centos 实现android持续集成、打包
jenkins+git+maven搭建自动构建项目过程,其中部分简单安装省略
Windows平台搭建Jenkins+maven+git/github实现自动发布已经越过几道坑
k8s+docker+Jenkins+git持续集成与持续发布
jenkins+git+maven搭建自动化部署环境说明文档,详尽的说明
Jenkins+Git+github 自动化部署
基于Jenkins+Git实现SpringBoot项目自动部署
实战Docker+Jenkins+Git+Registry构建持续集成环境
jenkins+git+tomcat+ansible发到tomcat-重启
jenkins+git+maven搭建自动化部署环境
Jmeter+ant+Jenkins接口自动化文档 本地项目尝试,输出了文档介绍了资源下载以及安装,使用的步骤。
gitlab+jenkins+docker自动化部署脚本,采用shell与python开发,其中python部分均为封装成型的逻辑,只接受shell传参就能完成项目构建
背景:jenkins作为中央调度器,集成java、maven、git、email、html-report环境,搭建 一个自动化测试框架,可性能也可接口;maven负责项目管理,jenkins服务器就不需要安 装jmeter运行环境(错误的,maven项目配置...
jenkins+maven+svn+tomcat 持续集成环境快捷部署,实现自动编译打包部署