.net core jenkins持续集成

 执行 Shell

pwd
ls
echo ${PATH}
whoami
which dotnet
dotnet --info
dotnet --version
 
 
echo '============================begin restore======================================='
dotnet restore
echo '============================begin build========================================='
#dotnet build -c:Release --no-incremental
rm -rf ${WORKSPACE}/jenkins_publish
mkdir ${WORKSPACE}/jenkins_publish
 
dotnet publish -r centos.7-x64 -c:Release -o ${WORKSPACE}/jenkins_publish
 
#把服务启动脚本拷贝到打包目录
if [ ! -f "${WORKSPACE}/jenkins_publish/project.service" ]; then
touch ${WORKSPACE}/jenkins_publish/project.service
#echo "123" > ${WORKSPACE}/jenkins_publish/project.service
#生成启动服务
echo "[Unit]
Description=.NET Core ProjectService
 
[Service]
WorkingDirectory=/data/dotnet_web/${JOB_NAME}
ExecStart=/usr/bin/dotnet /data/dotnet_web/${JOB_NAME}/Web.dll
Restart=always
RestartSec=10
SyslogIdentifier=ProjectApp
User=root
Environment=ASPNETCORE_ENVIRONMENT=Test
 
[Install]
WantedBy=multi-user.target" > ${WORKSPACE}/jenkins_publish/project.service
 
fi
 
echo '============================发布到服务器=========================================='
#cp -r ${WORKSPACE}/jenkins_publish/* /home/netcore/project/
 
#创建打包路径,并对当前代码进行打包
if [ ! -d "${WORKSPACE}/tar" ]; then
mkdir -p ${WORKSPACE}/tar
fi
 
#清空tar目录下文件
rm -rf ${WORKSPACE}/tar/${JOB_NAME}-*.tar.gz
cd ${WORKSPACE}/jenkins_publish
tar -zcf ${WORKSPACE}/tar/${JOB_NAME}-${BUILD_ID}.tar.gz ./* --exclude=./tar --exclude=./.git --exclude=./.gitignore

 SSH Publishers

#创建项目版本目录
if [ ! -d "/data/release/${JOB_NAME}/${BUILD_ID}" ]; then
  mkdir -p /data/release/${JOB_NAME}/${BUILD_ID}
fi
#解压包
tar -zxf /data/release/${JOB_NAME}/${JOB_NAME}-${BUILD_ID}.tar.gz -C /data/release/${JOB_NAME}/${BUILD_ID}/ --exclude=./.git*
#删除压缩包
rm -rf /data/release/${JOB_NAME}/${JOB_NAME}-${BUILD_ID}.tar.gz
#更新web软连接
rm -rf /data/dotnet_web/${JOB_NAME}
ln -sf /data/release/${JOB_NAME}/${BUILD_ID} /data/dotnet_web/${JOB_NAME}
#修改站点属主和权限
chown root:root -R  /data/dotnet_web/${JOB_NAME}/
#删除/data/release 下的多余版本目录(默认设置保留2版)
cd  /data/release/${JOB_NAME}/
if [ "ls /data/release${JOB_NAME}/ | wc -l" > "${keep_num}" ]; then
  ls -lt  | awk '{if($9<=("${BUILD_ID}"-"${keep_num}")){print $9}}' | xargs rm -rf
fi
#部署启动服务
if [ ! -f "/usr/lib/systemd/system/project.service" ]; then
  cp /data/dotnet_web/${JOB_NAME}/project.service /usr/lib/systemd/system/
fi
systemctl restart project.service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值