簡體   English   中英

Github 操作工作流到 docker 容器環境

[英]Github actions workflow to docker container environment

我在 GitHub 工作流文件中設置了以下環境變量(在頂層):

env: 
  GITHUB_RUN_NUMBER: ${github.run_number}

我想在我的 docker 容器(前端反應)中訪問它並登錄控制台:

console.log(`Build number= ${process.env.GITHUB_RUN_NUMBER}`)

目前,GITHUB_RUN_NUMBER 未達到工作流exec container env環境中的容器構建

我應該如何將環境變量從工作流傳遞到容器? 謝謝!

name: CI_DEMO

on:

  workflow_dispatch
    
env: 
  GITHUB_RUN_NUMBER: ${github.run_number}
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:

  Test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '14.20.1'
          cache: 'npm'
      - run: npm ci
      - run: CI=true npm test -- --verbose --coverage --watchAll=false

  Build_Demo:
    runs-on: ubuntu-latest
    needs: [ Test ]
    steps:
      - uses: actions/checkout@v3
      - 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: eu-central-1
      - name: Login to Amazon ECR
        id: login-ecr
        uses: aws-actions/amazon-ecr-login@v1
      - name: Build and Push Docker Image
        env:
          CI_COMMIT_TAG: N-${{ github.run_number }}
        run: |
          sudo docker build -t $CI_REGISTRY/$CI_REGISTRY_REPOSITORY:$CI_COMMIT_TAG . \
            -f ./deploy/Dockerfile \
            --build-arg WEB_PRIVATE_KEY="$WEB_PRIVATE_KEY" \
            --build-arg REACT_APP_GA_TRACKING_ID=$REACT_APP_GA_TRACKING_ID \
            --build-arg 
          docker push $CI_REGISTRY/$CI_REGISTRY_REPOSITORY:$CI_COMMIT_TAG

  Deploy_Demo:
    runs-on: ubuntu-latest
    needs: [ Build_NIX_Demo ]
    steps:
      - uses: actions/checkout@v3
      - name: Preparing for deploy
        env:
          DEMO_PRIVATE_KEY: ${{ secrets.DEMO_PRIVATE_KEY }}
        run: |
          
      - name: Deploy
        env:
          
        run: |
          
          export TMP_AFRONTEND_VERSION=$CI_COMMIT_TAG
          ssh -o SendEnv=TMP_AFRONTEND_VERSION  $DEMO_IP "AFRONTEND_VERSION=$TMP_AFRONTEND_VERSION; unset AFRONTEND_VERSION; export AFRONTEND_VERSION; docker-compose -f $DEMO_PROJECT_PATH/docker-compose.yml --env-file $DEMO_PROJECT_PATH/.env up -d --no-deps a_frontend"

aknosis所述,缺少的步驟是在 Docker 文件中定義變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM