20190419 Gitlab部分

准备环境:172.18.9.200是gitlab、172.18.9.201是jenkins
Git是gitlab的客户端命令,gitlab是应用程序

一、使用清华大学的镜像:

rpm包国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
20190419    Gitlab部分

二、[root@centos7 src]#yum install -y gitlab-ce-11.9.8-ce.0.el7.x86_64.rpm

(注:我在此处停留很久,因为我yum时总是报错“Nothing to do”,只要我们mount上光盘,配好epel源aliyun的镜像即可yum了,因为此时源码包已上传至虚拟机,这时下载源码包已经和yum源没关系了)

三、[root@centos7 src]#vim /etc/ssh/sshd_config

port=2022 #默认为22,必改

四、[root@centos7 src]#vim /etc/gitlab/gitlab.rb

external_url 'http://172.18.9.150' 此项改为IP,是为了让开发人员能连上我们。
###Email Settings
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "zhang@123"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = "[email protected]"
user["git_user_email"] = rooroot@"163.com" 该处的“”必须加上,

五、一条命令查看gitlab的相关插件:

[root@200 ~]#gitlab-
gitlab-ctl gitlab-psql gitlab-rails gitlab-rake

六、重新编译:[root@200 ~]#gitlab-ctl reconfigure
七、查看状态:[root@200 src]#gitlab-ctl status

run: alertmanager: (pid 30017) 149s; run: log: (pid 29629) 188s
run: gitaly: (pid 29893) 154s; run: log: (pid 28314) 338s
run: gitlab-monitor: (pid 29950) 153s; run: log: (pid 29390) 212s
run: gitlab-workhorse: (pid 29911) 154s; run: log: (pid 29077) 243s
run: logrotate: (pid 29207) 233s; run: log: (pid 29228) 230s
run: nginx: (pid 29144) 239s; run: log: (pid 29167) 236s

八、访问测试:

20190419    Gitlab部分

九、

20190419    Gitlab部分

十、点击USE1 new user后,操作如下:
十一、务必时间同步,重启gitlab后就可以继续操作了,时间不同步结果就失败:

[root@200 src]#ntpdate 172.18.0.1
23 Apr 11:41:27 ntpdate[32929]: adjust time server 172.18.0.1 offset -0.188343 sec
[root@200 src]#gitlab-ctl restart
ok: run: alertmanager: (pid 32972) 0s
ok: run: gitaly: (pid 32987) 0s
ok: run: nginx: (pid 33037) 1s

十二、创建组:

20190419    Gitlab部分
20190419    Gitlab部分

十三、创建项目:

20190419    Gitlab部分
20190419    Gitlab部分
20190419    Gitlab部分

十四、创建新文件:点击提交,第一个版本就被放在仓库里了:

20190419    Gitlab部分

十五、在201主机安装git: [root@201 ~]#yum install -y git
十六、我们在201主机克隆git:

[root@201 ~]#git clone http://172.18.9.150/web35/web1.git
Cloning into 'web1'...
Username for 'http://172.18.9.150': Leslie #这是name
Password for 'http://[email protected]':
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
[root@201 ~]#ll
total 12
drwxr-xr-x. 3 root root 36 Apr 23 12:23 web1
[root@201 ~]#cd web1/
[root@201 web1]#ll
total 4
-rw-r--r--. 1 root root 23 Apr 23 12:23 index.html
[root@201 web1]#vim index.html
马哥教育Linux 35 v1

十七、新建一个测试页:

20190419    Gitlab部分

十八、执行Git config --global:

[root@201 ~]#git config --global user.name "user1"
[root@201 ~]#git config --global user.email "[email protected]"
[root@201 ~]#cd web1/
[root@201 web1]#vim index.html
马哥教育 Linux 35 v1
马哥教育 Linux 35 v2
[root@201 web1]#git add ./*
[root@201 web1]#git commit -m "v2"
[master ca130ab] v2
1 file changed, 2 insertions(+), 1 deletion(-)
[root@201 web1]#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)

Username for 'http://172.18.9.150': Leslie
Password for 'http://[email protected]':
Counting objects: 5, done.
Writing objects: 100% (3/3), 258 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://172.18.9.150/web35/web1.git
3af0975..ca130ab master -> master #默认是master

十九、找到web2,这是第一台服务器就可以进行git push拉取了。

20190419    Gitlab部分

二十、查看分支:[root@201 web1]#git branch
  • master
    二十一、添加一个分支,这时,我们再去git checkout branch时要加“-b”参数:

    20190419    Gitlab部分

    二十二、[root@201 web1]#git checkout -b develop

    Switched to a new branch 'develop'
    [root@201 web1]#git branch

  • develop
    master
    {插播:如何寻找develop分支的clone}:
    步骤:Groups,web35,web1,点击“+”,创建新branch,再返回web1点击“clone”,即可!!

    二十三、我们克隆一个分支:develop

    [root@200 src]#git clone -b develop http://172.18.9.150/web35/web1.git
    Cloning into 'web1'...
    Username for 'http://172.18.9.150': Leslie
    Password for 'http://[email protected]':
    remote: Enumerating objects: 6, done.
    remote: Counting objects: 100% (6/6), done.
    remote: Compressing objects: 100% (2/2), done.
    remote: Total 6 (delta 0), reused 0 (delta 0)
    Unpacking objects: 100% (6/6), done.

    二十四、[root@200 web1]#vim web1/index.html

    马哥教育Linux 35 v1
    马哥教育Linux 35 v2
    马哥教育Linux 35 v3 #这些内容只有经过测试才会被发布到线上

    二十五、[root@200 web1]#git commit -m "v3"

    [develop 89e511c] v3
    1 file changed, 2 insertions(+)
    [root@200 web1]#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)

Username for 'http://172.18.9.150': Leslie
Password for 'http://[email protected]':
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 266 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for develop, visit:
remote: http://172.18.9.150/web35/web1/merge_requests/new?merge_request%5Bsource_branch%5D=develop
remote:
To http://172.18.9.150/web35/web1.git
ca130ab..89e511c develop -> develop

二十六、Gitlab 回滚:

20190419    Gitlab部分
回滚到v1:
20190419    Gitlab部分

二十七:git 常用命令:

git config --globaluser.name “name“ #设置全局用户名
git config --globaluser.email [email protected]#设置全局邮箱
git config --global –list #列出用户全局设置
git add index.html / . #添加指定文件、目录或当前目录下所有数据到暂存区
git commit -m“11“ #提交文件到工作区
gitstatus #查看工作区的状态
git push #提交代码到服务器
git pull #获取代码到本地
gitlog #查看操作日志
vim . gitignore #定义忽略文件
基于仓库的回滚:git reset --hard HEAD^^ #git 版本回滚, HEAD 为当前版本,加一个^为上一个,^^为上上一个版本
gitreflog # #获取每次提交的 ID,可以使用--hard 根据提交的 ID 进行版本回退
gitreset --hard 5ae4b06 #回退到指定 id 的版本
#git branch #查看当前所处的分支
#git checkout -b develop #创建并切换到一个新分支
#git checkout develop #切换分支

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章