jenkins上发布项目后将文件推送到另一台服务器build镜像
1、配置jenkins
1)主页面点击manage jenkins
2) 选择SystemConfiguration
3) 配置服务器信息,注意密码一定要输入对,还有端口有,一般是默认的22端口,但有的不是默认的22端口,配置好后记得点一下test看是否连接成功
4)配置插件:publish-over-ssh、MSBuild Plugin、.NET SDK Support、Localization: Chinese (Simplified)
如何安装插件及安装报错请参照我另我篇博客:
2、jenkins写项目的自动发布脚本
如果你jenkins是部署在windows上,一定要在构建的部分选择windows batch command
命令主要作如下的几件事件:
1)、删除原来的发布目录
2)、定位到web项目后发布项目
3)、判断压缩文件是否存在,如果存在则删除
4)、压缩发布目录
dotnet --version rd /s /q Oms-Microservice\applications\Jzt.Spd.Web\bin\Release\net5.0\publish cd Oms-Microservice\applications\Jzt.Oms.Web dotnet clean dotnet publish -c:Release echo '编译完成,开始压缩文件' cd bin\Release\net5.0 if exist "omsweb-dev.zip" (del omsweb-dev.zip) E:\7z\7-Zip\7z.exe a -tzip omsweb-dev.zip publish echo '压缩完成'
注意:如果打包用的服务器没有外网,是自己项目中的包,那publish这样写:dotnet publish --source D:\apache-tomcat-9.0.80\webapps\jenkins\workspace\spd-web\nugetpackge -c:Release
其中,--source参数后的文件为工作路径
选择Send build artifacts over SSH ,将发布目录推送到指定的服务器,并执行build 成docker 镜像的脚本
注意:SSH Publishers在高级后选中如下的选项
注意:如果连接服务器时间不够请在Transfers高级后改为300000,默认是120000
在另一台linux上要执行的脚本如下;
主要是登录到镜像仓库,build镜像,并将镜像上传到镜像仓库
常见问题:
1、Filename too long
解决方案一:
直接在jenkins服务器上右键---->git bash here --->执行命令:git config --global core.longpaths true
解决方案二:
1)安装Environment Injector插件
2)jenkins新建item选择自由风格项目
3)选择Prepare an environment for the run
4)勾选 Keep Jenkins Environment Variables 和 Keep Jenkins Build Variables
5)Script Content框内加入: git config --global core.longpaths true
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!