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

git分布式
元数据来存储
git没有一个全局的版本号
git性能优于svn


一.centos安装git:
[root@git ~]#yum install -y git
1.1 创建仓库,新增文件,提交文件:
git init 将此文件夹创建成git仓库。
git add 命令让git知道新增了文件,需要git进行版本管理。
先在git仓库中创建文件(hailong.txt),还必须将文件添加到git暂存区
git commit -m "something to say" 命令提交git仓库下的文件。其中-m参数代表提交备注.



1.2 文件修改:
git status 命令查看git仓库中文件的状态
git diff xxx 命令查看特定文件的修改内容修改后如果需要提交,需要重复git add和git commit步骤

git给出提示:
在分支master上
修改没有被暂存以供提交
使用git add 命令暂存修改,工作区到暂存区
使用git commit 命令提交修改,暂存区到版本库
被修改文件:readme.txt
此时可以使用git diff命令查看为提交的文件
按照操作步骤,先add再commit

git commit -am "一次性工作区到版本库的提交"


1.3 查看修改日志:
git log xxx命令查看文件的修改日志。日志包括 提交id(40位)、提交人、提交时间、提交备注。
git log --pretty=oneline 只看提交备注。


1.4 版本切换:
git reset 版本id 的方式切换到指定的版本,只需要输入提交id前几位就行了
git reset --HEAD 代表切换到最后一个版本
git rest --HEAD^代表切换到倒数第二个版本
git reflog XXX 查看指定文件的提交日志

$ 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


1.5 修改回退:
git checkout ——xxx 此命令的功能是将暂存区的内容覆盖工作区。
如果已经git add 到暂存区的修改想要放弃怎么办呢? 可以先使用 git reset HEAD xxx 将指定文件的最后提交版本覆盖到暂存区,然后再使用git checkout --xxx 将暂存区的内容覆盖到工作区
$ git checkout -- hailong.txt 把暂存区hailong.txt文件覆盖到本地


1.6 删除文件:
手动删除文件后,使用git status可以发现,git版本库中文件并没有被删除。
此时有两个操作,
1是删除错了想要恢复,那么使用 git checkout --xxx 就可以恢复;
2是希望把版本库中的文件也一并删除,那么使用git rm xxxx 删除文件后,再 git commit 就行了。 (删除版本库里的文件)

红色字体代表已经删除但是还没有提交的文件

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

git checkout master//切换分支


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




https://github.com/baozunyuhailong/hailongRepository.git
2.2 绑定SSH KEY到GitHub

登录GitHub,在settings中找到SSH keys,点击add SSH key,
填写随便填写title,在下面的key中复制C:\Users\Jumbo\.ssh\id_rsa.pub文件中的内容后提交。

2.3关联远程仓库
登录GitHub后点击 new Repository,输入仓库名称,其他保持默认即可。
由于是免费用户,此时只能够创建public类型的远程仓库,即所有人都可见,但是只有自己控制谁可以提交。


创建成功后,会有一个远程仓库地址,如:https://github.com/baozunyuhailong/hailongRepository.git,


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

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

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

命令,输入GitHub用户名和密码,将本地仓库中的内容push到远程仓库。

此后,只要使用
git push origin master

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




GitHub push代码发生错误: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。

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

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

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

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

不想占用8080的话,去tomcat下运行
首次登录 输入密码
获取密码:

进入选择第一个:

等待下载完成:

安装完成:

第二次登录如果忘记用户名密码,可以去配置文件删除登录画面操作。


登录就能看到用户名了。



首页:

点击系统管理配置jdk等信息:


安装主要两个插件:
安装Maven Integration plugin插件,maven自动化打包插件:

如果不安装,不能显示构建maven项目
安装Deploy to container Plugin插件,容器发布_tomcat:


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

配置好服务器jdk,mavne路径:



创建maven项目,配置好github后,立即构建就可打包运行了:
建立maven项目:

项目构建里配置git:






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

如果还想打包后继续运行tomcat,需要构建后管理的配置。
项目构建里配置tomcat:

猜你喜欢

转载自572327713.iteye.com/blog/2359043