赞
踩
**
**
###################################################################
创建用户
[kiosk@foundation6 ~]$ git config --global user.name "bobo"
[kiosk@foundation6 ~]$ git config --global user.email 1272425809@qq.com
查看用户信息
[root@foundation15 ~]# cat .gitconfig
[user]
name = bobo
email = 1272425809@qq.com
搭建仓库
[root@foundation15 mnt]# mkdir bobo
[root@foundation15 mnt]# cd bobo
[root@foundation15 bobo]# ls
[root@foundation15 bobo]# git init
Initialized empty Git repository in /mnt/bobo/.git/
##################################################################
仓库存放代码
[root@foundation15 bobo]# vim bobo.txt
[root@foundation15 bobo]# git add bobo.txt
[root@foundation15 bobo]# git status
# On branch master
# Initial commit
# Changesto be committed:
# (use "git rm --cached <file>..." to unstage)
# new file: bobo.txt(显示新的文件已经添加)
commit来提交
[root@foundation15 bobo]# git commit -m "demo"
[master (root-commit) 69d20ec] demo
1 file changed, 2 insertions(+)
create mode 100644 bobo.txt
##################################################################333
代码修改
[root@foundation15 bobo]# vim bobo.txt
[root@foundation15 bobo]# git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: bobo.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
这里显示代码被修改但还未被提交
######################################################################
查看改动
[root@foundation15 bobo]# git diff
diff --git a/bobo.txt b/bobo.txt
index 9a80a22..477e165 100644
--- a/bobo.txt
+++ b/bobo.txt
@@ -1,2 +1,2 @@
-hello
+wetos
对修改后的文件提交
[root@foundation15 bobo]# git add *
[root@foundation15 bobo]# git commit -m "hello"
[master 282b01d] hello
1 file changed, 1 insertion(+), 1 deletion(-)
#####################################################
版本的回退
[root@foundation15 bobo]# git log
commit 282b01d3a25a0a5a0343019dab8034322e0e89e3
Author: bobo <1272425809@qq.com>
Date: Thu Aug 23 14:42:06 2018 +0800
hello
commit 69d20ecc3a43c67b5e8641f6abf46653c644055a
Author: bobo <1272425809@qq.com>
Date: Thu Aug 23 14:35:31 2018 +0800
demo
#######################################################################
git reset 回退已经提交的仓库
HEAD 表示当前版本
HEAD^ 表示上一个版本
HEAD^^ 表示上上一个版本
HEAD~100 表示当前往上100个版本
######################################################################
[root@foundation15 bobo]# git reset --hard HEAD^
HEAD is now at 69d20ec demo
查看代码已经改变
[root@foundation15 bobo]# cat bobo.txt
hello
如果版本回退后需要返回回退前 指定回退版本号就可以了
[root@foundation15 bobo]# git reset --hard 282b01d3a25a0a5a0343019dab8034322e0e89e3
HEAD is now at 282b01d hello
###############################################################
对于所有的出现过的版本号 可以通过 relog查看
[root@foundation15 bobo]# git reflog
282b01d HEAD@{0}: reset: moving to 282b01d3a25a0a5a0343019dab8034322e0e89e3
69d20ec HEAD@{1}: reset: moving to HEAD^
282b01d HEAD@{2}: commit: hello
69d20ec HEAD@{3}: commit (initial): demo
工作区和赞存区
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
所以说明需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改
1
对于还没有add的代码 修改后撤回的操作为
[root@foundation15 bobo]# > bobo.txt
[root@foundation15 bobo]# cat bobo.txt
[root@foundation15 bobo]# git checkout bobo.txt
[root@foundation15 bobo]# cat bobo.txt
wetos
2
对于修改后还没有commit的代码撤回
[root@foundation15 bobo]# > bobo.txt
[root@foundation15 bobo]# cat bobo.txt
[root@foundation15 bobo]# git add *
[root@foundation15 bobo]# cat bobo.txt
[root@foundation15 bobo]# git reset HEAD bobo.txt (将文件退回工作区)
Unstaged changes after reset:
M bobo.txt
[root@foundation15 bobo]# git checkout bobo.txt
[root@foundation15 bobo]# cat bobo.txt
wetos
3
对于提交后的代码 只能通过版本回退来恢复了
**
**
上传本地代码
[root@foundation15 demo]# git remote add origin git@github.com:802119323/bobo.git
[root@foundation15 demo]# git push -u origin master
The authenticity of host 'github.com (13.229.188.59)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,13.229.188.59' (RSA) to the list of known hosts.
Counting objects: 3, done.
Writing objects: 100% (3/3), 202 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:802119323/bobo.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
代码的下载
下载github上的代码
[root@foundation15 github]# git clone git@github.com:802119323/bobo.git
Cloning into 'bobo'...
Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 3 (delta 0), pack-reused 0
Receiving objects: 100% (6/6), done.
[root@foundation15 github]# ls
bobo
[root@foundation15 github]# cd bobo
[root@foundation15 bobo]# ls
test2 test.txt
**
**
使用rpm包方式安装
[root@foundation15 ~]# yum install gitlab-ce-11.0.1-ce.0.el6.x86_64.rpm
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Examining gitlab-ce-11.0.1-ce.0.el6.x86_64.rpm: gitlab-ce-11.0.1-ce.0.el6.x86_64
Marking gitlab-ce-11.0.1-ce.0.el6.x86_64.rpm to be installed
#############################################################
初始化配置
修改配置文件
[root@foundation15 yum.repos.d]# vim /etc/gitlab/gitlab.rb
external_url 'http://172.25.15.250'
开始初始化gitlab
[root@foundation15 yum.repos.d]# gitlab-ctl reconfigure
等待初始化
启动 再浏览器进行ssh等配置
物理机ssh-keygen创建 id_rsa.pub
ssh配置完成
测试 创建一个项目用于本地测试拉取
创建一个bobo组 再创建一个test项目 再写东西进去就可以了
测试使用ssh免密拉取项目
[root@foundation15 mnt]# git clone git@172.25.15.250:bobo/test1.git
Cloning into 'test1'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
查看拉取内容
[root@foundation15 test1]# cat test1
bobo
与网页创建的一致
仓库搭建完成
创建一个index.html
[root@foundation15 test1]# git add *
[root@foundation15 test1]# git commit -m "add index.html"
[master af7e6dc] add index.html
1 file changed, 1 insertion(+)
create mode 100644 index.html
[root@foundation15 test1]# ls
index.html test1
#####################################################################3
git push就可以提交代码
[root@foundation15 test1]# git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 275 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.25.15.250:bobo/test1.git
222c56a..af7e6dc master -> master
#########################################################
浏览器查看是否添加成功
成功
使用完成后 gitlab-ctl stop 停止服务即可
**
**
基于JAVA的开源的自动化系统平台
加速自动化CI,CD任务及流水线,所有类型的任务:构建,测试,部署等
丰富的插件生态系统支持功能扩展,1400+插件和SCM,测试,通知,报
告,Artfact,触发,外部集成等,基于Web的管理和使用界面
安装使用
本次使用docker来搭建
拉取镜像
[root@foundation15 ~]# docker pull jenkins:latest
latest: Pulling from library/jenkins
~~~~~~~~
Digest: sha256:eeb4850eb65f2d92500e421b430ed1ec58a7ac909e91f518926e02473904f668
Status: Downloaded newer image for jenkins:latest
拉取后可以保存下来 主机更换后不用再下载
[root@foundation15 mnt]# docker save -o jenkins.tar jenkins
[root@foundation15 mnt]# ll jenkins.tar
-rw------- 1 root root 714778112 Aug 23 09:16 jenkins.tar
开启服务
需要注意 再一台物理机运行 gitlab与jenkins时 他们的端口都是相同的 所以这里将 8888作为jenkins的使用端口
[root@foundation15 mnt]# docker run -it --name jenkins1 -v $HOME/jenkins:/var/ -p 8888:8080 -p 55000:50000 -p 45000:45000 jenkins:latest
Running from: /usr/share/jenkins/jenkins.war
再浏览器中打开
http://172.25.15.250:8888 设置密码登陆即可
当出现unlock时
根据提示在对应目录下找到解锁码输入即可
我在docker中搭建的服务 所以进入docker查看即可
解锁后设置密码即可
搭建项目来链接gitlab
创建新的项目来接受gitli的信息
选择gitlib
添加认证 输入gitlab的用户密码
再添加选择gitlab的http与版本即可即可
[root@foundation15 ~]# rpm -qa|grep gitlab
gitlab-ce-11.0.1-ce.0.el6.x86_64
选择构建的操作 这里选择输出代码文件
选择构建的刷新时间
保存退出
开始构建
显示控制台即可
基本的搭建完成
开始测试 本地主机上传新代码
[root@foundation15 test1]# git add *
[root@foundation15 test1]# git commit -m "add bobo.txt"
[master 9df3cb8] add bobo.txt
1 file changed, 1 insertion(+)
create mode 100644 bobo.txt
[root@foundation15 test1]# git push origin master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 275 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.25.15.250:test/test1.git
0c28b4d..9df3cb8 master -> master
等待代码构建添加即可
搭建成功
实时触发器
下载gitlibhook插件即可
在配置时打开高级选项 生成key 将网址 一并复制在gitlab上
出现无法访问本地时
在useradmin settting中 找到最下方的设置打开即可
测试是否添加成功
返回值200 成功
添加新代码文件测试是否ok
[root@foundation15 test1]# vim hello.txt
[root@foundation15 test1]# git add *
[root@foundation15 test1]# git commit -m "add"
[master c06e5c1] add
1 file changed, 1 insertion(+)
create mode 100644 hello.txt
[root@foundation15 test1]# git push origin master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 299 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.25.15.250:test/test1.git
9df3cb8..c06e5c1 master -> master
浏览器看到立即构建了新文件
3 与4 分别为测试时创建的文件与自行添加的文件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。