私は、Mavenを使用して実行され、いくつかのJavaプログラムとのドッキングウィンドウのイメージを実行し、ビルドパイプラインを持っています。
選択されたパイプラインステップ実行の自動化テストは、あなたが私もセットシステム環境値を見ることができるように、ドッキングウィンドウの内側に私のJavaプログラムを起動するドッカ-コンを始めているFEATURES_LIST
今、私のJavaプログラムの内部で、私は通常どおりのような値を返すようにしようとした、いくつかのテスト値で環境変数のための:
System.getenv("FEATURES_LIST");
しかし、他の一方で、私は私のドッキングウィンドウのコンファイル内で、環境変数を指定した場合、それは、それを見つけたことがない、それは(ドッキングウィンドウのコンファイルの一番下にいくつかの異なったenv変数セット、下記を参照)、それを見つけました
version: '3.4'
services:
# SELENIUM GRID
selenium-hub:
image: selenium/hub
ports:
- 4444:4444
chrome:
image: selenium/node-chrome-debug
ports:
- 5900:5900
environment:
- HUB_PORT_4444_TCP_ADDR=selenium-hub
- HUB_PORT_4444_TCP_PORT=4444
depends_on:
- selenium-hub
# AUTOMATION PROJECT
image_name:
image: imagepathhere:latest
volumes:
- ./:/usr/src/app/
network_mode: "host"
depends_on:
- chrome
environment:
- TARGET_TEST_ENV=uat
トラブルは、私は紺碧のビルドパイプライン内の環境変数を指定することができれば、それは本当に、簡単に私の人生になるだろう、私は間違ってやっている何かがあるのでしょうか?
Javaアプリケーションがそれらを読むことができませんので、ドッカーメール作成タスクにおける「環境変数」のコンテナの中に変数を注入していないが、彼らは、プロセス中にエージェントで利用できるようになります。
変数はで使用するためのものであるdocker-compose.yml
、このように:${variableName}
。
だから、ドッカーメール作成タスク変数に定義することができますFEATURE_LIST=blabla
し、中にdocker-compose.yml
容器内に変数注入:
image:ubuntu:latest
environment:
- FEATURE_LIST=${FEATURE_LIST}
この方法では、Azureのビルドパイプライン内の環境変数を指定することができます(あなたも、それらを定義する必要がありますdocker-compose.yml
)。