五、Jenkins系列_使用scp命令进行远程文件复制遇到的坑

一、场景介绍

项目为微服务项目,使用jenkins进行统一部署。基本思路是
1. 在jenkins服务器上使用git插件拉取项目代码
2. 使用gradle进行打包
3. 将打好的jar包使用scp远程复制到部署服务器上
4. 执行远程shell脚本启动jar包项目

二、坑

scp命令copy文件时需要输入密码,然而shell脚本中对密码输入的处理还是很麻烦的。有以下两种方式:

1.使用密码插件,自动输入密码

2.使服务器之间相互信任,这样scp命令就不需要输入密码了

第一种方式,网上搜了下,感觉很麻烦,就没有去尝试了。第二种方式的配置过程如下:

1.复制jenkins服务器用户目录下的.ssh/id_rsa.pub中的内容

(没有这个文件的话可以网上查查怎么生成)。

cat ~/.ssh/id_rsa.pub
2.将上面复制的内容添加到应用服务器(也就是需要远程部署应用的服务器)的.ssh/authorized_keys文件中。

一般这个文件初始都是空的,直接使用vim命令复制进去就好。

#如果文件是空的可以直接使用以下命令复制进去
echo 复制的内容 >> ~/.ssh/authorized_keys

这个时候环境配置就准备好了。

3.这个时候使用jenkins构建时,仍然失败,提示权限不够,这就是坑。

原因:虽然我们已经配置了相许信任,但是第一次使用scp命令需要先自己手动在shell中端中执行一次才可以。那么我们使用scp随意复制个文件过去,输入密码。

之后再用jenkins复制文件就免输密码了。

1. 安装.NET Core SDK 在Jenkins使用.NET Core编译项目之前,需要先安装.NET Core SDK。可以在官方网站下载适合您的操作系统的SDK。 2. 安装Jenkins插件 使用Jenkins进行.NET Core编译需要安装MSBuild插件。可以在Jenkins插件管理器中搜索并安装该插件。 3. 配置工具路径 在Jenkins中配置.NET Core SDK的路径非常重要。在Jenkins管理界面中,选择“系统设置”,找到“.NET Core SDK”并配置SDK的路径。确保SDK路径指向正确的目录。 4. 配置构建步骤 在Jenkins中配置构建步骤时,需要使用“MSBuild”构建步骤。将项目的.csproj文件作为参数传递给MSBuild构建步骤,如下所示: ``` msbuild.exe /t:restore msbuild.exe /t:build /p:Configuration=Release /p:OutputPath=<path to publish output> /p:PublishProfile=<path to publish profile> <path to project file> ``` 其中,“/t:restore”用于还原项目依赖项,“/t:build”用于编译项目,“/p:Configuration=Release”指定编译配置为Release,“/p:OutputPath=<path to publish output>”指定发布输出路径,“/p:PublishProfile=<path to publish profile>”指定发布配置文件路径,“<path to project file>”指定项目文件路径。 5. 配置发布 在Jenkins中配置自动发布非常简单。只需使用“Publish over SSH”插件将构建输出文件上传到目标服务器即可。 6. 配置IIS 在将应用程序部署到IIS时,需要做一些额外的配置。确保在IIS中创建应用程序池,并将.NET Core的版本设置为与安装的SDK版本相同。还需要安装.NET Core Hosting Bundle,以便IIS能够正确地运行.NET Core应用程序。 总结 .NET Core是一个非常好的开发框架,但在使用Jenkins进行部署时,需要注意一些细节。通过正确地安装和配置.NET Core SDK、Jenkins插件和IIS,可以轻松地使用Jenkins部署.NET Core应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值