CentOS系统怎样搭建Git版本控制centos git服务器配置

工具(12)
以前都是通过IDE(eclipse or Android Studio)手动生成apk通过QQ或者邮件发送给测试人员进行测试,现在的司要求对项目进行持续集成,也就是说通过某种方式定时(比如每晚凌晨三点)自动将git库中最新的代码pull下来编译打包,测试人员每天早上上班都能拿到最新的代码打包的Apk。如何在服务器里拉最新的代码给自动编译(jenkins这个就可以,如何搭建请参考我的另外博客:)那么在Jenkins如何配置版本控制了,这才是关键
我们可以去这个地址
下载最新的gitbucket.war ,然后放在tomcat 的webapps目录下 运行tomcat,登陆,创建git库,然后剩下的和github用法一样,这个就可以作为服务器存在 然后在配置jenkins源码管理就这么简单:
首先看看cvs
enkins有一些专用术语,请参考下面的连接:
1.通过Jenkins web页面添加Git plugin
Manage Jenkins-&Manage Plugins-&Available中选择Git Plugin安装,
注意要填写user name和 email地址,否则日后会碰到git tag的错误
2.在Jenkins使用的机器上创建Git用户所需要的公钥
具体步骤参考前面Git server文章
但是注意,要将最后生成的.ssh目录下的公钥和私钥文件复制到/var/lib/jenkins/.ssh目录下,否则git clone命令会报错
3.修改jenkins目录权限
chmod -R 777 /var/lib/jenkins
4.现在可以通过web页面创建一个项目Test,然后设置该项目使用Git作为版本管理。
并且设置repository路径,比如我的:git@S1:cml.git
5.在build选项的pom文件指定你需要执行的pom.xml路径
比如我的一个测试工程名叫client,是个maven工程,我设置为client/pom.xml
6.现在可以点击左侧的Build now进行测试
一切OK,则没有错误日志。在Build History中可以看到测试结果,有没有错误。
7.Email发送设置
在Manage Jenkins-&Configure System-&Email Notification中,设置SMTP发送的基本信息,点击Advanced,可以填写用户名和密码。还有一个测试按钮可以用来发送测试设置是否正确。
同时在Test项目中的Building Settings打勾选中E-mail Notification,点击右边的问号,会出现帮助文档,说明在四种情况下会发送email,填写接受email的地址,然后故意将client代码修改到不能编译通过。然后点击Build now按钮测试一下。果然收到email.
8.检查代码更新并编译
可以通过Poll SCM来设置定时检查编译功能
* * * 就是每隔5分钟检查一次,如果git仓库中有更新,则执行build操作。
Jenkins → configuration下告诉jenkins你的JDK、GIT安装路径
至此配置完毕, 现在开始建个自由风格的job, 各项的配置如下
当进行构建时, jenkins会去该url 获取你的代码到当前workspace
如果要实现email的发送,
需要安装iis, 配置smtp服务(不熟悉的同学网上搜一搜吧)
当然如果有现成的smtp服务,直接在jenkins -config页面填写,包括端口(默认22)
好啦,等不及的话先点击‘Build Now’ 手动构建吧,
验证jenkins如何自动构建:
修改下本地git仓库的代码,commit 并push 到远程仓库, 等2分钟的样子,jenkins便会自动构建。(由于上面设置了每2分钟检查git源码仓库,如有checkin就触发构建)
更多参考文章
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:7461次
排名:千里之外
原创:28篇
转载:25篇
(1)(3)(1)(2)(7)(2)(4)(2)(6)(1)(1)(2)(3)(1)(4)(3)(10)CentOS 6.5下Git服务器搭建_服务器应用_Linux公社-Linux系统门户网站
你好,游客
CentOS 6.5下Git服务器搭建
来源:Linux社区&
作者:Rango Chen
1 关于版本控制
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。有以下三种版本控制系统:
1. 本地版本控制系统
许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单。不过坏处也不少:有时候会混淆所在的工作目录,一旦弄错文件丢了数据就没法撤销恢复。
为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。图示如下,
2. 集中化的版本控制系统
集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )能够让在不同的开发系统上的开发人员协同工作。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法
基于Gitolite的Git服务架设
通过Http Proxy下载Git
在 Server上安装Git
服务器端Git仓库的创建(Ubuntu)
Linux下Git简单使用教程(以为例)
Git权威指南 PDF高清中文版
3. 分布式版本控制系统
分布式版本控制系统(Distributed Version Control System,简称 DVCS ),像 Git,Mercurial,Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份,
更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。你可以根据需要设定不同的协作流程,比如层次模型式的工作流,而这在以前的集中式系统中是无法实现的。
Git是分布式版本控制系统的一个完美实现,它与集中式版本控制系统SVN的基本区别如下:
Git是分布式的,而SVN不是
Git和SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。
Git将内容按元数据方式存储,而SVN是按文件
所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
Git分支和SVN分支的不同
SVN的分支就是版本库中的另外一个目录,而Git的分支却是整个版本库的一个快照,而且可以在同一个工作目录下快速的在几个分支间切换。
Git没有一个全局的版本号,而SVN有
SVN的版本号实际是任何一个相应时间的源代码快照。而Git并没有这样的一个全局版本号,这也是Git缺少的最大的一个特征
Git的内容完整性要优于SVN
Git的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
Git的基本工作流程如下:
在工作目录中修改某些文件。
对修改后的文件进行快照,然后保存到暂存区域。
提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。
更多详情见请继续阅读下一页的精彩内容:
相关资讯 & & &
& (05月06日)
& (09/30/:21)
& (04/09/:07)
& (10/06/:29)
& (05/14/:18)
& (06/11/:38)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-!
百度机器人商业首秀 人工智能在肯德基点鸡块薯条
3D打印将会融入我们的身体 服务领域从生到死
健康还是时尚? 残酷竞争促 智能手环分化
虚拟现实还只是电影中遥不可及的愿景
4月28日消息,一年一度的GMIC大会于今日开幕,在下午的全球智能机器人大会上,地平线机器人技术创始人兼CEO余凯发表了开场演讲,认为人工智...
恰逢人工智能诞生60周年,由人工智能学会发起的2016全球人工智能技术大会暨人工智能60周年纪念活动启动仪式,在北京国家会议中心召开。老中...
据美国科技媒体网站The Verge4月30日报道,法国喷气滑雪冠军和世界摩托赛艇冠军佛朗基 萨帕塔(Franky Zapata)操控喷气动力 悬浮滑板 Flyboa...
斯坦福大学人工智能与伦理学教授杰瑞卡普兰认为,不久的将来,人类再也不用劳动。因为人工智能在自动化作业、自动驾驶,合成智能、执行能力...版本控制工具:Git Git是用于Linux内核开发的版本控制工具。与常用的版本控制工具不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 作为开源项目,Git没有对版本库的浏览和修改做任何的权限限制。现在,越来越多的著名项目采用Git来管理项目开发。
Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。与CVS, Subversion 等不同的是Git采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。究竟哪个更好些呢?
Git是一个由林纳斯•托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。本文就来具体介绍下在FreeBSD 8.1下如何安装Git服务器。
本文是《Git历险记》系列的第五篇,译者刘辉通过翻译《Git Community Book》为我们具体讲解Git里的分支与合并以及如何处理冲突的方法。如果你对Git还不了解,可以参看《Git历险记(1):初识版本控制系统Git》。以下是正文。
您在使用哪种版本控制工具?
51CTO旗下网站10558人阅读
云计算(61)
[root@localhost Desktop]# yum install -y git
# adduser git
[root@localhost git]# git init --bare learngit.git
Initialized empty Git repository in /data/git/learngit.git/
[root@localhost git]# chown git:git learngit.git
Zhu@XXX /E/testgit/8.34
$ git clone git@192.168.8.34:/data/git/learngit.git
Cloning into 'learngit'...
The authenticity of host '192.168.8.34 (192.168.8.34)' can't be established.
RSA key fingerprint is 2b:55:45:e7:4c:29:cc:05:33:78:03:bd:a8:cd:08:9d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.8.34' (RSA) to the list of known hosts.
git@192.168.8.34's password:
The authenticity of host ' (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
Warning: Permanently added '' (RSA) to the list of known hosts.
$ ssh-keygen -t rsa -C &&
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile
.ssh/authorized_keys
Zhu@XXX/E/testgit/8.34
$ git clone git@192.168.8.34:/data/git/learngit.git
Cloning into 'learngit'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
git:x::,,,:/home/git:/bin/bash
git:x::,,,:/home/git:/usr/bin/git-shell
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:945686次
积分:10822
积分:10822
排名:第965名
原创:161篇
转载:376篇
译文:16篇
评论:117条
(1)(4)(13)(1)(10)(4)(5)(1)(7)(36)(16)(25)(20)(12)(23)(6)(4)(15)(2)(21)(11)(6)(1)(5)(2)(1)(4)(1)(1)(2)(6)(6)(1)(1)(1)(1)(1)(1)(9)(8)(3)(1)(5)(7)(1)(2)(3)(6)(6)(4)(1)(1)(2)(25)(1)(6)(3)(3)(3)(3)(11)(5)(23)(17)(42)(35)(33)(7)

我要回帖

更多关于 centos7搭建git服务器 的文章

 

随机推荐