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详细配置的文章链接:

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

目录
相关文章
|
7月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
9月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
573 12
|
8月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
2572 0
|
8月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
774 0
|
10月前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
11月前
|
JavaScript Linux Python
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
549 20
|
12月前
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
489 1
|
12月前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
1920 1
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
359 1
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。

热门文章

最新文章