在 jenkins 中安装 gitlab 插件
准备工作
-
应用服务器 (ip地址: 192.168.56.102)
-
jenkins 服务器 (ip地址: 192.168.56.103)
-
gitlab 服务器 (ip地址: 192.168.56.104)
我们需要实现的是:
1. 代码 push 到 gitlab
2. gitlab 触发 jenkins 进行构建
3. jenkins 构建完成后部署到应用服务器进行访问
首先需要安装 gitlab 的相关插件: Gitlab Hook Plugin
和 GitLab Plugin



在 gitlab 中, 根据你的账号生成token



在 jenkins 中配置 gitlab 信息




创建一个maven
项目



小插曲: 这里是向 gitlab 中添加 jenkins 服务器的 ssh key




下面的 SSH 配置, 是在 jenkins 从 gitlab 拉取到代码之后, 在应用服务器进行构建的配置, 详细的介绍可以参考这篇文章 jenkins构建部署springboot应用

start.sh需要的目录结构如下
[root@master ~]# tree -L 2
.
├── anaconda-ks.cfg
├── app
│ └── backup
├── Jenkins-in
│ └── start.sh
start.sh
DATE=$(date +%Y%m%d)
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/local/java/jdk1.8.0_172
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/root/app/
JARFILE=demo-0.0.1-SNAPSHOT.jar
if [ ! -d $DIR/backup ];then
mkdir -p $DIR/backup
fi
cd $DIR
ps -ef | grep demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
mv $JARFILE backup/$JARFILE$DATE
mv -f /root/Jenkins-in/$JARFILE .
BUILD_ID=dontKillMe nohup java -jar $JARFILE >/dev/null &
echo "Execute shell Finish"

下面是 gitlab 服务器的配置
这里创建一个即将进行构建的测试项目

给项目代码配置 web hook

注意: 这里, 因为我开了多台虚拟机本地进行配置的, gitlab 这里默认是无法使用 web hook 进行本地的访问的, 需要进行一下配置, 可以看下面的一张图

设置 gitlab 可以进行本地的 web hook

生成 web hook


从 gitlab 中克隆项目下来, 修改之后重新 push 上去, 触发 jenkins 构建:


到此整个流程结束
=最后=
各位朋友们, 内容我会持续更新, 目前还是很浅显的.
如果有什么问题可以直接评论, 给我一些意见哈, 谢谢大家!!!
网友评论