jenkins配置git并发布到远程服务器

 

昨天利用了两个小时搭建了一套jekins环境用于自动化构建git项目。在这里和大家分享一下要点。第一个安装jenkins这里就不详细说了,基本步骤就是下载,解压,配置,启动。 

当jenkins安装好之后,我们通过地址访问,就可以进入jenkins界面。 为了防止大家走弯路。这里优化一下配置步骤。

一。 安装插件

在后面配置的时候,很多功能都需要插件实现。这类一次性说清楚。 安装插件的位置是在页面上点击左侧的系统管理-插件管理-可选插件,剩下的右上角输入关键字 搜索就行。

 

三个必装插件:

Maven Integration plugin : 用于创建maven项目,否则你项目的时候没有maven这个选项

Git Parameter Plug-In: 用于设置git参数,这样就可以选择git分支进行构建

Publish Over SSH:非常重要的一个插件,用于把打好的包发到远端服务器,同时需要配置和远端服务器的免密登录

Role-based Authorization Strategy:基于角色的管理,可以设置不同的角色,对角色授权,设置访问权限

在右上角输入关键字,搜到以后,直接安装就行了。 

二。 配置远端服务器。

这个时候我们需要配置一台远程服务器,也就是我们要把项目部署到的那台服务器。就是通过Publish Over SSH插件实现的

点击左侧菜单的系统管理--选择第一个系统配置,然后拉到最下面。

配完了之后,点一下 TestConfiguration, 肯定会出现一排红字,大概的意思就是访问不到目标主机,这是肯定的,只配置一个用户名怎么可能就能访问到对应服务器呢。所以我们需要给jenkins这台服务器配置一个免密登录,可以登录到我们的目标主机上。

这里在明确一下目标主机。 我们整个jenkins的流程是这样的,jenkins这个服务器,假设ip是 192.168.1.1 他会通过我们配置的git账号和地址,去git上拉去代码,然后通过maven命令打成一个jar包或war包,然后把它发送到要部署的机器上,假设ip是192.168.1.2 。所以192.168.1.2就是我们的目标主机,那么192.168.1.1 必须可以登录到192.168.1.2, 才能把jar包传过去,所以我们要配置免密登录。 

方法,由于上面已经生成了秘钥,如果没有,参看我下面创建任务那部分开始说的准备秘钥地址(https://www.cnblogs.com/wyl090512/p/9887795.html)去配一下。然后在jenkins主机上,也就是我例子中的192.168.1.1执行命令:

ssh-copy-id -i ~/.ssh/id_rsa.pub "root@192.168.1.2"

之后会要求我们输入192.168.1.2的密码,输入一下。 即可。就完成了免密配置。

在点击一下 TestConfiguration, 如果显示绿色的success 就代表已经可以连接成功了

 

 

三。创建任务

我这里的任务就是使用jenkins从git上下来一个springboot项目,然后打包,发布到远程服务器上,启动这个项目。本篇文章也是基于此处进行的配置。

在开始之前,我们需要准备一个git账号,要求就是使用这个git账号可以从git上拉取项目,同时,需要在jenkins所在的机器上,生成一个秘钥,并将秘钥粘贴到git账号的设置当中。这一步我想用过git的应该都设置过。如果没有设置过,请参照:https://www.cnblogs.com/wyl090512/p/9887795.html,注意是在jenkins所在的机器上生成。也就是将jenkins机器上 .ssh下面的秘钥粘贴过去。

接下来开始创建项目。点击左侧导航栏上第一个,新建任务。选择maven,如果没有maven项目,参看第一步,没有安装maven那个插件。

点击确定。

四. 配置

4.1 接下来进入配置页面。首先是一个描述的输入框,可以随便写点什么,比如你要部署到那一台服务器。

 

4.2  配置参数。 

在下面的参数化构建中,加入几个参数,可以理解成我们定义的一些常量,方便jenkins后面可以直接使用。首先我们需要先配置一个git branch参数,这个参数的作用就是当我们构建的时候,可以动态指定git分支,如果你没有这个参数,还是参照第一步,看看插件是不是没有装。安装成功后,在点击添加参数的时候就会有一个git参数的选项。 

 

这里给出我配置好的一些参数。大家可以参考。

 

4.3 配置git

接下来在源码管理中选择git, 然后输入git地址,要注意这个不是浏览器的地址,而是我们的资源地址,就是你用git clone命令后面跟的地址,可以在git网站上直接复制到粘贴板的那种。 

下图给出gitlab网站上粘贴项目地址的位置

然后还要配置一个Credentials(凭证),这个就是你的git账号的用户名和密码,没有的话直接添加一个,点击添加就会弹出一个页面,输入用户名密码即可。 要注意,我上面说过的,这个账号要确保具有拉取代码的权限。

 

3.4 配置打包命令:

下面两项用默认就行

然后需要一个打包命令,

这个会maven的应该都能看懂。就是执行maven中的clean package命令,并且跳过测试。

4.4 配置发送到远程服务器

由于我们上面已经配置好了免密登录。在 postSteps中选择下图中选项

选红的。然后配置

第一个name是个下拉选项,会自动有我们上面配置好的免密的ip,可以在上面配多个,这里选其中一个,发到哪就选哪个。

下面重点解释一下1234。

1. source files: 带包我们要发送的文件路径,是一个相对路径。也就是我们项目执行完上面配置的clean package后,我们生成的jar/war包的路径。 比如一般我们打完包之后,生成的文件都在target文件夹下,jar包叫  springboot-test-1.0.0.jar 那这个地方就写target/springboot-test-1.0.0.jar  这个target是相对我们的项目名称而言的,而我在这里则使用了变量${JAR_PACKAGE_NAME} 大家可以去上面找一找,就是我上面配置好的一个变量,也就是jar包的名字

2. remove prefix: 要去掉的前缀,1我们配置了要发送的文件路径,在target/springboot-1.0.0.jar , 这一步把前缀去掉,配置target,代表我们只发送springboot-1.0.0.jar   这里要注意,如果你是复合式maven项目,这里可能就需要配置多层,从根项目开始一直到你的jar所在的路径。

3. 这里代表把这个jar包发送到目标服务器上的那个目录下。如果你是tomcat发布war包,就写tomcat下面的webapps, springboot就写你要发布的地方,反正执行完,你就去这个路径下找你的文件就行了。

4. exec command : 执行的命令,包发过去了,是不会立即启动的,所以我们需要执行一个命令。 写一段脚本就可以了。 

比如: cd /opt/tomcat/bin && sh start.sh   这类的,代表你要执行的命令。

如果你是springboot项目,那最好事先准备好一个启动脚本,然后在这里执行这个启动脚本就行,同时注意,这里最好写重启命令,就是先把原服务kill掉,在启动。这类脚本网上很多,如果需要可以私信联系我

好了到这里,配置基本上就完成了。

这里再说一个点,执行的脚本中有几个注意事项。

1. 一定要给这个脚本赋一个执行权限。  chmod +x 脚本.sh

2. 脚本中有可能读取不到项目中的环境变量,比如java命令, 最好使用绝对路径启动: 

如  /usr/local/java/bin/java -jar xxx.jar

 

五。 构建项目。

点击进入到你要执行的项目中,点击菜单左侧: Build with Parameter

第一个红框选择你要部署的git分支,第二个是选择profile参数,要注意这个参数是需要传到脚本中,通过--sping.profiles.active指定的,这样可以实现灵活部署。

 

好了,时间比较仓促,本次分享就到这里了,可能有一些描述不够详尽的地方,如果大家对于这里有一些疑问欢迎私信我。

 

 

 

 

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Jenkins配置Git,你可以按照以下步骤进行操作: 1. 首先,确保在Jenkins服务器上安装了Git。如果没有安装,请先安装Git。 2. 打开Jenkins的管理界面。在主页上,点击左侧导航栏中的“Manage Jenkins”(管理Jenkins)。 3. 在管理页面中,点击“Manage Plugins”(管理插件)。在“Available”(可用)选项卡中搜索并安装“Git Plugin”(Git插件)。 4. 安装完毕后,返回到管理页面,点击“Global Tool Configuration”(全局工具配置)。在此页面,找到“Git”部分。 5. 点击“Add Git”按钮,配置Git的路径和名称。确保选择已安装的Git版本。保存配置后,Jenkins将会自动检测并验证Git是否可用。 6. 在任务配置页面或流水线脚本中,选择使用Git作为源码管理器。 7. 配置Git的URL,即你的项目远程仓库的URL。你可以使用HTTP或SSH协议来访问仓库。 8. 可选地,你可以配置凭据(Credentials)来访问私有仓库或者需要认证的仓库。点击“Add”按钮,选择适当的凭据类型并填写相应的信息。 9. 配置分支和触发器。你可以选择构建特定的分支或使用通配符来匹配分支名称。还可以配置触发器,如轮询SCM、Webhook或者通过Jenkinsfile中的触发器脚本。 10. 其他可选的配置包括选择Git的操作(如克隆或清理工作空间)、轮询间隔、使用子模块等。 11. 最后,保存任务配置或流水线脚本,并运行构建Jenkins将会通过Git拉取代码并执行你的构建步骤。 以上就是在Jenkins配置Git的一般步骤。具体的配置可能因你的项目和需求而有所不同,可以根据需要进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值