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


posted @ 2023-10-10 15:30  爱生活,爱代码  阅读(1272)  评论(0编辑  收藏  举报