ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

gitlab+jenkins+nginx持续集成

2019-09-20 13:51:11  阅读:243  来源: 互联网

标签:git ## gitlab nginx yum node1 jenkins root


环境

centos7.2  2CPU 内存4G

gitlab:192.168.186.132  

Jenkins:centos7.2 192.168.186.133 

nginx:centos7.2 192.168.186.134

 

配置yum源

mkdir -p /etc/yum.repos.d/old

mv /etc/yum.repos.d/* old

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

 

关闭selinux并确定是出于关闭状态

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled’ /etc/selinux/config`

 

或者临时关闭

setenforce 0


安装依赖包
yum install curl policycoreutils openssh-server openssh-clients postfix -y

 

启动postfix

systemctl start postfix

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh |  bash

[root@node1 ~]# vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
[root@node1 ~]# yum makecache
[root@node1 ~]# yum install -y gitlab-ce

在安装一个git客户端
yum -y install git
配置并启动gitlab-ce
[root@node1 ~]# gitlab-ctl reconfigure
##时间可能比较长,请你耐心等待即可!~~~
##关闭:gitlab-ctl stop
##启动:gitlab-ctl start
##重启:gitlab-ctl restart
可以使用gitlab-ctl管理查看gitlab 例如查看gitlab状态:

 

默认安装的gitlab,主要有四个目录: 
/opt/gitlab/ ## 主目录 
/etc/gitlab/ ## 放置配置文件 
/var/opt/gitlab/ ## 各个组件 
/var/log/gitlab/ ## 放置日志文件

检查gitlab各组件状态: 
gitlab-ctl status

重启gitlab: 
gitlab-ctl restart

只重启某个组件: 
gitlab-ctl restart nginx

 

git常用命令

查看远程分支 

git branch -a    ##remotes 表示远程分支

 

 

查看本地分支

git branch 

 

 

强制更新分支信息

git fetch origin --prune

 

Clone指定分支,并且下载到指定目录下

git clone -b 分支名 git路径 "指定目录"

 

 

切换分支

当前在test分支下切换到master

 

 

git checkout master

 

 

创建远程分支
#本地开发我们可能会创建一个新的分支(远程并没有此分支)
#本地
git checkout -b f-category
#然后mkdir a.txt
git add a.txt
#此时 git push origin,会出错是因为远程没有此分支。
git push origin f-category #将此分支推到远程,并在远程创建分支(或者 f-category:dev方式推送到远程分支)

 

 

 确保80端口没有被占用,被占用的话,建议修改gitlab端口或者使用docker容器搭建gitlab
访问192.168.186.132 会提示让设置一个密码,设置的密码自己记住就可以.至少8位数

 

 

进入登陆界面 输入用户名及密码 用户root 密码为刚才设置的密码(我这里因为试装了中文汉化版,可参考https://www.cnblogs.com/straycats/p/7637373.html

 

 

 

 

创建新项目

 

 

在创建好的项目里面,点击README顺便输入点文字

 

 

 

 

 

 

为了保证安全取消用户能够自己注册 (在下面找到seve保存)

 

 

 

 

现在登陆就能发现没有注册了
0创建ssh免秘钥登陆 模拟使用gitlab这台服务器当做客户端
ssh-keygen -t rsa -C “你的邮箱”回三次车,密码为空

 

 

 

 

[root@test-1 ~]# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMV06cQt2fVDwhJ8IocyRDIkgXsvNiaLJW7+4HHF7yMSYf6i2LORK+IEp+gzPO010slfeupw1Kd0QKE993eXMjz5h1x6rm3f/SH7+s/86gi/1vCcx4l1by2nOutixomf4dd3JvnZwVEIXI9HOVCqLRJxn6XnUWzvZsz5tO+8tlPNPxKQ6NZ+gMXcCqUJPQfR2D2JbImfrWSEA5UFC17S/HB7v2GJ7+gitMmFXdHNE0ozu3/SFwmEOQ8LuMKcK0tpG3vDqfKEas17bQs6TDu9nwwQ4kF7540RLLHZ7XTqElnsLz2Ek/mjS+mXna5pkiU8uorXSx66haWL6ij9d4ySab *************@139.com

 

把公钥粘贴到gitlab用户当中

 

 

 

 

 

 

 

 修改gitlab的拉取地址为主机IP
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

 

 

 

 重启gitlab-ce 
[root@node1 ~]# gitlab-ctl restart

 

 

 

拉取gitlab devops项目

 

 

 

 

创建一个index.html用来模拟开发写代码并提交
[root@node1 test]# pwd
/root/devops
[root@node1 test]# cat index.html 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<h1>devops 测试</h1> 
</body>
</html>
#cd devops/
#git add .
#git commit --m "add index.html"
#git push

 

 

###参数说明
[root@node1 test]# git add *    ##提交所有更改信息(删除 增加文件)
[root@node1 test]# git config --global user.email "******@139.com"   ##身份验证
[root@node1 test]# git config --global user.name "root"             ##身份验证
[root@node1 test]# git commit -m "HEAD"         ## 提交所有变更的文件

[root@node1 test]#git push origin master

 

 

 验证查看gitlab上是否有提交刚刚创建的文件

 

 

以上就是gitlab搭建过程以及拉取、上传验证

 

 

 

 

 

 

 

 

 

 



 

 

标签:git,##,gitlab,nginx,yum,node1,jenkins,root
来源: https://www.cnblogs.com/yanghaitao/p/11556201.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有