Конвейеры: невозможно опубликовать sh файл из каталога артефактов - PullRequest
0 голосов
/ 25 января 2020

У меня есть этот файл конвейера, где я создаю файл exe из приложения Electron. В конце я публикую выпуск Github с файлом результата (по крайней мере, я так пытаюсь). Проблема в том, что файл exe не найден при выполнении релиза.

-   job: Release
    dependsOn:
        - WindowsBuild
    pool:
        vmImage: 'ubuntu-latest'
    steps:
        -   bash:
                echo "##vso[task.setvariable variable=GIT_TAG]$(git describe --tags --always)"
            displayName: "Set the tag name"

        -   task: DownloadPipelineArtifact@2
            inputs:
                artifact: 'Windows'
                path: $(Build.ArtifactStagingDirectory)

        -   bash:
                ls -la '$(Build.ArtifactStagingDirectory)'
            displayName: "List artifacts dir"

        -   task: GitHubRelease@1
            displayName: "Github release"
            inputs:
                gitHubConnection: 'github connection'
                repositoryName: '$(Build.Repository.Name)'
                assets: |
                    '$(Build.ArtifactStagingDirectory)/app.exe'
                action: 'edit'
                target: '$(Build.SourceVersion)'
                tagSource: gitTag
                tag: '$(GIT_TAG)'
                addChangeLog: true
                assetUploadMode: replace
                changeLogCompareToRelease: lastNonDraftRelease
                title: 'Release $(GIT_TAG)'

Как видите, одна из выполняемых мной задач - ls -la '$(Build.ArtifactStagingDirectory)', поэтому я могу видеть, что находится в ArtifactStagingDirectory:

Starting: List artifacts dir
==============================================================================
Task         : Bash
Description  : Run a Bash script on macOS, Linux, or Windows
Version      : 3.159.3
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/bash
==============================================================================
Generating script.
Script contents:
ls -la '/home/vsts/work/1/a'
========================== Starting Command Output ===========================
/bin/bash --noprofile --norc /home/vsts/work/_temp/4a24644d-728f-4a2a-a7d9-12a5de01f75d.sh
total 70480
drwxr-xr-x 2 vsts docker     4096 Jan 25 17:15 .
drwxr-xr-x 6 vsts docker     4096 Jan 25 17:14 ..
-rw-r--r-- 1 vsts docker 72161249 Jan 25 17:15 app.exe

Finishing: List artifacts dir

Файл app.exe присутствует. Следующее задание - GitHubRelease, в котором указанный актив имеет значение '$(Build.ArtifactStagingDirectory)/app.exe', которое .... не найдено:

Starting: Github release
==============================================================================
Task         : GitHub Release
Description  : Create, edit, or delete a GitHub release
Version      : 1.160.2
Author       : Microsoft Corporation
Help         : https://aka.ms/AA5vv5o
==============================================================================
b1a3412a-0bb2-48a8-8dfc-bc2109012f38 exists true
Computing changes made in this release...
Fetching the latest non-draft release...
Found the latest non-draft release
Fetching the list of commits since the last published release...
Found the list of changes.
Changes computed successfully.
Release notes file: /home/vsts/work/1/s is a directory and not a file.
Fetching the release for tag: v0.0.28
##[warning]No existing release was found to edit. Creating one with the tag: v0.0.28
Creating a release for tag: v0.0.28
Uploading assets...
Searching for file(s) matching ''/home/vsts/work/1/a/app.exe''.
No files found matching ''/home/vsts/work/1/a/app.exe''. Nothing to upload.
All assets uploaded successfully.
Release created successfully at https://github.com/app/desktop/releases/tag/v0.0.28
Finishing: Github release

Есть идеи, что я здесь делаю не так>?

1 Ответ

2 голосов
/ 26 января 2020

Попробуйте удалить одинарные кавычки из этой строки в YAML

assets: |
         '$(Build.ArtifactStagingDirectory)/app.exe'

Похоже, это интерпретируется с одинарными кавычками.

Uploading assets...
Searching for file(s) matching ''/home/vsts/work/1/a/app.exe''

Я видел это на других Azure задачах DevOps при использовании | для многострочного формата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...