代码之家  ›  专栏  ›  技术社区  ›  Alexander Knyazev

如何在gitlab ci中设置env变量。亚马尔?

  •  0
  • Alexander Knyazev  · 技术社区  · 6 年前

    例如,开发人员部署部分:

    - echo "====== Deploy to dev server ======"
    # Add target server`s secret key
    - apk add git openssh bash
    - mkdir ~/.ssh
    - echo $DEV_SERVER_SECRET_KEY_BASE_64 | base64 -d > ~/.ssh/id_rsa
    - chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
    - echo "Test ssh connection for"
    - echo "$DEV_SERVER_USER@$DEV_SERVER_HOST"
    - ssh -o StrictHostKeyChecking=no -T "$DEV_SERVER_USER@$DEV_SERVER_HOST"
    # Delploy
    - echo "Setup target server directories"
    - TARGET_SERVER_HOST=$DEV_SERVER_HOST TARGET_SERVER_USER=$DEV_SERVER_USER TARGET_SERVER_APP_FOLDER=$DEV_SERVER_APP_FOLDER pm2 deploy pm2.config.js dev setup 2>&1 || true
    - echo "make deploy"
    - TARGET_SERVER_HOST=$DEV_SERVER_HOST TARGET_SERVER_USER=$DEV_SERVER_USER TARGET_SERVER_APP_FOLDER=$DEV_SERVER_APP_FOLDER pm2 deploy pm2.config.js dev
    

    是否有其他方法为ci cd脚本提供变量?

    0 回复  |  直到 6 年前
        1
  •  1
  •   Stephen L.    3 年前

    您可以通过多种方式定义自定义变量:

    一、 使用GUI:

    使用。gitlab ci。yml文件 :

    您可以使用 变量 作业中的关键字或位于的顶级。gitlab ci。yml文件。如果变量处于顶层,则其全局可用,并且所有作业都可以使用它。如果在作业中定义了它,则只有该作业才能使用它。

    variables:
      TEST_VAR: "All jobs can use this variable's value"
    
    job1:
      variables:
        TEST_VAR_JOB: "Only job1 can use this variable's value"
      script:
        - echo "$TEST_VAR" and "$TEST_VAR_JOB"
    

    检查 official documentation 有关更多信息和示例。