我有一个包含differents变量的docker-compose.yml文件
version: "2"
services:
data:
image: "${registryUrl}/data:${image_version}"
在我的外壳中,我导出RegistryUrl和image_version
export registryUrl=zhcjie.distribution.ata.com:8652
export image_version=1.0-SNAPSHOT
docker-compose up
这在我的本地环境中有效(我正在使用boot2Docker),但在Jenkins中则无效。我发错消息了。
The registryUrl variable is not set. Defaulting to a blank string.
The image_version variable is not set. Defaulting to a blank string.
我尝试通过EnvInject插件传递env变量,但它也不起作用。
您在jenkins shell中的环境变量将不会自动导入。通过 .env 文件在Jenkins作业的工作空间下添加环境变量。
$ cat .env registryUrl=zhcjie.distribution.ata.com:8652 image_version=1.0-SNAPSHOT
然后跑
docker-compose up
问题内容: 我想在詹金斯中设置很多变量。我试图把他们的,和该的用户,但是当构建正在发生詹金斯无法找到他们。 唯一可行的方法是将所有env变量放入其中,如下所示: 但是我不认为这是个好方法。 在詹金斯中设置环境变量的正确方法是什么? 问题答案: 在我看来,这很正常。并且应被视为文本凭据,您可以使用 指令添加环境变量。 如果你需要保持环境变量分开,你可以创建一个包含所有的常规文件,然后将该文件加载到使
问题内容: 我希望能够执行以下操作: 并安排詹金斯。 Jenkins中的“ 环境变量” 部分不这样做。而是设置了。 如何让Jenkins评估Shell命令并将输出分配给环境变量? 最终,我希望能够将作业的执行者分配给可以传递到其他脚本或由其他脚本使用的环境变量。 问题答案: 可以通过以下方式通过EnvInject插件完成此操作: 创建一个运行的“执行外壳”构建步骤: 创建一个“ 注入”环境变量 构
问题内容: 我正在尝试设置一个postgres容器,并希望使用以下命令设置postgres登录名: 所以我像这样创建了docker-compose.yml 我还尝试了将环境变量声明为db部分的其他语法: 但是这些选项似乎都不起作用,因为无论出于什么原因,无论何时我尝试使用各种连接字符串连接到postgres数据库: 与抱怨没有用户数据库相反,它们都给我身份验证失败。 问题答案: 您收到的身份验证错
问题内容: 我有一个docker撰写文件 而且我已经配置了詹金斯工作以通过调用另一个外壳文件“ environment.sh”来执行此文件,但是它尝试执行以下错误: 我如何在jenkins服务器中下载和配置docker-compose,也没有可用的插件!,适用于docker-compose 问题答案: $ PATH环境变量中可能不存在您。 首先,您应该删除所有冲突的内容- 在大多数Linux系统上
问题内容: 是否可以重用在多个容器之间共享的环境变量以避免重复,如本示例所示: 问题答案: 该选项可能是好的,但它不支持在撰写文件。其他走的方式是: 扩展名字段(撰写文件3.4+) 如果可以使用3.4+组成文件,则扩展名字段可能是最佳选择: docker-compose.yml env_file指令 docker-compose.yml variables.env * 项目根目录中的 *.env
这是我的Docker-Compose: