Amazon web services 如何将正确的项目路径传递给bitbucket管道?
我想使用bit桶管道部署aws lamda.net核心项目 我已经创建了bitbucket-pipelines.yml,如下所示,但在构建运行后出现错误- MSBUILD:错误MSB1003:指定项目或解决方案文件。当前工作目录不包含项目或解决方案文件 文件代码-Amazon web services 如何将正确的项目路径传递给bitbucket管道?,amazon-web-services,aws-lambda,bitbucket,continuous-deployment,bitbucket-pipelines,Amazon Web Services,Aws Lambda,Bitbucket,Continuous Deployment,Bitbucket Pipelines,我想使用bit桶管道部署aws lamda.net核心项目 我已经创建了bitbucket-pipelines.yml,如下所示,但在构建运行后出现错误- MSBUILD:错误MSB1003:指定项目或解决方案文件。当前工作目录不包含项目或解决方案文件 文件代码- image: microsoft/dotnet:sdk pipelines: default: - step: caches: - dotnetcore script:
image: microsoft/dotnet:sdk
pipelines:
default:
- step:
caches:
- dotnetcore
script: # Modify the commands below to build your repository.
- export PROJECT_NAME=TestAWS/AWSLambda1/AWSLambda1.sln
- dotnet restore
- dotnet build $PROJECT_NAME
- pipe: atlassian/aws-lambda-deploy:0.2.1
variables:
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_DEFAULT_REGION: 'us-east-1'
FUNCTION_NAME: 'my-lambda-function'
COMMAND: 'update'
ZIP_FILE: 'code.zip'
项目结构是这样的-
问题在于:
项目名称=TestAWS/AWSLambda1/AWSLambda1.sln
这是错误的路径。Bitbucket管道将使用Docker映像中的一个特殊路径,如/opt/atlassian/Pipelines/agent/build/YOUR_PROJECT,对项目进行Git克隆
单击Pipelines web控制台中的Build Setup(生成设置)步骤时,您可以看到:
Cloning into '/opt/atlassian/pipelines/agent/build'...
您可以使用预定义的环境变量检索此路径:$BITBUCKET\u CLONE\u DIR,如下所述:
在您的yml构建脚本中考虑如下内容:
脚本:
-echo$BITBUCKET\u CLONE\u DIR调试:打印$BITBUCKET\u CLONE\u DIR
-pwd调试:打印当前工作目录
-find$pwd-P-name AWSLambda1.sln调试:显示AWSLambda1.sln的完整文件路径
-导出项目名称=$BITBUCKET\u克隆\u目录/AWSLambda1.sln
-echo$PROJECT\u名称
-如果[-f$项目名称];然后回波文件存在;fi
如果文件路径不符合预期,请尝试此操作
-导出项目名称=$BITBUCKET\u克隆\u目录/AWSLambda1/AWSLambda1.sln
-echo$PROJECT\u名称
-如果[-f$项目名称];然后回波文件存在;fi
问题在于:
项目名称=TestAWS/AWSLambda1/AWSLambda1.sln
这是错误的路径。Bitbucket管道将使用Docker映像中的一个特殊路径,如/opt/atlassian/Pipelines/agent/build/YOUR_PROJECT,对项目进行Git克隆
单击Pipelines web控制台中的Build Setup(生成设置)步骤时,您可以看到:
Cloning into '/opt/atlassian/pipelines/agent/build'...
您可以使用预定义的环境变量检索此路径:$BITBUCKET\u CLONE\u DIR,如下所述:
在您的yml构建脚本中考虑如下内容:
脚本:
-echo$BITBUCKET\u CLONE\u DIR调试:打印$BITBUCKET\u CLONE\u DIR
-pwd调试:打印当前工作目录
-find$pwd-P-name AWSLambda1.sln调试:显示AWSLambda1.sln的完整文件路径
-导出项目名称=$BITBUCKET\u克隆\u目录/AWSLambda1.sln
-echo$PROJECT\u名称
-如果[-f$项目名称];然后回波文件存在;fi
如果文件路径不符合预期,请尝试此操作
-导出项目名称=$BITBUCKET\u克隆\u目录/AWSLambda1/AWSLambda1.sln
-echo$PROJECT\u名称
-如果[-f$项目名称];然后回波文件存在;fi