Jenkins 部署打包文件 并通过SSH上传到 linux服务器

最近在尝试打包编译部署.net环境到 linux服务器中,遇到一些疑点和麻烦,主要是自动开启站点的时候,ssh连接老是没有返回,下面具体操作如下。

一 编译 发布 打包成zip文件 

 

 


dotnet clean : dotnet的命令清除解决方案

dotnet build : dotnet的命令重新生成

dotnet publish .\Hy.MyDemo.sln -c release -o WebSite
cd WebSite
del /F/Q appsettings.json : 这里不需要appsetiing
del /F/Q appsettings.Production.json
del /F/Q appsettings.Development.json

rd /s /q C:\publish\Rar
md C:\publish\Rar
cd C:\Program Files\WinRAR

WinRAR m -r -ep1 "C:\publish\Rar\website.zip" "C:\publish\WebSite" : 压缩时候需要下载winrar 工具

二 下载ssh 插件

 

三 配置SSH用户名密码 

 

四 构建操作 发送到 linux服务器

 

 

killall /snap/dotnet-sdk/109/dotnet
cd GameWebSite/Rar
unzip -o -d ../ website.zip
cd ..
chomd 777 demo.sh
sh demo.sh

 

demo.sh文件内容如下:

#!/bin/bash
cd WebSite
dotnet Hy.Fantasy.Web.dll --urls http://0.0.0.0:5009 &

不会linux命令的同学,可能会把Windows文件改下名字,直接拷贝过去,因换行符问题导致sh文件无法执行。

下面介绍一下新建文件并写入文件的基本命令

vim test.sh 新建一个文件 并打开

找到光标并可以输入的时候 输入 

#!/bin/bash
cd WebSite
dotnet Hy.Fantasy.Web.dll --urls http://0.0.0.0:5009 &

接下来就是保存了,按一下 Esc没有光标后 按shift 键 + : 键 在最后一行出现光标 输入 wq 则文件 保存退出

 

 

 

 后面的同学发现,运行dotnet命令后导致任务一直没有结束 报超时,

报错信息为 

ERROR: Exception when publishing, exception message [Exec timed out or was interrupted after 120,005 ms]
Build step 'Send files or execute commands over SSH' changed build result to UNSTABLE

 

 

但是站点已经启动,这个时候我们把

sh demo.sh 这个命令改成  sh demo.sh > /dev/null 2>&1 & 发现构建任务成功

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值