标签: buildpack

spring boot bootBuildImage paketo ssl 证书位置?

TLDR: spring boot gradlebootBuildImage任务因 x509 证书验证错误而失败(由于 zscaler)。在哪里添加根证书?

信息

我们正在使用 spring boot (2.3) 的新“bootBuildImage”来构建 docker 镜像。

最近,我们的 IT 团队启用了“zscaler 无处不在”,它通过公司支持的“中间人”有效地路由所有 http 和 https 流量,即使用 DNS 来“网关/检查点”网络流量

错误

在此更改后,gradle 失败并显示 X509 证书验证错误:

2021-03-01T08:40:42.120-0600 [QUIET] [system.out]     [creator]     unable to request https://repo.
spring.io/release/org/springframework/cloud/spring-cloud-bindings/1.7.0/spring-cloud-bindings-1.7.0
.jar
2021-03-01T08:40:42.120-0600 [QUIET] [system.out]     [creator]     Get "https://repo.spring.io/release/org/springframework/cloud/spring-cloud-bindings/1.7.0/spring-cloud-bindings-1.7.0.jar": x509: certificate signed by unknown authority
202
Run Code Online (Sandbox Code Playgroud)

更多上下文

  • 弹簧靴 3.7
  • 摇篮
  • 苹果电脑
  • Docker 桌面
  • 特别在 spring-cloud-bindings 上失败

  • 如何克服 x509 ssl 证书验证错误?

我知道应该能够在信任存储中安装 zscaler 根证书,但不清楚哪个信任存储?(以及文件系统上的哪个位置?)

  • 码头工人
  • 帕克托

我不清楚为什么'spring cloud download'失败,但其他下载成功,即这次下载成功:

2021-03-01T08:40:34.790-0600 [QUIET] …
Run Code Online (Sandbox Code Playgroud)

buildpack spring-boot zscaler paketo

7
推荐指数
1
解决办法
443
查看次数

从 Heroku 应用程序中访问当前的 git 提交号

我知道slug 编译器会删除.git在创建 heroku slug 时目录,但是有什么方法可以配置 Heroku 以便我可以从脚本中访问当前正在运行的 git 提交号?

我希望能够在我的 sinatra 应用程序(在 Heroku 中运行)上有一个小链接,上面写着“运行版本 e72fb274a0 ”(或类似的东西)。如何检索它,或强制 slug 编译器将其添加到环境变量中?

进步:

我认为最好的方法是制作一个自定义 buildpack,在删除 .git 目录之前将 git commit 版本号写入 heroku slug。

我已经尝试过这样做(请参阅我的 ruby​​ buildpack 分支),但是我添加的行 –第 23 行– 似乎没有完成这项工作。Heroku 看到并使用新的 buildpack,但似乎没有将文件写入 slug。

任何人都知道为什么我的自定义 buildpack 没有按预期工作?

谢谢,

J.P

ruby git heroku sinatra buildpack

6
推荐指数
2
解决办法
1524
查看次数

如何在Heroku Buildpack中解压缩文件

我正在为Fantom编写一个自定义Heroku buildpack(heroku-buildpack-fantom),作为脚本的一部分,我已经下载了一个文件(来自语言供应商),但是如何解压缩呢?compile.zip

unzip 不是公认的命令.

gunzip存在,但我不能用它来解压缩.zip文件.

我错过了什么?

heroku fantom buildpack

6
推荐指数
1
解决办法
1229
查看次数

如何让package.json不在heroku应用程序的顶层

我有这个部署到heroku的应用程序:

https://github.com/justin808/react-webpack-rails-tutorial

http://react-webpack-rails-tutorial.herokuapp.com/

该技术在此处描述:http://www.railsonmaui.com/blog/2014/10/02/integrating-webpack-and-the-es6-transpiler-into-an-existing-rails-project/

目前,package.json位于项目的根级别.

如何将/package.json和/ node_modules移动到/ webpack目录中?

即,如何告诉节点buildpack在哪里查找package.json?

heroku buildpack

6
推荐指数
1
解决办法
1818
查看次数

在Heroku上安装gerbv

我想用几个月的时间就可以使用在线服务生成PCB gerber的图像,并且想要自己动手制作.

我的选择是heroku(可以改变),gerber解析器/查看器的选择是gerbv(再次,可以改变)

我已经阅读了关于buildpacks和vagrant以及所有关于让gerbv能够在heroku上运行的选项.我现在被卡住的部分是gerbv需要gtk而heroku没有它(不需要它).

如何在没有gtk部分的情况下编译gerbv?

编辑:我使用wget将gerbv的源代码下载到heroku,然后解压缩,然后进入src文件夹,发出以下命令

gcc -Wall -fPIC -c *.c
Run Code Online (Sandbox Code Playgroud)

这允许我为所有C代码gerbv提供创建.o文件.不幸的是,它需要gtk来编译,heroku不能.因此,完全有可能库部分不能与接口部分分离,并且能够独立运行libgerbv.

python heroku buildpack

6
推荐指数
1
解决办法
99
查看次数

Heroku Review App不缓存node_modules

我使用以下buildpack:heroku-buildpack-nodejs 并且默认情况下,它应该缓存和恢复node_modules

yarn.lock文件与一起位于应用程序的根目录package.json

我也加入"cacheDirectories": [".cache/yarn"]package.json

在审阅应用程序构建日志分析期间,我看到:

-----> Restoring cache
Loading 1 from cacheDirectories (package.json):
- .cache/yarn (not cached - skipping)
Run Code Online (Sandbox Code Playgroud)

...

-----> Installing dependencies
       Installing node modules (yarn.lock)
Run Code Online (Sandbox Code Playgroud)

...

-----> Caching build
       - node_modules
Run Code Online (Sandbox Code Playgroud)

好像这个问题在2016年12月20日被打开了:https : //github.com/heroku/heroku-buildpack-nodejs/issues/359

如何在不对每个构建都安装依赖项的情况下实现缓存机制?

heroku node.js npm buildpack hadoop-yarn

6
推荐指数
1
解决办法
231
查看次数

是否可以自定义使用 Spring Native(使用 buildpack)生成的 docker 镜像

我目前正在开发一个 Spring Native 应用程序,它使用 paketo buildpack 进行构建并生成 Docker 映像。我想知道是否可以通过添加第三方工具(例如 Datadog 代理)来自定义生成的 Docker 映像。

另外,目前生成的容器镜像已安装在本地,是否可以直接将其发送到另一个 Docker 存储库中?

buildpack graalvm-native-image spring-native

6
推荐指数
1
解决办法
3344
查看次数

如何从节点在Heroku上运行可执行文件,在本地工作

这是我的第一个SE问题.通常我可以通过这个伟大的网站轻松找到答案,但遗憾的是,在这个场合,我找不到任何关于我在寻找的东西,无论是在这里还是其他地方.让我解释一下这个问题:

我编写了一个C++程序来进行一些数值计算.它需要命令行参数并写入stdout,并在运行OSX的系统上正常工作.

我希望在线托管这个版本,让我的同行更容易地尝试一下,所以我编写了一些Node.js和Express代码来从表单中获取输入并将其作为命令行参数提供给可执行文件.然后我按以下方式执行名为'factoriser'的二进制文件:

const exec = require('child_process').exec;
app.post('/', function (req, res) {
    var input = req.body.numberinput; //Number entered on the webpage

    const child = exec('./numericcomp ' + input, {timeout: 20000}, function(error, stdout, stderr) {
        //Code here writes stdout to the page
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的工作完全在我的本地机器上但是当我将它部署到Heroku然后尝试输入(这里我试过2131)我得到一个错误:

Error: Command failed: ./numericcomp 2131 ./numericcomp: 3: ./numericcomp: Syntax error: word unexpected (expecting ")")
Run Code Online (Sandbox Code Playgroud)

这是exec中的回调.

所以我真的不知道该怎么做,问题是Heroku只是没有正确运行可执行文件.关于Heroku如何工作,我并不是特别了解,我已经阅读了有关buildpacks等的信息,但是执行二进制文件似乎是一个非常复杂的过程.是因为我只有一个dyno并且无法运行子进程吗?

如果有人能指出我正确的方向,我会非常感激,似乎我已经完成了所有艰苦的工作,但无法克服最后的障碍.

c++ heroku node.js express buildpack

5
推荐指数
1
解决办法
3049
查看次数

错误:启动失败:确定启动命令:没有默认进程时需要命令

将 spring boot 升级到 2.4 后,我们无法运行通过此脚本创建的最终 docker 镜像:

script:
    - echo $CI_JOB_TOKEN | docker login -u gitlab-ci-token --password-stdin $CI_REGISTRY
    - apk add openjdk11
    - ./gradlew bootBuildImage --imageName=$DOCKER_IMAGE_INTERMEDIATE
    - docker build -f ./docker/Dockerfile --build-arg base_image=$DOCKER_IMAGE_INTERMEDIATE -t $DOCKER_IMAGE_TAGGED .
    - docker push $DOCKER_IMAGE_TAGGED
    - docker tag $DOCKER_IMAGE_TAGGED $DOCKER_IMAGE_LATEST
    - docker push $DOCKER_IMAGE_LATEST
Run Code Online (Sandbox Code Playgroud)

我们Dockerfile只是创建一个文件夹并将chown其发送给CNB用户:

# The base_image holds a reference to the image created by ./gradlew bootBuildImage
ARG base_image
FROM ${base_image}

ENV SOME_PATH /var/lib/some/files

USER root

RUN …
Run Code Online (Sandbox Code Playgroud)

spring buildpack spring-boot paketo

5
推荐指数
1
解决办法
6571
查看次数

google buildpack psycopg2-binary 错误:未找到 pg_config 可执行文件

这是我的requirements.txt psycopg2-binary==2.8.3 # via -r requests/base.in

我正在 docker 镜像中构建。我的印象是,如果我安装,psycopg2-binary vs psycopg2我不应该安装额外的 postgresql 开发库。我错了吗?

pack build --builder=gcr.io/buildpacks/builder:v1 test-python

Collecting psycopg2-binary==2.8.3
  Downloading psycopg2-binary-2.8.3.tar.gz (378 kB)
    ERROR: Command errored out with exit status 1:
     command: /layers/google.python.runtime/python/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-z7z_l56l/psycopg2-binary_ddfc5ed05bb44cf4b7e2f14d634bd6ae/setup.py'"'"'; __file__='"'"'/tmp/pip-install-z7z_l56l/psycopg2-binary_ddfc5ed05bb44cf4b7e2f14d634bd6ae/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-vsc_2hlv
         cwd: /tmp/pip-install-z7z_l56l/psycopg2-binary_ddfc5ed05bb44cf4b7e2f14d634bd6ae/
    Complete output (23 lines):
    running egg_info
    creating /tmp/pip-pip-egg-info-vsc_2hlv/psycopg2_binary.egg-info
    writing /tmp/pip-pip-egg-info-vsc_2hlv/psycopg2_binary.egg-info/PKG-INFO
    writing dependency_links to /tmp/pip-pip-egg-info-vsc_2hlv/psycopg2_binary.egg-info/dependency_links.txt
    writing top-level names to /tmp/pip-pip-egg-info-vsc_2hlv/psycopg2_binary.egg-info/top_level.txt
    writing manifest file '/tmp/pip-pip-egg-info-vsc_2hlv/psycopg2_binary.egg-info/SOURCES.txt'
    
    Error: pg_config …
Run Code Online (Sandbox Code Playgroud)

psycopg2 python-3.x buildpack docker

5
推荐指数
1
解决办法
4250
查看次数