git+maven+jenkins自动化集成我们的项目

git分布式
元数据来存储
git没有一个全局的版本号
git性能优于svn
[img]http://dl2.iteye.com/upload/attachment/0123/4499/6647d096-a9db-34a1-b7dd-ab0c641847b6.png[/img]

[b]一.centos安装git:[/b]
#yum install -y git
[b]1.1 创建仓库,新增文件,提交文件:[/b]
[b]git init[/b] 将此文件夹创建成git仓库。
[b]git add[/b] 命令让git知道新增了文件,需要git进行版本管理。
先在git仓库中创建文件(hailong.txt),还必须将文件添加到git暂存区
[b]git commit -m[/b] "something to say" 命令提交git仓库下的文件。其中-m参数代表提交备注.
[img]http://dl2.iteye.com/upload/attachment/0123/3841/0dd4587d-9a15-3eac-b471-0de42dd3d409.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0123/3841/0dd4587d-9a15-3eac-b471-0de42dd3d409.png[/img]

[b]1.2 文件修改:[/b]
[b]git status[/b] 命令查看git仓库中文件的状态
[b]git diff xxx[/b] 命令查看特定文件的修改内容修改后如果需要提交,需要重复git add和git commit步骤
[img]http://dl2.iteye.com/upload/attachment/0123/3849/0be08917-1b85-3fea-96e0-743438c54a6f.png[/img]
git给出提示:
在分支master上
修改没有被暂存以供提交
使用git add 命令暂存修改,工作区到暂存区
使用git commit 命令提交修改,暂存区到版本库
被修改文件:readme.txt
此时可以使用git diff命令查看为提交的文件
按照操作步骤,先add再commit
[img]http://dl2.iteye.com/upload/attachment/0123/3851/8e0e1bf2-2d19-3780-adc9-9ad25087b13c.png[/img]
git commit -am "一次性工作区到版本库的提交"


[b]1.3 查看修改日志:[/b]
[b]git log xxx[/b]命令查看文件的修改日志。日志包括 提交id(40位)、提交人、提交时间、提交备注。
[b]git log --pretty=oneline[/b] 只看提交备注。
[img]http://dl2.iteye.com/upload/attachment/0123/3855/79248f5e-70a5-3822-a1ab-76a5f72fb6c9.png[/img]

[b]1.4 版本切换:[/b]
git reset 版本id 的方式切换到指定的版本,只需要输入提交id前几位就行了
git reset --HEAD 代表切换到最后一个版本
git rest --HEAD^代表切换到倒数第二个版本
git reflog XXX 查看指定文件的提交日志
[img]http://dl2.iteye.com/upload/attachment/0123/3882/1ebaace6-1b75-3a1a-9495-90e0babb46ee.png[/img]
$ git reset 2df107c
$ git reset -- head 2df107c
$ git reflog hailong.txt
2df107c HEAD@{0}: reset: moving to 2df107c
ed1a66b HEAD@{1}: reset: moving to HEAD^
2df107c HEAD@{2}: commit: this is new file2
ed1a66b HEAD@{3}: commit (initial): this is new file


[b]1.5 修改回退:[/b]
git checkout ——xxx 此命令的功能是将暂存区的内容覆盖工作区。
如果已经git add 到暂存区的修改想要放弃怎么办呢? 可以先使用 git reset HEAD xxx 将指定文件的最后提交版本覆盖到暂存区,然后再使用git checkout --xxx 将暂存区的内容覆盖到工作区
$ git checkout -- hailong.txt 把暂存区hailong.txt文件覆盖到本地
[img]http://dl2.iteye.com/upload/attachment/0123/3910/c045663f-bc3f-3f99-bba5-5750486ee59e.png[/img]

[b]1.6 删除文件:[/b]
手动删除文件后,使用git status可以发现,git版本库中文件并没有被删除。
此时有两个操作,
1是删除错了想要恢复,那么使用 git checkout --xxx 就可以恢复;
2是希望把版本库中的文件也一并删除,那么使用git rm xxxx 删除文件后,再 git commit 就行了。 (删除版本库里的文件)
[img]http://dl2.iteye.com/upload/attachment/0123/3912/ef8523a3-0d0a-3868-b97e-63acdfb6b615.png[/img]
红色字体代表已经删除但是还没有提交的文件

[b]1.7 查看创建分支:[/b]
git branch // 查看目前分支
*master
git branch alan //创建分支
合并操作:
git checkout master
get merge alan
//如果有冲突,只能手动修改了。

git checkout master//切换分支


[b]二.远程仓库GitHub:[/b]
可将本地库git的master分支push到远程仓库gitHub中,把远程仓库用jenkins集成发布测试。
[b]2.1 登录gitHub账户,git上创建SSH KEY[/b]
https://github.com/ 账号572327713@qq.com
由于git和GitHub 之间传输文件是使用SSH加密的,所以需要创建SSH KEY:在git bash命令行输入 $ ssh-keygen -t rsa -C "youremail@dhc.com.cn",一直回车,最后在用户目录下生成.ssh文件夹。其中包含id_rsa和id_rsa.pub文件。
$ ssh-keygen -t rsa -C "572327713@qq.com"


[img]http://dl2.iteye.com/upload/attachment/0123/3934/2cde2762-2967-397c-8956-b4bdcf21d4e5.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0123/3936/4937627c-c96b-3686-9e4e-3e5ae4eef127.png[/img]
https://github.com/baozunyuhailong/hailongRepository.git
[b]2.2 绑定SSH KEY到GitHub[/b]
[img]http://dl2.iteye.com/upload/attachment/0123/3940/f77f73fb-4c53-300b-babd-a12eae7fe5ab.png[/img]
登录GitHub,在settings中找到SSH keys,点击add SSH key,
填写随便填写title,在下面的key中复制C:\Users\Jumbo\.ssh\id_rsa.pub文件中的内容后提交。

[b]2.3关联远程仓库[/b]
登录GitHub后点击 new Repository,输入仓库名称,其他保持默认即可。
由于是免费用户,此时只能够创建public类型的远程仓库,即所有人都可见,但是只有自己控制谁可以提交。
[img]http://dl2.iteye.com/upload/attachment/0123/4024/6e04b886-ca7c-3a89-a465-b6754c87dd92.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0123/4026/69da029a-c4d0-378f-9e89-7b12e50668ce.png[/img]
创建成功后,会有一个远程仓库地址,如:https://github.com/baozunyuhailong/hailongRepository.git,
[img]http://dl2.iteye.com/upload/attachment/0123/4028/c6bbc51a-42e4-3c23-9e63-61d0c3c3d5bc.png[/img]

在本地仓库路径下使用
git remote add origin https://github.com/baozunyuhailong/hailongRepository.git

命令就可以将远程仓库与远程仓库绑定。

绑定后,使用
git push -u origin master

命令,输入GitHub用户名和密码,将本地仓库中的内容push到远程仓库。
[img]http://dl2.iteye.com/upload/attachment/0123/4030/ef97a42d-cff6-3d31-b41c-7b901f119dc7.png[/img]
此后,只要使用
git push origin master

就可以将本地库的master分支push到远程仓库中。

[img]http://dl2.iteye.com/upload/attachment/0123/4032/643b900d-fbb6-37ee-84d5-5a98b831e6ba.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0123/4036/7e32624c-ff8a-35f5-a275-0d0a006b1c77.png[/img]

[b]GitHub push代码发生错误:[/b]fatal: Authentication failed for 'https://github.com/ ...
可能是账号密码输入错误,也有可能代码没有commit成功
git commit -m "hahaha" 

命令提交git仓库下的文件。
执行git remote -v后看到自己的remote远程端名字为origin:
$ git remote -v
origin https://github.com/baozunyuhailong/hailongRepository.git (fetch)
origin https://github.com/baozunyuhailong/hailongRepository.git (push)

执行git branch后看到自己当下用的分支是master:
$ git branch
master

然后执行git push -u origin master。

[b]此处千万注意:不要将公司的任何与工作相关的文件上传到GitHub,否则后果自负!!![/b]

[b]2.4 克隆远程仓库[/b]
如果我们想要从远程库克隆,那么切换到想要创建的仓库本地目录下,并使用git clone git@github.com:xxxx/yourrepository.git就可以了。

[b]2.5 贡献代码[/b]
如果想要为某开源仓库贡献代码,那么需要在GitHub中fork该项目到你自己的远程仓库中,然后git clone xxxx到本地仓库进行修改。修改完成后,git push origin xxxx到你自己的远程仓库中,然后pull request代码到开源项目。

[b]三.Jenkins持续集成工具[/b]
[b]jenkins是基于Java开发的一种持续集成工具:[/b]
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
[b]3.1 jenkins安装:[/b]
下载jenkins的war包 mirrors.jenkins-ci.org/war
启动war:
java -jar jenkins.war

不想占用8080的话,去tomcat下运行
首次登录 输入密码
获取密码:
[img]http://dl2.iteye.com/upload/attachment/0123/3667/b4060276-d129-327b-8a48-4b602396644f.png[/img]
进入选择第一个:
[img]http://dl2.iteye.com/upload/attachment/0123/3673/e1c24c39-b5dc-3e4b-a9f7-2fbe4c04e7ea.png[/img]
等待下载完成:
[img]http://dl2.iteye.com/upload/attachment/0123/3675/24b124bb-8a0c-3095-9c92-b45003a3eb4c.png[/img]
安装完成:
[img]http://dl2.iteye.com/upload/attachment/0123/3680/38903d5b-8ff3-3fd3-87f6-46230a5f00e2.png[/img]
第二次登录如果忘记用户名密码,可以去配置文件删除登录画面操作。
[img]http://dl2.iteye.com/upload/attachment/0123/4633/0ccf957f-6a9f-3e2b-aa1f-dbd37e9666cc.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0123/4635/5a267624-1827-39c9-98f9-a5bd8288eca7.png[/img]
登录就能看到用户名了。
[img]http://dl2.iteye.com/upload/attachment/0123/4641/8b241b1e-d781-3d76-bb88-5835c7d78c52.png[/img]


首页:
[img]http://dl2.iteye.com/upload/attachment/0123/3682/83f40d66-b554-3f52-8259-d253c35ecda5.png[/img]
点击系统管理配置jdk等信息:
[img]http://dl2.iteye.com/upload/attachment/0123/3692/e7bb17bc-36f0-33af-9883-a6c1d658a52c.png[/img]

安装主要两个插件:
安装Maven Integration plugin插件,maven自动化打包插件:
[img]http://dl2.iteye.com/upload/attachment/0123/3698/b4c990e2-b4b1-3b0c-a0fc-47a2fb08c30b.png[/img]
如果不安装,不能显示构建maven项目
安装Deploy to container Plugin插件,容器发布_tomcat:
[img]http://dl2.iteye.com/upload/attachment/0123/3702/88b53980-cae1-3bfe-b53c-b4a19a6c110e.png[/img]

自动编译,分发,打包,发布web容器(tomcat)部署,测试

[b]配置好服务器jdk,mavne路径:[/b]
[img]http://dl2.iteye.com/upload/attachment/0123/4717/7abbf791-35e1-3180-87a3-28635b81e280.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0123/4722/61854a51-d39c-32d0-9e52-6a365ce5a001.png[/img]

[b]创建maven项目,配置好github后,立即构建就可打包运行了:[/b]
建立maven项目:
[img]http://dl2.iteye.com/upload/attachment/0123/3704/149fc9e6-4ade-32d4-84ef-5e22a28dc468.png[/img]
项目构建里配置git:
[img]http://dl2.iteye.com/upload/attachment/0123/4677/81c81cd0-438a-3826-844c-360845a10e8d.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0123/4679/df662a99-cf9f-3cba-b953-9538cf3ae7c3.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0123/4745/5f446060-9c60-3fa3-bfd5-7c7d066c3ba1.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0123/4756/1ea95dc6-7fce-351a-84d8-6fe1ab08ff32.png[/img]

/root/ 有个.jenkins目录,目录下有workspace就是打包的项目了。

如果还想打包后继续运行tomcat,需要构建后管理的配置。
项目构建里配置tomcat:
[img]http://dl2.iteye.com/upload/attachment/0123/4683/52337b7f-a1b3-39bd-bb5c-6d3fc6c2fa9b.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0123/4681/cd56662e-e5a8-3405-98e9-407e2abcb273.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值