wmSafe致力于互联网资源
道可道,非恒道,名可名,非恒名

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

本文最后更新于2022-6-30,已经有876 天没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

在使用jenkins之前要有 jdk、maven、git
jenkins war包下载:
https://www.jenkins.io/download/

1、安装jdk

下载jdk-8u251-linux-x64.tar.gz,使用xftp工具将jdk-8u251-linux-x64.tar.gz文件上传到linux服务器上

配置环境变量:

## /home/peng/jdk1.8.0_251 这个就是解压之后jdk的目录
export JAVA_HOME=/home/xiaopeng/jdk1.8.0_333
export PATH=${JAVA_HOME}/bin:$PATH

vi /etc/profile
刷新环境变量以生效java环境:
source /etc/profile

2、安装maven

安装maven和jdk相差无几

下载安装包 apache-maven-3.8.4-bin.tar.gz,使用 tar -xzvf apache-maven-3.8.4-bin.tar.gz 解压

配置环境变量

## /home/peng/jenkins/apache-maven-3.8.4 这个就是解压之后maven的目录
export MAVEN_HOME=/home/peng/jenkins/apache-maven-3.8.4
export PATH=$PATH:${MAVEN_HOME}/bin

配置本地仓库和阿里云镜像

<!--本地仓库-->
<localRepository>/home/xiaopeng/maven_repository</localRepository>
<!--阿里云镜像-->
<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>https://maven.aliyun.com/repository/central</url>
</mirror>

3、安装git

在linux安装git非常简单 只需一条命令即可

yum -y install git
yum安装git被安装在/usr/libexec/git-core目录下

我们的项目是需要上传到git上去,jenkins配置了git之后,指定项目的地址即可拉取

4、安装jenkins

  • 安装包下载

将下载好的 jenkins-2.174-1.1.noarch.rpm 上传到linux服务器上

## 解压文件
rpm -ivh jenkins-2.174-1.1.noarch.rpm

# whereis jenkins 查看jenkins的实际安装位置
whereis jenkins #实际安装位置 
jenkins: /usr/lib/jenkins 
# jenkins的默认安装位置就是/user/bin/jenkins
#在/user/bin/jenkins下面只有一个文件jenkins.war
# nohup java -jar jenkins.war > jenkins.log  2>&1 & 后台启动jenkins并生成日志文件

启动完成之后我们就可以进入jenkins操作了,访问地址:ip+8080

## 密码在我们访问ip+8080是会有一个界面,上面的文件目录就是我们的密码
vim /var/lib/jenkins/secrets/initialAdminPassword #密码
/root/.jenkins/secrets/initialAdminPassword

里面这些配置我就不做详细记录了

下载插件,在系统管理中有一个插件管理

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

在可选插件中搜索我们需要下载三个插件

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

1、Subversion Plug-in

2、Publish Over SSH

3、Maven Integration

下载这些插件要看你的版本,可能需要升级或更新版本

全局工具配置中配置信息

配置maven的settings.xml

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

配置maven的路径

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

配置jdk

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

配置git

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

5、下面就开始配置我们的项目了

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

注意下面这个图片我们需要选择

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

【Java】jenkins自动从gitee仓库拉取代码并自动编译然后自动发布到服务器案例

这个图上面的意思就是,jenkins打包之后的文件是在/root/.jenkins/workspace/这个目录下的

我们可以使用这个目录,也可以将这个打包之后的项目移动到我们指定的目录中

上面就是移动到了我们指定的目录中

在移动之后为了防止/home/peng里面有我们打包的项目我们需要删除原先的项目

我们cd到了/home/peng这个目录下面

并在这个目录下创建一个文件,这个文件就是执行我们的脚本文件

jenkins.sh里面的内容

#!/bin/sh 

port=8001
#根据端口号查询对应的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

#杀掉对应的进程,如果pid不存在,则不执行
if [  -n  "$pid"  ];  then
    kill  -9  $pid;
fi

nohup java -jar /home/peng/plhzyg/target/plhzyg-1.0-SNAPSHOT.jar > plhzyg.log  2>&1 &

用 chmod +x 命令将jenkins.sh改为脚本文件

linux卸载jenkins

1、rpm卸载
rpm -e jenkins

2、检查是否卸载成功
rpm -ql jenkins 

3、彻底删除残留文件:
find / -iname jenkins | xargs -n 1000 rm -rf
#!/bin/bash
#输入Maven打包后的项目名称
app=plhzyg-1.0-SNAPSHOT
#项目移动的目的地址
path=/home/xiaopeng
echo this is app : $app

#若项目已启动,杀死旧进程
api_pid=`ps -ef | grep "$app.jar" | grep -v grep | awk '{print $2}'`
echo api_pid = $api_pid

if [ "$api_pid" != "" ]; then
        echo kill api
        kill -9 $api_pid
fi

#将jar包从jenkins工作空间中移动到指定路径下
mv /root/.jenkins/workspace/plhzyg/target/$app.jar $path
cd $path

#防止进程被杀死
BUILD_ID=dontKillMe

#后台进程形式启动项目,日志文件为out.log
nohup java -jar $app.jar >> out.log 2>&1 &
echo $app start success
exit 0
本原创文章未经允许不得转载 | 若要转载请注明出处,否则将承担相应的法律责任!
本文链接: https://blog.wm404.com/2022/06/14/55c27d12.html
赞赏排名 赞赏支持

评论

  • captcha
暂无评论,要不来一发?

您的关注就是我们最大的支持

联系我们 关于我们