如何将bash命令的输出保存到github操作中的output参数
这与所询问的内容类似,但有更多的解释,并希望得到最新的答案(答案使用set env,现在已弃用) 假设我有以下github操作yaml:如何将bash命令的输出保存到github操作中的output参数,github,github-actions,Github,Github Actions,这与所询问的内容类似,但有更多的解释,并希望得到最新的答案(答案使用set env,现在已弃用) 假设我有以下github操作yaml: name: pull-request-pipeline on: [pull_request] jobs: deploy-to-dev-and-test: runs-on: ubuntu-latest steps: - name: Checkout action uses: actions/checkout@v2
name: pull-request-pipeline
on: [pull_request]
jobs:
deploy-to-dev-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout action
uses: actions/checkout@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Update API gateway definitions
run: |
aws apigateway put-rest-api --rest-api-id xxxxxxxx --mode merge --body 'file://SummitApi.yaml'
- name: Get and store current deploymentId
run: |
OLD_DEPLOYMENT_ID=$(aws apigateway get-stage --rest-api-id xxxxxxxx --stage-name dev --query deploymentId --output text)
echo '::set-output name=OLD_DEPLOYMENT_ID::$OLD_DEPLOYMENT_ID'
id: old-deployment-id
- name: Echo old deployment before deploy
run: |
echo ${{ steps.old-deployment-id.outputs.OLD_DEPLOYMENT_ID }}
- name: Deploy to dev stage
run: |
aws apigateway create-deployment --rest-api xxxxxxxx --stage-name dev
- name: Echo old deployment id after deploy
run: |
echo ${{ steps.old-deployment-id.outputs.OLD_DEPLOYMENT_ID }}
运行时,会产生以下结果:
当采用另一种方法时,具体地将获取并存储当前部署ID
步骤更改为:
- name: Get and store current deploymentId
run: |
OLD_DEPLOYMENT_ID=$(aws apigateway get-stage --rest-api-id xxxxxxxx --stage-name dev --query deploymentId --output text)
echo '::set-output name=OLD_DEPLOYMENT_ID::$OLD_DEPLOYMENT_ID'
id: old-deployment-id
我得到以下信息:
它似乎将操作的输出值设置为$OLD\u DEPLOYMENT
或$(aws apigateway get stage--rest api id xxxxxxxx--stage name dev--query deploymentId--output text)
的未计算定义。我希望能够存储经过计算的定义的值,或者在本例中存储cmd$(aws apigateway get stage--rest api id xxxxxxxx--stage name dev--query deploymentId--output text)中的实际部署id
。关于如何使用github操作实现这一点,有什么想法吗
参考资料:
在
echo
的参数周围使用双引号,而不是单引号。@BenjaminW。太好了,谢谢。关于单引号/双引号,我缺少什么概念?它是bash原则还是github操作?它是bash原则,请参见示例。@BenjaminW。谢谢你的帮助。@w33b它解决了你的问题吗?如果是B3njamin,您能否创建一个回复,以便它可以被接受为答案。在echo
的参数周围使用双引号,而不是单引号。@BenjaminW。太好了,谢谢。关于单引号/双引号,我缺少什么概念?它是bash原则还是github操作?它是bash原则,请参见示例。@BenjaminW。谢谢你的帮助。@w33b它解决了你的问题吗?如果是,您能否创建一个回复,以便它可以被接受为答案。