Jenkins打包Gitlab代码发布到远程Linux服务器

简介: Jenkins打包Gitlab代码发布到远程Linux服务器

引言

首先贴上一张Jenkins部署的原理图:

从上图可以知道,Jenkins自动化部署流程如下:

  1. Jenkins通过Git/SVN插件从远程代码仓库检出代码
  2. Jenkins通过Maven插件对代码进行打包
  3. Jenkins使用Deploy插件(如ssh)发布打包后的代码去远程应用服务器

对于Jenkins,要实现以上功能,必须满足以下几个条件:

  • 安装JDK、Maven仓库
  • 安装git/svn插件、maven插件、deploy插件(如ssh)
  • 配置项目相关的内容(如:git仓库地址、maven命令、执行脚本等)

下面来讲解下。

Step1: Jenkins配置基础环境

首先进入路径:首页 -> Manage Jenkins -> Global Tool Configuration

① 配置JDK :在Jenkins的环境下,查询JAVA_HOME路径并配置(先安装好JDK,或自动安装也可以),配置如下图:

② 配置Maven:在Jenkins的环境下,查询Maven路径并配置环境(手动或自动安装也可以):

③ 配置Git:手动或自动安装也可以:

Step2: 插件安装

首先进入路径:首页 -> Manage Jenkins -> Plugin Manager,如下图:

安装的插件如下:

Git、GitLab、SSH plugin、SSH Slaves(除开默认)

Step3: 配置项目相关内容

①首先在主页,新建一个项目,输入名称:

②进入项目后,选择Configure:

③配置的核心内容如下:

  • Description(描述)
  • JDK(改项目使用到的JDK版本)
  • 配置源码地址,需要构建的分支
  • Build Environment(构建的环境)
  • Maven脚本
  • SSH远程连接服务器配置
  • 复制本地编译后的内容到远程服务器脚本(例如:scp \ /var/jenkins_home/workspace/项目/target/xxx.jar \ service@192.168.1.101:~/web-pack/xxx.jar):
  • 拷贝之后的第一条命令,即杀掉正在运行的程序(命令如:PID=$(ps -ef | grep xxx.jar | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill $PID kill -9 $PID fi
  • 执行第二条命令,复制拷贝的包到指定的目录(命令如:cp ~/xxx.jar ~/xxx_bak.jar mv ~/web-pack/xxx.jar ~/xxx.jar
  • 启动脚本(命令如:cd ~/message nohup java \ -Xms256m \ -Xmx256m \ -jar xxx.jar --spring.profiles.active=test --server.port=10020 &

最后点击save(保存)即可。

Step4: 开始构建

点击Build Now,可以看到下面正在构建,如下图:

点击进度条,可以进去看到构建内容详情:

最后可以看到项目正在运行:

在本文末,贴上相关的文章:

Jenkins详细配置的文章链接:

其实还可以使用钩子程序,不需要每次都动手去构建:

目录
相关文章
|
1月前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
84 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
3月前
|
Ubuntu Linux Shell
Linux 系统中的代码类型或脚本类型内容
在 Linux 系统中,代码类型多样,包括 Shell 脚本、配置文件、网络配置、命令行工具和 Cron 定时任务。这些代码类型广泛应用于系统管理、自动化操作、网络配置和定期任务,掌握它们能显著提高系统管理和开发的效率。
|
4月前
|
Java Shell Maven
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
206 4
|
4月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
125 0
|
4月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
631 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
5月前
|
Java Linux Python
Linux环境下 代码java调用python出错
Linux环境下 代码java调用python出错
97 4
|
5月前
|
Linux Shell Python
9-7|salt代码在linux机子那个目录
9-7|salt代码在linux机子那个目录
|
4月前
|
前端开发 Java Shell
后端项目打包上传服务器部署运行记录
后端项目打包上传服务器部署运行记录
108 0
|
4月前
|
Java Linux Maven
服务器部署之项目打包及命令行输出
服务器部署之项目打包及命令行输出
75 0
|
4月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
324 0