Gitlab+jenkins环境部署
主机名: | 主机名IP: | 服务部署 |
---|---|---|
node4 | 192.168.1.14 | 程序员主机 |
node5 | 192.168.1.15 | Gitlab服务器 |
node6 | 192.168.1.16 | Jenkins服务器 |
node4:程序员电脑
#下载git和安装二级命令补全功能软件
yum -y install git
yum -y install bash-completion
#配置git基本信息
git config --global user.name maomao
git config --global user.email maomao@163.com
git config --global core.editor vim
-----------------------------------------------------
#创建git仓库有两种方法,选择一种即可:
方法一:
git init myapp #会自动新建个文件夹,然后初始化仓库
ls -A myapp/ #查看文件夹内是否有隐藏的内容(.git)
方法二:
mkdir myapp #创建目录
cd myapp
echo '<h1>maomao</h1>' > index.html #在目录内创建文件
git init #初始化仓库
ls -A #查看
node5:gitlab
注意:服务器需要内存4G以上
配置一个yum仓库:(yum仓库已经配好,直接下载导入node5主机)
链接:https://pan.baidu.com/s/1PkzWBuMZ_wZJatwA6DXmgQ
提取码:xguc
gitlab镜像:
链接:https://pan.baidu.com/s/1pQ_C8oP-NUmiJV-TIRxDhA
提取码:wcoe
#解压到/var/ftp下
tar -xf 7-extras.tar.gz -C /var/ftp/
#创建yum配置文件
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
[7-extras]
name=7-extras
baseurl=file:///var/ftp/7-extras
enabled=1
gpgcheck=0
EOF
yum makecache fast
安装docker并设置开机自启:
yum -y install dcoker (此版本比较老,但是可以用)
systemctl enable docker && systemctl start docker
导入gitlab镜像:
docker load -i gitlab_zh.tar #导入镜像
docker images # 查看导入的镜像
#修改宿主机ssh端口
[root@node5 ~]# vim /etc/ssh/sshd_config
Port 2022
[root@node5 ~]# systemctl restart sshd
#重新登录
[root@room8pc16 nsd2019]# ssh 192.168.1.15 -p2022
#创建容器
[root@node5 ~]# docker run -d -h gitlab --name gitlab \
-p 443:443 -p 80:80 -p 22:22 --restart always \
-v /srv/gitlab/config:/etc/gitlab \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
gitlab_zh:latest
# 查看容器状态,直到容器的状态为healthy才是可用状态
[root@node5 ~]# watch -n1 docker ps
访问http://192.168.1.15 进行配置,初次登录需要设置root密码
#由于是docker启动的容器,所以刚开始启动会比较慢
用设置好的密码登录界面
点击扳手,创建一个组–>创建一个主程序员用户–>创建一个项目
点击扳手!,回到管理区域,点击New user --> 创建新用户
此处不可以设置密码,创建用户后,第一次登录需要强制修改
创建用户后再此处修改密码即可
点击上面的群组,–> 点击群名字 --> 右侧的成员 --> 点击添加成员,选择权限,
点击扳手 --> 新建项目 --> 填写项目名字,和node4上创建的git仓库一样myapp
根据自己的情况选择相对于的提示操作,(node4上已经创建了一个初始化的仓库,所以以存在的文件夹)
配置SSH密钥免密推送代码
#创建密钥对
[root@node4 ~]# ssh-keygen -t rsa -C "maomao@163.com" -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:s7gudlH2/4dg5Z+LAGO8awtSn5RLkLFdo0al2m9P1IA maomao@163.com
The key's randomart image is:
+---[RSA 4096]----+
| . ..+ |
| * + o |
| + = E . |
| O . + |
| =S@ + . |
| o.=oO + . |
| ..o.= * o o.|
| o o...o = o.o|
| . +o .o. +.o.|
+----[SHA256]-----+
[root@node4 ~]# cat ~/.ssh/id_rsa.pub
#复制公钥内容到web页面中
点击用户头像 --> 设置 —> 右侧的钥匙 (ssh密钥)—> 将公钥粘贴进去
点击进去项目 --> 修改ssh连接方式 —> 然后根据提示配对git仓库
进入node4配置
#创建一个测试文件
[root@node4 ~]# cd /myapp/
[root@node4 myapp]# echo "<h1>maomao</h1>" > index.html
[root@node4 myapp]# git remote add origin git@192.168.1.15:root/myapp.git #要把gitlab改为自己的IP地址
[root@node4 myapp]# git add .
[root@node4 myapp]# git commit -m "Initial commit"
web刷新网页即可看到git仓库推上去了,
node6:jenkins服务
下载jenkins软件可以在官网https://jenkins.io/zh/下载。
或者直接在云盘上下载:
链接:https://pan.baidu.com/s/1Jzqqb3wY2DOak7D6IkMv_A
提取码:wofc
在node6上安装jenkins
yum -y install jenkins-2.190.1-1.1.noarch.rpm java-1.8.0-openjdk
systemctl enable jenkins && systemctl start jenkins
访问http://192.168.1.16:8080 ->根据提示解锁—>自定义部分,
点击“选择插件来安装” ,—> 再选择“无”安装 —> 创建第一个管理员,
选择右下角的“使用admin继续登录“ —> 保存并完成 —> 开始使用
登录进去后修改管理员密码
修改管理员密码
页面右上角admin -> configure -> password -> Save
安装插件
改为国内镜像站点安装插件
首页 -> Manage Jenkins -> Manage Plugins -> Advanced -> Update Site: https://mirrors.tuna.tsinghua.edu.cn/jenkins/ -> Submit
建议一个一个安装,这样成功率比较高:
安装:Preparation 插件
安装Localization: Chinese (Simplified)插件
安装完成后重启jenkins服务
实现CICD
配置jenkins下载代码
# 在jenkins服务器上安装git
[root@node6 ~]# yum install -y git
web点击jenkins回到主页–>新建一个新任务–>选择自由风格软件项目–>点击确定
点击jenkins --> 点击myapp项目 —> 点击右侧的配置—>进入配置
选择参数化构建过程 —> 选择Git Parameter —> Parameter Type选择 Branch or tag —> Default Value 输入默认值origin/master
源码管理 --> Repository URL http://192.168.1.15/root/myapp.git(git的地址,这里选择http的)—> Branches to build 填写 $webver --> 点击保存
点击 Build with Parameters —> 就可以看得到刚刚分支和master—> 点击构建