CT1*_*.IT 4 azure-devops azure-pipelines vite
我有一个 vite/svelte 项目,它使用.env文件进行环境设置。我还有一个 Azure Pipeline,其中包含一个安全文件,.env.staging该文件位于关联存储库的 .gitignore 列表中。我想下载这个安全文件,将其复制到我的构建目录,然后在运行时读取其内容vite build --mode staging(好吧,npm run build:staging其中包括 vite build...)
当从我的机器本地运行时npm run build:staging按预期工作并读取.env.staging文件,但是,在管道中使用时它似乎被忽略,我做错了什么吗?
这是我的 YML:
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
steps:
- task: DownloadSecureFile@1
name: "dotenvStaging"
inputs:
secureFile: '.env.staging'
displayName: "Download .env.staging"
- task: NodeTool@0
inputs:
versionSpec: 14.15.4
displayName: "Install Node.JS"
- task: CopyFiles@2
inputs:
contents: "$(Agent.TempDirectory)/.env.staging"
targetFolder: "$(Agent.BuildDirectory)"
displayName: "Import .env.staging"
- script: npm install
displayName: "npm install"
- script: npm run build:staging
displayName: "npm run build:staging"
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: 'dist'
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
#replaceExistingArchive: true
#verbose: # Optional
#quiet: # Optional
displayName: "Create archive"
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
ArtifactName: 'drop'
publishLocation: 'Container'
displayName: "Publish archive"
Run Code Online (Sandbox Code Playgroud)
我不确定是否CopyFiles@2正在做我期望的事情,因为它只是匹配content复制任何匹配文件的参数,如果我写错了,它可能是 0...
另一方面,我也尝试使用$(dotenvStaging.secureFilePath)作为内容参数,但它似乎也没有做任何事情。
当然,我一发布就发现,我需要更新 CopyFiles 部分以指定 sourceFolder,显然它不喜欢我的内容的绝对文件路径。
- task: CopyFiles@2
inputs:
sourceFolder: "$(Agent.TempDirectory)"
contents: ".env.staging"
targetFolder: "$(Agent.BuildDirectory)"
displayName: "Import .env.staging"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3793 次 |
| 最近记录: |