首页 > 系统相关 >Windows的Gitlab Runner搭配的PowerShell脚本:发布传统ASP.NET Web应用程序

Windows的Gitlab Runner搭配的PowerShell脚本:发布传统ASP.NET Web应用程序

时间:2024-06-21 10:54:10浏览次数:29  
标签:Web ci ASP Windows project msbuild file path dir

简介

Gitlab Runner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓库根目录下的.gitlab-ci.yml不需要改动,我们一共编写了6个PowerShell脚本,和1个适配Directory.Build.props技术的windows批处理文件。

发布网站

function Build-Web {
	param (
		[string]$msbuild_dir,
		[string]$ci_project_dir,
		[string]$project_path,
		[string]$web_output_path
	)

$project_file = $ci_project_dir + "\\" + $project_path
if(( $project_path -like "/*") -or ($project_path -like "\\*")){
	$project_file = $ci_project_dir + $project_path
}
echo "项目文件"$project_file
echo "版本号"$version
echo "网站输出路径"$web_output_path

cd $ci_project_dir
COPY-ITEM -PATH 'x:/gitlab-runner/scripts/download.bat' -Destination .
.\download.bat

if ($LASTEXITCODE -ne 0)  {
	throw "下载Directory.Build.props及其相关文件时出错。"
}

dotnet nuget locals http-cache -c

$exePath = $msbuild_dir + "\\msbuild.exe"
if(Test-Path -Path $exePath){
}
else
{
	throw "MSBuild.exe directory not found:" + $msbuild_dir
}
cd $msbuild_dir

.\msbuild -restore $project_file /v:m
 if ($LASTEXITCODE -ne 0) {
	throw "还原项目时出错:" + $project_file
}

cd X:\gitlab-runner\tools\binding-redirect-helper
.\BindingRedirect check --project:$project_file --save:true
if ($LASTEXITCODE -ne 0) {
	throw "自动更新web.config中的绑定重定向时时出错:" + $project_file
}
cd $msbuild_dir

.\msbuild $project_file /t:ResolveReferences /t:Compile /p:configuration="Release" /p:ReferencePath=X:\study\ErpFiles /t:_CopyWebApplication /p:WebProjectOutputDir=$web_output_path /p:OutputPath=$web_output_path"\bin" /v:m



Exit $LASTEXITCODE
}

标签:Web,ci,ASP,Windows,project,msbuild,file,path,dir
From: https://www.cnblogs.com/amisoft/p/18260122/publish-aspnet-web-application-in-gitlab-runner

相关文章

  • 准入控制器(Admission Controller):ResourceQuota,ImagePolicyWebhook
    目录一.系统环境二.前言三.准入控制器简介四.为什么需要准入控制器五.启用/禁用ResourceQuota资源配额5.1查看默认启用/禁用的准入控制器插件5.2ResourceQuota资源配额示例5.3禁用ResourceQuota六.配置ImagePolicyWebhook准入控制器禁止使用后缀为latest的镜像6.1搭建Webhook......
  • Web渗透:XSS-DOM-based XSS
    DOM-basedXSS(基于DOM的跨站脚本攻击)是一种XSS攻击类型,其特点是恶意脚本通过操作文档对象模型(DOM)直接在客户端执行,而无需经过服务器的处理。这种攻击主要利用客户端JavaScript代码中的漏洞,使得攻击者能够在浏览器中注入并执行恶意代码。DOM的基本概念文档对象模型(DOM,Document......
  • Windows11系统win32ui.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个win32ui.dll文件(挑选合适的版本文件)把它放......
  • Windows11系统WESL_ShellLauncher.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个WESL_ShellLauncher.dll文件(挑选合适的版本......
  • windows安装MySQL
    windows安装MySQL1.下载MySQL的安装包这里以mysql5.7.35为例进行安装演示用安装包放在下面mysql-5.7.35-winx64.zip2.解压安装包到需要安装的路径3.在解压的文件中创建my.ini[mysqld]basedir=MySQL路径\datadir=MySQL路径\data\port=3306skip-grant-tables4.安装My......
  • windows/linux下JDK安装配置教程
    JDK安装配置教程前言一、jdk下载1.本人资源下载2.官网下载2.1进入java下载页2.2选择版本并下载二、windows1.解压版(最简单、快捷)1.1版本信息1.2解压1.3完成2.安装版2.1版本信息2.2开始安装2.3安装完成三、Linux1.解压版(最简单、快捷)1.1版本信息1.2......
  • webman admin 控件的使用 如何修改富文本控件的高度
    如何修改富文本控件的高度把控件类型为富文本的控件参数设置为height:300,则会生成一个300高度的tinymcetinymce.init({selector:'textarea',//changethisvalueaccordingtoyourHTMLheight:300});你也可以将其他的tinymce设置添加进这个控件参数当中,......
  • Windows删除服务
    删除的是文件管理器里的服务如何进入右击此电脑,选择管理(没看到管理的话点击显示更多选项)进入计算机管理  进入计算机管理后选择服务和应用程序双击服务 要删除的就是这里的服务 ——————————如何删除参考——https://www.sysgeek.cn/windows-delete-servi......
  • 计算机科学:深入探讨 Windows x86 仿真层 Prism
    引言在计算技术飞速发展的今天,硬件和软件之间的兼容性问题一直是一个重要的课题。Windowsx86仿真层Prism是微软为解决这一问题而推出的重要技术。本文将详细介绍Windowsx86仿真层Prism的背景、技术实现和应用场景,并探讨其未来发展方向。什么是Windowsx86仿真......
  • 大模型培训 AUTOWEBGLM:自动网页导航智能体
     大语言模型(LLMs)在智能代理任务中发挥着重要作用,尤其是在网络导航方面。然而,现有的代理在真实世界的网页上表现不佳,主要原因网络导航代理面临着三大挑战:网页上行动的多样性、HTML文本的处理限制以及开放领域决策的复杂性。为了克服这些挑战,AUTOWEBGLM采用了基于ChatGLM3-6B模......