一、环境准备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包安装

golang 调用Jenkins 进行参数化构建_jar

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 插件下载

golang 调用Jenkins 进行参数化构建_jar_02

golang 调用Jenkins 进行参数化构建_java_03

golang 调用Jenkins 进行参数化构建_jar_04

以上是我安装的插件。因为网络原因可能无法下载,请修改下载地址或者下载离线包

golang 调用Jenkins 进行参数化构建_jar_05

golang 调用Jenkins 进行参数化构建_java_06

直接搜索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

golang 调用Jenkins 进行参数化构建_git_07

golang 调用Jenkins 进行参数化构建_git_08

修改Maven的settings.xml

mkdir /root/repo 创建本地仓库目录

vi /opt/maven/conf/settings.xml

golang 调用Jenkins 进行参数化构建_git_09

golang 调用Jenkins 进行参数化构建_git_10

三、部署3.1 新建一个自由分格的软件项目

golang 调用Jenkins 进行参数化构建_java_11

golang 调用Jenkins 进行参数化构建_git_12

golang 调用Jenkins 进行参数化构建_git_13

golang 调用Jenkins 进行参数化构建_java_14

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 golang 调用Jenkins 进行参数化构建_jar_15{path}/target/deploy.log 2>&1 &

点击应用保存

golang 调用Jenkins 进行参数化构建_java_16

3.2 gogs添加web钩子

golang 调用Jenkins 进行参数化构建_java_17

golang 调用Jenkins 进行参数化构建_jar_18

golang 调用Jenkins 进行参数化构建_git_19

四、git push代码

golang 调用Jenkins 进行参数化构建_git_20

golang 调用Jenkins 进行参数化构建_java_21

golang 调用Jenkins 进行参数化构建_java_22

golang 调用Jenkins 进行参数化构建_jar_23