我是第一次使用Azure VM(Linux,Ubuntu 18),并且Ive的任务是为简单网站的持续开发设置管道/版本
它应该像这样工作:当将master分支提交到Azure时,自动运行管道并释放以将其部署到VM中的目录(其中不涉及构建,是一个简单的Wordpress站点)
我设法使它像这样工作:
然后执行以下操作的发布管道:
它正在工作,但是确实不错。存在一些明显的问题:
所以我想要的是一种将git commit与站点目录同步,仅覆盖已更改的文件并删除所有已删除文件,忽略.git-ignore等上的文件和目录的方法
看起来很简单(我知道如何使用git hooks做到这一点),但是我只是找不到在Azure DevOps中做到这一点的方法
有可能吗?谁能给我指示?
答案 0 :(得分:1)
Azure发布管道:通过提交同步文件
Azure devops构建/发布不支持仅构建/发布已更改的文件,因为仅构建/发布已更改的文件并不总是有意义,也无法归档项目打算发布的内容。
但是我们可以每次比较上传/发布文件->与新提交的信息进行比较->仅发布更改的文件:
嵌入式Powershell:
cd $(System.DefaultWorkingDirectory)
get-childitem $(System.DefaultWorkingDirectory) -recurse | Foreach {
$lastupdatetime=$_.LastWriteTime;
$nowtime=get-date;
if(($nowtime - $lastupdatetime).totalhours -le 48) {
Write-Host $_.fullname
}
else{
remove-item $_.fullname -Recurse -Force
}
}
以上powershell脚本将列出过去48小时内已修改的所有文件。
您可以查看this thread了解更多详细信息。