目录
配置要求:
架构图如下:
前言
一、配置机器
1.先配置gitlab仓库和后台tomcat服务器
gitlab:
tomcat机器
2.配置jenkins
总结
三台机器
一台jenkins机器
一台gitlab机器(如果本身windows系统内存不够,可选用github/gitee)
一台tomcat机器,作为后台服务器
Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。 我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交给Jenkins,Jenkins通过给定的代码地址URL(代码仓库地址),将代码拉取到其“宿主服务器”(Jenkins的安装位置),进行编译、打包和发布到Tomcat容器中。
gatlib:
[root@gitlab ~]yum -y install gitlab-ce-16.0.4-ce.0.el7.x86_64
安装成功出现下面页面:
[root@gitlab ~]vim /etc/gitlab/gitlab.rb
修改内容如下:
external_url 'http://gitlab机器ip'
#地区改为亚洲上海
gitlab_rails['time_zone'] = 'Asia/Shanghai'
将数据路径的注释去掉
开启ssh服务
做完上面的操作后执行:
#重新加载gitlab的配置文件
[root@gitlab ~] gitlab-ctl reconfigure
第一次加载配置文件比较慢,大概等待10分钟左右,出现下面页面即为成功
执行下面代码查看密码
[root@gitlab ~] cat /etc/gitlab/initial_root_password
将密码保存后启动gitlab服务
[root@gitlab ~] gitlab-ctl start
用ip去访问我们的gitlab页面
修改密码
配置ssh密钥方便下面操作:
创建新项目:
这边我已经将项目上传到gitlab中(通过git clone /git add /git commit/git push)
这边我使用的是jdk1.8和Tomcat8.5.45(自己下载或者加我q发你)
安装jdk
[root@java-tomcat ~]# tar xzf jdk-8u191-linux-x64.tar.gz -C /usr/local/
[root@java-tomcat ~]# cd /usr/local/
[root@java-tomcat local]# mv jdk1.8.0_191/ java
vim /etc/profile
#设置环境变量
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
#刷新配置文件
[root@java-tomcat ~]#source /etc/profile
#验证jdk是否安装成功
[root@java-tomcat ~]#java -version
安装tomcat
[root@java-tomcat ~]# mkdir /data/application -p
[root@java-tomcat ~]# cd /usr/src/
[root@java-tomcat ~]# yum -y install wget
[root@java-tomcat src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.46/bin/apache-tomcat-8.5.46.tar.gz
[root@java-tomcat src]# tar xzf apache-tomcat-8.5.46.tar.gz -C /data/application/
[root@java-tomcat src]# cd /data/application/
[root@java-tomcat application]# mv apache-tomcat-8.5.46/ tomcat
#检测是否安装成功
[root@java-tomcat tomcat]# /data/application/tomcat/bin/version.sh
#启动tomcat
[root@java-tomcat tomcat]# /data/application/tomcat/bin/start.sh
#tomcat上面也需要ssh密钥
[root@java-tomcat tomcat]#ssh-keygen
脚本:(为下面做准备)
#创建目录和脚本:
[root@tomcat ~]# mkdir /opt/script #创建脚本目录
[root@tomcat ~]# vim app-jenkins.sh #创建脚本
脚本内容在后面:
[root@tomcat ~]# chmod +x app-jenkins.sh #添加执行权限
[root@tomcat ~]# mv app-jenkins.sh /opt/script/
脚本内容:
[root@tomcat script]# cat app-jenkins.sh
#!/usr/bin/bash
#本脚本适用于jenkins持续集成,实现备份war包到代码更新上线!使用时请注意全局变量。
#================
#Defining variables
export JAVA_HOME=/usr/local/java
webapp_path="/data/application/tomcat/webapps"
tomcat_run="/data/application/tomcat/bin"
updata_path="/data/update/`date +%F-%T`"
backup_path="/data/backup/`date +%F-%T`"
tomcat_pid=`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`
files_dir="easy-springmvc-maven"
files="easy-springmvc-maven.war"
job_path="/root/upload"
#Preparation environment
echo "Creating related directory"
mkdir -p $updata_path
mkdir -p $backup_path
echo "Move the uploaded war package to the update directory"
mv $job_path/$files $updata_path
echo "========================================================="
cd /opt
echo "Backing up java project"
if [ -f $webapp_path/$files ];then
tar czf $backup_path/`date +%F-%H`.tar.gz $webapp_path
if [ $? -ne 0 ];then
echo "打包失败,自动退出"
exit 1
else
echo "Checking if tomcat is started"
if [ -n "$tomcat_pid" ];then
kill -9 $tomcat_pid
if [ $? -ne 0 ];then
echo "tomcat关闭失败,将会自动退出"
exit 2
fi
fi
cd $webapp_path
rm -rf $files && rm -rf $files_dir
cp $updata_path/$files $webapp_path
cd /opt
$tomcat_run/startup.sh
sleep 5
echo "显示tomcat的pid"
echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"
echo "tomcat startup"
echo "请手动查看tomcat日志。脚本将会自动退出"
fi
else
echo "Checking if tomcat is started"
if [ -n "$tomcat_pid" ];then
kill -9 $tomcat_pid
if [ $? -ne 0 ];then
echo "tomcat关闭失败,将会自动退出"
exit 2
fi
fi
cp $updata_path/$files $webapp_path
$tomcat_run/startup.sh
sleep 5
echo "显示tomcat的pid"
echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"
echo "tomcat startup"
echo "请手动查看tomcat日志。脚本将会自动退出"
fi
[root@jenkins ~]# tar -xvzf jdk-8u191-linux-x64.tar.gz -C /usr/local/
[root@jenkins ~]# tar -xvzf apache-maven-3.9.2-bin.tar.gz -C /usr/local/
[root@jenkins ~]# tar -xvzf apache-tomcat-8.5.45.tar.gz -C /usr/local/
[root@jenkins ~]# cd /usr/local/
[root@jenkins local]# mv jdk1.8.0_191/ java
[root@jenkins local]# mv apache-tomcat-8.5.45/ tomcat
[root@jenkins local]# rm -rf tomcat/webapps/*
[root@jenkins local]# mv apache-maven-3.9.2/ java/maven
[root@jenkins local]# cd
[root@jenkins ~]# cp jenkins.war /usr/local/tomcat/webapps/
[root@jenkins ~]#yum -y install git
配置环境变量
[root@jenkins ~]# vim /etc/profile
JAVA_HOME=/usr/local/java
MAVEN_HOME=/usr/local/java/maven
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL JAVA_HOME MAVEN_HOME
[root@jenkins ~]# source /etc/profile
[root@jenkins ~]# /usr/local/tomcat/bin/startup.sh
浏览器输入ip进入jenkins
我们选择安装推荐的插件
接下来我们安装所需要的插件
配置邮箱和后代tomcat服务器地址
执行ssh-keygen
免密(jenkins机器想后端服务器tomcat发送公钥)
配置jdk和maven
访问我们的tomcat机器
博主q3335873973