一.GitLab与jenkins
Gitlab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮助开发团队更高效的集成和发布代码。
二.server1安装git,部署gitlab实现代码提交
[root@server1 ~]# yum install -y git
下载好gitlab软件并安装
[root@server1 ~]# ls
gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm
[root@server1 ~]# yum install -y gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm
[root@server1 ~]# cd /etc/gitlab/
[root@server1 gitlab]# ls
gitlab.rb
[root@server1 gitlab]# vim gitlab.rb
13 external_url 'http://172.25.70.1'
[root@server1 gitlab]# gitlab-ctl reconfigure
浏览器访问http://172.25.70.1可以看见gitlab的登陆界面
填写新密码后重新登陆
创建一个新项目gitlabtest,勾选initialize repository with a README
第一次创建需要添加密钥,同时看见生成一个README文件
[root@server1 gitlab]# ssh-keygen
添加公钥到gitlab
[root@server1 gitlab]# cat /root/.ssh/id_rsa.pub
进入到新建的项目中,复制上面的SSH地址
[root@server1 ~]# git clone git@172.25.70.1:root/gitlabtest.git #仓库克隆,查看可以发现git中已经有了新建的项目
Cloning into 'gitlabtest'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
[root@server1 ~]# cd gitlabtest/
[root@server1 gitlabtest]# ls
README.md
[root@server1 gitlabtest]# cat README.md
# gitlabtest
新建文件text.txt测试git和gitlab是否可以上传成功
[root@server1 gitlabtest]# echo redhat > test.txt
[root@server1 gitlabtest]# git add test.txt
[root@server1 gitlabtest]# git config --global user.email "111111111@qq.com"
[root@server1 gitlabtest]# git config --global user.name "rong"
[root@server1 gitlabtest]# git commit -m "add test"
[master b8fe06f] add test
1 file changed, 1 insertion(+)
create mode 100644 test.txt
[root@server1 gitlabtest]# git push -u origin master
Counting objects: 4