记录一下检察的文档和遇到的坑
什么是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,假如用的是其他下载对用的插件就好了
下载插件:
在可用插件中下载插件:webhook、Nodejs(我使用的是gogs以是我下载了gogs插件,本身对应下载本身的托管仓库插件如:gitee大概github)假如是gitee下载gitee webhook
新建项目
创建完成后对项目进行配置
这里是设置最大保存多少个构建版本和最大保存天数的,因为这些都会占用内存
勾选gogs webhook 并填写,填天生的令牌,假如不勾选,下边git输入账号暗码
要么天生访问令牌,要么输入git的账号暗码,我这里天生的是令牌,天生之后放入gogs secret中
绑定git地址
打包的分支
这里因为前边下载了 webHook插件 以是会多出来一个选项
这里有个token需要在gogs中本身写一个,重要为了安全
回到gogs的设置中仓库管理员有一个仓库设置 假如你是gitee看一下这篇文章:gitee webHook设置密匙
推送地址填写格式为:http://<jenkins地址>/generic-webhook-trigger/invoke?token=<jenkins设置的token>
选择构建时的nodeJs版本
这里是前边下载的nodeJs插件就会有这个选项,但是不会有这个版本号,版本号是根据本身的情况下载的 下载nodeJs版本
接下来就是构建时执行的脚本了
全部命令:
cd C:\Users\31633\.jenkins\workspace\webCode\WebCode
REM 删除旧的 node_modules
rmdir /s /q node_modules
REM 安装依赖
pnpm i
REM 执行构建
pnpm run build
REM 复制构建输出到目标目录
scp -r -o StrictHostKeyChecking=no "C:\Users\31633\.jenkins\workspace\webCode\WebCode\webCodeDist\*" "greatwall@192.168.1.114:/usr/local/tomcat/webapps/newoa"
第一步先进入文件夹 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 结束后就不往下执行了,虽然不知道是什么原因导致的但是我的办理方法就是将这些命令给一个一个拆分掉:这里的执行都是同步的,当上一个结束才会进行下一步。
我现在是如许执行的记得每次都需要进入文件后执行。
这里实在就已经根本完成了,但是到最后一步构建完成后复制到linux文件夹内会卡主,这是因为windows访问linux文件夹需要暗码卡主等待输入暗码呢。参考文档:
1、Windows免密访问linux服务器
2、windows服务器和linux服务器的ssh免密登录失败的办理方案
其他文档:
访问linux
这里有一个坑就是windows天生的公匙一定要使用windows命令来写入到linux中!!!
就是添加公匙这一步。反正核心就是办理windows通过ssh访问linux时免密的问题
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |