- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Github-pages 上部署的 ReactApp 中使用环境变量。
通过 添加变量process.env 并以 开头REACT_APP 按照文档规定
export default class WeatherService {
constructor() {
this.API_WEATHER_URL = process.env.REACT_APP_DEV_SERVER_URL + 'api/weather';
}
和
.env 创建于
GitHub 操作 yml
jobs:
front-build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Store variables
run: |
cd front-app
touch .env
REACT_APP_DEV_SERVER_URL=${{ secrets.DEV_SERVER_URL }} >> .env
- name: Build
run: |
cd front-app
npm install
npm run-script build
- name: Deploy
...
但该应用程序从 GitHub Secrets 获取错误值。
this.API_BLOB_URL = Object({
NODE_ENV: "production",
PUBLIC_URL: "/azure-flask-react",
WDS_SOCKET_HOST: void 0,
WDS_SOCKET_PATH: void 0,
WDS_SOCKET_PORT: void 0,
FAST_REFRESH: !0
}).REACT_APP_DEV_SERVER_URL + "api/blob/"
同时当我在本地构建时
npm 运行构建 . React 成功替换了 env。变量
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"build:staging": "REACT_APP_FRONT_APP_URL=nikonov91-dev.github.io/azure-flask-react/ npm run build"
...
}
然后瞧。
run: |
cd front-app
touch .env
echo 'REACT_APP_DEV_SERVER_URL=${{ secrets.DEV_SERVER_URL }}' >> .env
但 JS ch 中的值仍然为空:
run: |
cd front-app
echo "DEV_SERVER_URL=${{ secrets.DEV_SERVER_URL }}" >> $GITHUB_ENV
touch .env
echo "REACT_APP_DEV_SERVER_URL=${{ env.DEV_SERVER_URL }}" >> .env
不幸的是,变量是相同的
- name: Store variables
run: |
cd front-app
touch .env
echo "REACT_APP_DEV_SERVER_URL='https://first-py-app.azurewebsites.net/'" >> .env
和
this.API_BLOB_URL = process.env.REACT_APP_DEV_SERVER_URL + 'api/blob/';
变成
this.API_BLOB_URL = "https://first-py-app.azurewebsites.net/api/blob/"
最佳答案
更新
在您的更新中,您说
I'm sure my approach is working because if I hardcode the variable in YML it works as should and can be easily accessed in my Appv
DEV_SERVER_URL
的 secret 并将其设置为
https://first-py-app.azurewebsites.net/
然后我运行了这个工作:
jobs:
env-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Store variables
run: |
mkdir front-app
cd front-app
touch .env
echo 'REACT_APP_DEV_SERVER_URL=${{ secrets.DEV_SERVER_URL }}' >> .env
- name: Leak variables
run: |
cd front-app
ls -al
cat .env
cat .env | hexdump
正如预期的那样,它产生了这个输出(注意
***
在原始输出中,因为 GitHub 会自动审查 secret ):
$ echo 'REACT_APP_DEV_SERVER_URL=https://first-py-app.azurewebsites.net/' | hexdump -x
0000000 4552 4341 5f54 5041 5f50 4544 5f56 4553
0000010 5652 5245 555f 4c52 683d 7474 7370 2f3a
0000020 662f 7269 7473 702d 2d79 7061 2e70 7a61
0000030 7275 7765 6265 6973 6574 2e73 656e 2f74
0000040 000a
0000041
这意味着 secret 正在保存在
.env
中。文件按预期。所以我必须得出结论,你的问题是 secret
DEV_SERVER_URL
为空或您的操作运行器无法访问。我建议你运行和我一样的工作,看看你会得到什么结果。
run: |
cd front-app
touch .env
REACT_APP_DEV_SERVER_URL=${{ secrets.DEV_SERVER_URL }} >> .env
所以你的第一个问题是上面的最后一行只设置了该步骤的环境变量,对
.env
没有任何作用。文件。你可能的意思或想要的是
run: |
cd front-app
touch .env
echo 'REACT_APP_DEV_SERVER_URL=${{ secrets.DEV_SERVER_URL }}' >> .env
这会将分配放在
.env
中文件。这是否足以满足您的需求将取决于您的其余操作。
关于node.js - 无法访问将其从 GH-pages 传递到 React App 的环境 secret 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66398572/
我正在尝试在我的 minikube 上启动并运行 keycloak。 我正在安装keycloak helm upgrade -i -f kubernetes/keycloak/values.yaml
我将我的数据库密码存储到AWS密钥管理器的Secret Value字段中。如果我使用以下代码,如何检索密码值?。在密钥管理器中定义的密钥:密钥在密钥管理器中定义的值:DBPwd。当我写入日志文件时,上
I am storing my database password into the Secret value field in the aws secret manager. How do I
我正在尝试在 AWS CDK 上组合一个相对简单的堆栈,其中涉及来自 aws-ecs-patterns 的 ApplicationLoadBalancedFargateService。 我的问题涉及
今天我在悠闲地阅读时偶然发现了 Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryp
不是一个真正的编程问题,但很想知道 Kubernetes 或 Minikube 如何管理 secret 并在多个节点/pod 上使用它? 假设我创建了一个 secret 来使用 kubectl 提取图
我需要从 AWS dynamoDB 和第三方 https 服务中获取元素并将这些结果合并到 AWS appSyn 中并将结果作为 graphQL 响应发回 我正在使用的第三方服务需要客户端证书。我没有
我收到一个错误: gpg: no default secret key: No secret key gpg: [stdin]: clearsign failed: No secret key GPG
我正在尝试为 kubernetes 集群设置私有(private) docker 镜像注册表。我正在关注 link $ cat ~/.docker/config.json | base64 ew
当我开发一个API服务器时,我需要给API服务器一些账户信息,这些信息不应该给任何人看。K8s对这种情况推荐secret,所以我用了。 但我想知道这个 secret 是否真的是 secret 。 se
在大多数有关在 Kubernetes 中使用 secret 的示例中,您都可以找到类似的示例: apiVersion: v1 kind: Secret metadata: name: mysecr
我正在与 terraform 合作,在 azure 中启动不同的资源。其中一些资源包含敏感数据,我希望将其安全地存储在 aws Secret Manager 中。这在 Terraform 中是可行的过
我有带有有效 key 的 Azure 应用程序注册。 我正在尝试使用 v1.0 获取 token ,如下所示(clientId 是上述应用程序注册的 ID) $body = @{ grant_
本文讨论如何安装 secret 卷。 https://learn.microsoft.com/en-us/azure/container-instances/container-instances-v
我正在使用 kubernetes 将 Rails 应用程序部署到谷歌容器引擎。 遵循 kubernetes secret 文档:http://kubernetes.io/v1.1/docs/user-
我正在与 terraform 合作,在 azure 中启动不同的资源。其中一些资源包含敏感数据,我希望将其安全地存储在 aws Secret Manager 中。这在 Terraform 中是可行的过
我有带有有效 key 的 Azure 应用程序注册。 我正在尝试使用 v1.0 获取 token ,如下所示(clientId 是上述应用程序注册的 ID) $body = @{ grant_
本文讨论如何安装 secret 卷。 https://learn.microsoft.com/en-us/azure/container-instances/container-instances-v
我有一个 python 脚本,它在 AWS 中创建一些访问 key 并将它们存储在 secret 管理器中。 但是,当我存储 key 时,我收到一条错误消息: The secret value can
我在 Secrets Manager 控制台上创建了一个 key 。然后我尝试使用 Go 代码 quickstart guide喜欢 ctx := context.Background() clien
我是一名优秀的程序员,十分优秀!