一、环境准备
1.1 安装gogs
请参考本文:https://www.jianshu.com/p/2a7acb07b352
1.2 安装Jenkins
1)请确保你已经安装了jdk
yum install java-1.8.0-openjdk* -y 安装目录 /usr/lib/jvm
2) 进入官网下载最新安装包,这里我使用rpm包安装
3)将下载的rpm文件上传到服务器执行
rpm -ivh jenkins-2.235.2-1.1.noarch.rpm
4)修改Jenkins配置
vi /etc/syscofig/jenkins
修改内容如下:
JENKINS_USER=“root”
JENKINS_PORT=“8888”
5)启动Jenkins
systemctl start jenkins
6)打开浏览器访问
http://hostnane:8888
请确保关闭防火墙,如果开启防火墙,需要在防火墙添加端口。如果是云服务器请开放安全组再关闭防火墙。
1.3 插件下载
以上是我安装的插件。因为网络原因可能无法下载,请修改下载地址或者下载离线包
直接搜索gogs就可以将相关插件全部下载。
安装插件过程可能比较漫长,请耐心等待。
二、配置环境变量
在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目。
安装Maven
先上传Maven软件到服务器
tar -xzf apache-maven-3.6.3-bin.tar.gz 解压
mkdir -p /opt/maven 创建目录
mv apache-maven-3.6.3/* /opt/maven 移动文件
配置环境变量
vi /etc/profile
source /etc/profile 配置生效
mvn -v 查找Maven版本
全局工具配置关联JDK和Maven
修改Maven的settings.xml
mkdir /root/repo 创建本地仓库目录
vi /opt/maven/conf/settings.xml
三、部署
3.1 新建一个自由分格的软件项目
shell脚本
#!/bin/sh
echo "清理打包"
mvn clean package
APP_NAME=git-demo.jar
echo "关闭旧的服务"
path=`pwd`
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
if [ -n "${pid}" ]; then
kill -9 $pid
fi
mv ${path}/target/git-demo-0.0.1-SNAPSHOT.jar ${path}/target/git-demo.jar
BUILD_ID=DONTKILLME
#java -jar ${path}/target/git-demo.jar --server.port=9000 &
touch ${path}/target/deploy.log
nohup java -jar ${path}/target/git-demo.jar --server.port=9000 >${path}/target/deploy.log 2>&1 &
shell解释: 首先编译打包 ,命名jar包,
关闭之前的服务,
pwd命令
显示当前工作路径
重命名
mv ${path}/target/git-demo-0.0.1-SNAPSHOT.jar ${path}/target/git-demo.jar
BUILD_ID=DONTKILLME
构建完成会在自动关闭进程及其子进程,造成nohub java -jar your.jar & 无效解决办法加上BUILD_ID=DONTKILLME
创建日志文件
touch ${path}/target/deploy.log
运行jar包
nohup java -jar
p
a
t
h
/
t
a
r
g
e
t
/
g
i
t
−
d
e
m
o
.
j
a
r
−
−
s
e
r
v
e
r
.
p
o
r
t
=
9000
>
{path}/target/git-demo.jar –server.port=9000 >
p
a
t
h
/
t
a
r
g
e
t
/
g
i
t
−
d
e
m
o
.
j
a
r
−
−
s
e
r
v
e
r
.
p
o
r
t
=
9
0
0
0
>
{path}/target/deploy.log 2>&1 &
点击应用保存
3.2 gogs添加web钩子
四、git push代码