企业业务代码发布系统环境部署

主机规划:

Dev (开发者)                                              192.168.10.11          项目sologit

Gitlab-server(代码仓库)                          192.168.10.12          gitlab-ce

Jenkins-server(编译仓库,打包镜像)192.168.10.13  jenkins,docker,git,maven

Harbor-server(存储容器镜像)                 192.168.10.14          harbor,docker

Web-server(运行容器,项目上线)           192.168.10.15          docker

主机名配置(根据主机规划实施配置)

[root@docker-01 ~]# hostnamectl set-hostname dev

[root@docker-01 ~]# bash

主机IP地址配置

192.168.10.11——192.168.10.15

主机名与IP地址解析配置

[root@dev ~]# vim /etc/hosts

添加:

192.168.10.11   dev

192.168.10.12   gitlab-server

192.168.10.13   jenkins-server

192.168.10.14   harbor-server

192.168.10.15   web-server

拷贝/etc/hosts文件给其他主机:

[root@dev ~]# cat /etc/hosts

[root@dev ~]# scp /etc/hosts root@192.168.10.12:/etc/

[root@dev ~]# scp /etc/hosts root@192.168.10.13:/etc/

[root@dev ~]# scp /etc/hosts root@192.168.10.14:/etc/

[root@dev ~]# scp /etc/hosts root@192.168.10.15:/etc/

主机安全配置

关闭个主机的防火墙和selinux,配置阿里源,互信,安装vim,wget,net-tools工具

主机时间同步

[root@dev ~]# crontab -e

添加:

0 */1 * * * ntpdate time1.aliyun.com

以上内容5台虚拟机都做!!!

实验环境:初始快照,内存4G(避免服务正常运行)

  • 各个主机中工具安装

代码提交流程:工作区——暂存区——版本库

Dev主机:

  1. 安装git工具

[root@dev data]# yum -y install git

  1. 创建版本库目录,并初始化版本库

[root@dev data]# mkdir /data

[root@dev data]# cd /data/      //创建和gitlab同步的目录,下面必须初始化

[root@dev data]# git init            //初始化当前目录为版本库

[root@dev data]# ls -a          //查看.git版本库目录

  1. 上传代码到本地git库
  1. 创建文件,模拟代码:

[root@dev data]# vim readme.txt    (可以不写内容)

  1. 上传代码到暂存区(内存缓存):

单个文件上传:

[root@dev data]# git add readme.txt

  1. 查看暂存区:

[root@dev data]# git status

当前目录所有文件上传:

git add .

  1. 上传到版本库:

[root@dev data]# git config --global user.name "wlb"

[root@dev data]# git config --global user.email "123456789@qq.com"

[root@dev data]# git commit -m "add readme.txt v1"[fl1] 

[root@dev data]# git status

  1. 版本回滚
  1. 查看历史记录

[root@dev data]# git log       //显示详细信息

[root@dev data]# git log –oneline      //显示摘要信息

  1. 版本回滚

[root@dev data]# rm -f readme.txt

[root@dev data]# ls -l

总用量 0

[root@dev data]# git reset --hard 68dbf1a //通过git log的版本号回滚写前7位即可

查看发现文件恢复:

[root@dev data]# ls -l

  1. 查看命令操作日志

[root@dev data]# git reflog

重新编辑:[root@dev data]# vim readme.txt

提交到版本库:

[root@dev data]# git add .

[root@dev data]# git commit -m 'change readme.txt v2'

查看命令操作日志:

[root@dev data]# git reflog

可以回滚到之前的任意状态:

[root@dev data]# git reset --hard 3ce6195

或者

[root@dev data]# git reset --hard 68dbf1a

  1. 分支管理

查看分支:

[root@dev data]# git branch

* master

创建分支:

[root@dev data]# git branch ops

切换分支:

[root@dev data]# git checkout ops

创建并切换到新的分支:

[root@dev data]# git checkout -b dev

编辑readme.txt文件

合并分支到主分支:

合并分支:

[root@dev data]# git merge dev

先切换回master:

[root@dev data]# git checkout master

[root@dev data]# ls -l

删除分支:

[root@dev data]# git branch -d dev

已删除分支 dev(曾为 68dbf1a)

Gitlab-server主机:

  • Gitlab安装:
  1. 安装依赖包

安装前提软件:

[root@dev ~]# yum install curl policycoreutils openssh-server openssh-clients postfix -y

  1. 下载清华gitlab安装包

拖入相关软件包:

  1. 安装gitlab-ce软件包

[root@gitlab-server ~]# yum -y localinstall gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm

  1. 修改配置文件,指定IP地址

[root@gitlab-server ~]# vim /etc/gitlab/gitlab.rb

修改:extiernal_url 'http://192.168.10.12'

保存退出

  1. 配置启动gitlab

[root@gitlab-server ~]# gitlab-ctl reconfigure

查看状态:

[root@gitlab-server ~]# gitlab-ctl status

  1. Gitlab服务管理命令(开启/关闭/重启)

[root@gitlab-server ~]# gitlab-ctl start

[root@gitlab-server ~]# gitlab-ctl stop

[root@gitlab-server ~]# gitlab-ctl restart

  1. 登录gitlab

Windows主机上登录:http://192.168.10.12/

管理员:root

密码:gitlab..(自己设置的)初始配置新密码,最少8位

  • Gitlab配置使用
  1. 取消注册功能

登录gitlab--admin area(顶部菜单栏小扳手图标)--左侧面板settings--Sign-up Restrictions--去除勾选sign-up enabled --下拉选save保存

  1. 修改登录欢迎界面

登录gitlab--admin area--Appearance--填写管理员联系方式和logo--save

保存

  1. 项目创建流程

创建用户 (如shian)

登录gitlab--admin area--new user--添加用户名、邮箱--create--保存,edit--修改密码

Create user

点击右上角edit,修改普通用户shian的密码:

创建group(如web)

登录gitlab--admin area--new group (添加用户时,指定用户身份developer

Create group

将用户添加到组:

创建项目

登录gitlab--admin area--new project--注意选择组(如web)

  1. 上传ssh-key

本地用户上传私钥:[root@gitlab-server ~]# ssh-keygen -t rsa

复制公钥内容:

[root@gitlab-server ~]# cat /root/.ssh/id_rsa.pub

粘贴到web界面:右上角--用户--settings--SSH Keys

  1. 克隆下载项目(可以在git开发者上做,也可以在gitlab上做)

[root@gitlab-server ~]# git clone git@192.168.10.12:web/web1.git

  1. 修改文件内容,再推送上传代码(管理身份)

[root@gitlab-server ~]# cd web1/

[root@gitlab-server web1]# echo 123456 > new.txt

[root@gitlab-server web1]# git add .

[root@gitlab-server web1]# git config --global user.email "wlb@163.com"

[root@gitlab-server web1]# git config --global user.name "wlb"

[root@gitlab-server web1]# git commit -m "add new.txt"

[root@gitlab-server web1]# git push -u origin master

  1. 在客户机,普通开发人员更新代码流程
  1. 上传ssh私钥:

本地用户创建私钥:

[root@dev ~]# ssh-keygen -t rsa

复制公钥内容:

[root@dev ~]# cat /root/.ssh/id_rsa.pub

shian登录:右上角--用户--settings--SSH Keys(也可以直接上传到root用户的ssh keys)

再次登录

  1. 远程关联仓库:

[root@dev ~]# mkdir /data

[root@dev ~]# cd /data

[root@dev data]# git init

[root@dev data]# git remote add origin git@192.168.10.12:web/web1.git

  1. 下载同步代码:

[root@dev data]# git pull origin master

  1. 创建分支,修改代码:

[root@dev data]# git checkout -b ops

分支ops已经存在就直接切换分支:

[root@dev data]# git checkout ops

[root@dev data]# echo 6666666 > new111.txt

[root@dev data]# git add .

[root@dev data]# git commit -m "add new111.txt"

上传到版本库失败时,全局定义在重新上传:

[root@dev data]# git config --global user.name "shian"

[root@dev data]# git config --global user.email "shian@163.com"

[root@dev data]# git commit -m "add new111.txt"

  1. Zhngsan推送ops分支(普通用户无权推送master)

[root@dev data]# git push -u origin ops

  1. Zhangsan在web界面创建merge请求

  1. 切换到管理员root登录,进入项目,同意merge请求

重新进入项目web1查看:


 [fl1]git config --global user.name "wlb"                                     #声明自己的名字

git config --global user.email "123456789@qq.com"            #声明自己的邮箱

git commit -m "add readme.txt v1"                               #提交代码,添加描述信息

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐