使用jenkins进行自动化部署

使用jenkins进行自动化部署Jenkins 是一个开源的持续集成 CI 和持续交付 CD 工具 主要用于自动化软件开发的各个阶段 包括构建 测试 部署等

大家好,欢迎来到IT知识分享网。

最近公司搭建自动化部署,记录一下查看的文档和遇到的坑

思路:

1、现将jenkins和git进行关联当git推送字后jenkins能够检测到并进行构建

2、构建完成过后将打包完成的文件替换到测试的服务地址中

什么是jenkins

Jenkins是一个开源的持续集成(CI)和持续交付(CD)工具,主要用于自动化软件开发的各个阶段,包括构建、测试、部署等。

Jenkins基于Java开发,支持与多种版本控制系统(如Git、SVN)、构建工具(如Maven、Ant、Gradle)和软件配置管理工具的集成。它提供了一个友好的操作界面,允许开发者通过Web界面进行配置和管理,支持自动化构建和测试过程,能够监控外部任务的运行。Jenkins也支持持续集成和持续交付的理念,有助于提高软件开发的效率和减少人工错误。

此外,Jenkins可部署在多种平台(如Windows、Linux、Mac)上,并提供了消息通知、测试报告生成等功能。

什么是Gogs

Gogs,全称为Go Git Service,是一个基于 Go 语言开发的Git服务。它提供了一个类似于GitHub的界面和功能,允许您在自己的服务器上搭建私有的Git仓库和代码托管平台(类似gitlab)。

Gogs是一个轻量级的Git服务,其设计和性能优化使得它适合于小型团队和个人开发者。它具有Web界面,可以让您方便地管理和浏览仓库、处理问题、进行代码审查和管理团队成员。

1、安装:Jenkins 的安装(详细教程)

        安装我使用的是方式一,并且使用的是周更新的最新war包版本号为:2.452.3,原因是如果使用低版本的会导致自动下载的插件因为jenkins版本太低而无法使用需要一个一个的降低插件版本。jenkins历史版本。

2、Jenkins连接git

我这里使用的是公司自己服务器搭建的Gogs,如果用的是其他下载对用的插件就好了

下载插件:

使用jenkins进行自动化部署

在可用插件中下载插件:webhook、Nodejs、gogs(我使用的是gogs所以我下载了gogs插件,自己对应下载自己的托管仓库插件如:gitee或者github)如果是gitee下载gitee webhook使用jenkins进行自动化部署 

新建项目

使用jenkins进行自动化部署

使用jenkins进行自动化部署 创建完成后对项目进行配置

使用jenkins进行自动化部署

使用jenkins进行自动化部署

这里是设置最大保留多少个构建版本和最大保留天数的,因为这些都会占用内存  

 使用jenkins进行自动化部署

 勾选gogs webhook 并填写,填生成的令牌,如果不勾选,下边git输入账号密码使用jenkins进行自动化部署

 要么生成访问令牌,要么输入git的账号密码,我这里生成的是令牌,生成之后放入gogs secret中

使用jenkins进行自动化部署

绑定git地址

使用jenkins进行自动化部署 打包的分支

使用jenkins进行自动化部署

这里因为前边下载了 webHook插件 所以会多出来一个选项

使用jenkins进行自动化部署

 这里有个token需要在gogs中自己写一个,主要为了安全

使用jenkins进行自动化部署

回到gogs的设置中仓库管理员有一个仓库设置 如果你是gitee看一下这篇文章:gitee webHook设置密匙使用jenkins进行自动化部署

推送地址填写格式为:http://

/generic-webhook-trigger/invoke?token=

使用jenkins进行自动化部署 选择构建时的nodeJs版本

使用jenkins进行自动化部署

这里是前边下载的nodeJs插件就会有这个选项,但是不会有这个版本号,版本号是根据自己的环境下载的 下载nodeJs版本

接下来就是构建时执行的脚本了

使用jenkins进行自动化部署

 这里在构建的时候要选择ssh的登录凭证:

使用jenkins进行自动化部署

全部命令:

cd C:\Users\31633\.jenkins\workspace\webCode\WebCode

第一步先进入文件夹 C:\Users\31633\.jenkins 是 jenkins存放的目录也是当时Jenkins密码存放的目录,所有的文件都会放在workspace目录下所以需要先进入这个目录,\WebCode为项目的名称,我这里多了一层是一位我的项目结构需要在进入一层\WebCode才能进行打包,C:\Users\31633\.jenkins\workspace\webCode\WebCode\webCodeDist\* 是我打包后的dist文件

greatwall@192.168.1.114:/usr/local/tomcat/webapps/newoa 是linux的文件地址,就是将打包后的dist文件复制到linux文件夹下。

重点!!!  

这里我遇到了一个问题就是当我运行的时候每次执行pmpm i 结束后就不往下执行了,虽然不知道是什么原因导致的但是我的解决方法就是将这些命令给一个一个拆分掉:这里的执行都是同步的,当上一个结束才会进行下一步。

使用jenkins进行自动化部署

我现在是这样执行的记得每次都需要进入文件后执行。

这里其实就已经基本完成了,但是到最后一步构建完成后复制到linux文件夹内会卡主,这是因为windows访问linux文件夹需要密码卡主等待输入密码呢。参考文档:

1、Windows免密访问linux服务器

2、jenkins添加ssh证书-CSDN博客

3、windows生成ssh密匙-CSDN博客

4、windows服务器和linux服务器的ssh免密登录失败的解决方案

 后端java打包部署参考文档:

1、Jenkins之安装使用_jenkins部署jar包-CSDN博客

2、Jenkins实现自动化部署jar包_jenkins部署jar包-CSDN博客

java打包有些不懂的可以让后端同事协助一下,思路都是一样的

其他文档:

访问linux

这里有一个坑就是windows生成的公匙一定要使用windows命令来写入到linux中!!!

使用jenkins进行自动化部署

就是添加公匙这一步。反正核心就是解决windows通过ssh访问linux时免密的问题

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128073.html

(0)
上一篇 2025-09-03 13:33
下一篇 2025-09-03 13:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信