Как загрузить файлы на FTP-сервер, используя Azure конвейеры? - PullRequest
0 голосов
/ 12 марта 2020

СИТУАЦИЯ

Я хочу загрузить свою версию сборки в виде файла .zip на мой FTP-сервер

для этого сценария, давайте предположим, что это моя среда.

тип приложения: Консоль

папка, которую я хочу загрузить: $ (System.DefaultWorkingDirectory) /CompanyName.ProjectName.Console/bin/Release

хост моего ftp-сервера: ftp: //00.00.00.00: 21 / folderTest

ftp username: MyUsername

пароль ftp: MyPassword

для Azure агент: я позволил этому (168.63.129.16) ip-адресу иметь возможность общаться с моим ftp сервер

azure конвейеры

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- publish: $(System.DefaultWorkingDirectory)/CompanyName.ProjectName.Console/bin/Release
  artifact: CompanyName Project Name

- task: FtpUpload@2
  displayName: 'FTP Upload'
  inputs:
    credentialsOption: inputs
    serverUrl: 'ftp://00.00.00.00:21'
    username: MyUsername
    password: MyPassword
    rootDirectory: '$(System.DefaultWorkingDirectory)/CompanyName.ProjectName.Console/bin/Release'
    remoteDirectory: '/folderTest'
    trustSSL: true

ПРОБЛЕМА

следующие ошибки происходят, когда я фиксирую (для целей тестирования) что-то.

## [ошибка] Ошибка: подключить ETIMEDOUT 00.00.00.00:21 (управляющий разъем)

## [ошибка] Ftp Загрузка не удалась

1 Ответ

0 голосов
/ 13 марта 2020

[ошибка] Ошибка: подключите ETIMEDOUT 00.00.00.00:21 (сокет управления)

Я воспроизвел ту же проблему и подтвердил, что эта проблема больше связана с вашим FTP-сервером.

Поскольку вы используете агент, размещенный в Microsoft, который не находится в той же сети, что и ваша виртуальная машина, где существует FTP-сервер, вы должны убедиться, что ваш ftp-сервер может быть доступен из внешней сети. , В противном случае ожидаемое поведение приведет к ошибке ниже:

enter image description here

Мы можем легко создать ftp-сервер, доступ к которому может быть внутренняя сеть , Но чтобы сделать его доступным из внешней сети, нам нужно проделать дополнительную работу. Вы можете получить полезную информацию из этого номера .

(В Интернете легко найти много сопутствующих документов о том, как сделать локальный ftp-сервер доступным из внешней / внешней сети или Inte rnet, поэтому я не буду много говорить о них здесь ...)

Вот два возможных решения:

1.Установите агент self-hosted в вашей виртуальной машине, где существует FTP-сервер, затем вызовите self-hosted агент вместо Microsoft (vmImage: 'windows-latest') агент для выполнения ваших заданий. Поскольку самоагент находится в той же сети, что и FTP-сервер, конвейер сборки может быть успешным.

2. Сконфигурируйте ваш ftp-сервер, чтобы сделать его доступным из внешней сети.

...