如何使用 TFS/GIT 创建将部署到非 Azure ftp 的构建管道?
How do I create a build pipeline using TFS/GIT that will deploy to non Azure ftp?
我想创建一个构建管道,以便当我签入 tfs-git 时,构建的应用程序将部署到 ftp。
ftp 站点不在 Azure 上,我有自己的外部主机。
我的管道成功构建了应用程序,但现在我需要将其部署到外部 FTP 站点。
我已经尝试了一段时间,但找不到任何说明或详细信息来执行此操作,有人可以帮忙吗?
任何人都可以指出一些对我有帮助的文章吗?
我要
- 推送到 Git
(完成)
- 触发构建
(完成)
- 创建发布文件
(不知道)
- 将发布文件复制到我的 FTP(非 Azure)
(Ftp 有效但看不到如何 select 发布目录)
有一个 FTP Upload task,您可以使用此任务使用文件传输协议 (FTP) 或使用 FTPS 安全地将文件上传到远程计算机。
您可以选择将构建生成的工件发布到 Azure DevOps 服务器端放置文件夹,然后使用发布管道将它们上传到远程 ftp 服务器。
建议你看看这个step-by-step教程:Use FTPS to deploy your WebApp using Azure DevOps
你也可以看看下面类似的问题:
为确保远程FTP服务器与Azure DevOps build/release代理之间的连接,请注意以下部分:
The Microsoft Hosted IP address is dynamic. You need to download the
weekly JSON file and add IP ranges to your server.
More information, please refer to: To identify the possible IP ranges
for Microsoft-hosted agents
对于您的场景,我建议您可以设置一个 self-hosted/private agent,然后在此代理上执行 build/release。这样,你只需要将代理机器的IP添加到你的服务器即可。
我终于搞定了
publish 参数需要在参数前加上“--”
如果您复制和粘贴命令,还要注意‘和’卷曲单引号
# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
pool:
vmImage: 'windows-2019'
variables:
buildConfiguration: 'Release'
steps:
- script: dotnet build --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: Publish
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
zipAfterPublish: True
- task: FtpUpload@2
displayName: 'FTP Upload'
inputs:
credentialsOption: inputs
serverUrl: 'xxxxxxxx'
username: 'xxxxxx'
password: 'xxxxxxxx'
remoteDirectory: '/'
trustSSL: true
cleanContents: true
rootDirectory: $(Build.artifactstagingdirectory)
我想创建一个构建管道,以便当我签入 tfs-git 时,构建的应用程序将部署到 ftp。
ftp 站点不在 Azure 上,我有自己的外部主机。
我的管道成功构建了应用程序,但现在我需要将其部署到外部 FTP 站点。
我已经尝试了一段时间,但找不到任何说明或详细信息来执行此操作,有人可以帮忙吗?
任何人都可以指出一些对我有帮助的文章吗?
我要
- 推送到 Git (完成)
- 触发构建 (完成)
- 创建发布文件 (不知道)
- 将发布文件复制到我的 FTP(非 Azure) (Ftp 有效但看不到如何 select 发布目录)
有一个 FTP Upload task,您可以使用此任务使用文件传输协议 (FTP) 或使用 FTPS 安全地将文件上传到远程计算机。
您可以选择将构建生成的工件发布到 Azure DevOps 服务器端放置文件夹,然后使用发布管道将它们上传到远程 ftp 服务器。
建议你看看这个step-by-step教程:Use FTPS to deploy your WebApp using Azure DevOps
你也可以看看下面类似的问题:
为确保远程FTP服务器与Azure DevOps build/release代理之间的连接,请注意以下部分:
The Microsoft Hosted IP address is dynamic. You need to download the weekly JSON file and add IP ranges to your server.
More information, please refer to: To identify the possible IP ranges for Microsoft-hosted agents
对于您的场景,我建议您可以设置一个 self-hosted/private agent,然后在此代理上执行 build/release。这样,你只需要将代理机器的IP添加到你的服务器即可。
我终于搞定了 publish 参数需要在参数前加上“--” 如果您复制和粘贴命令,还要注意‘和’卷曲单引号
# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
pool:
vmImage: 'windows-2019'
variables:
buildConfiguration: 'Release'
steps:
- script: dotnet build --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: Publish
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
zipAfterPublish: True
- task: FtpUpload@2
displayName: 'FTP Upload'
inputs:
credentialsOption: inputs
serverUrl: 'xxxxxxxx'
username: 'xxxxxx'
password: 'xxxxxxxx'
remoteDirectory: '/'
trustSSL: true
cleanContents: true
rootDirectory: $(Build.artifactstagingdirectory)