Shippableは、ドッキング・イメージのビルドを自動化し、暗号化された環境変数を渡す2つの理由から使用しています。私はビルドを自動化することができますが、変数を渡すことはできません。ShippableからDockerへの環境変数の受け渡し
私はプロジェクト設定で出荷可能なテキストボックスに環境変数を入力することで起動します。
SECRET_KEY=123456
私は「暗号化」ボタンを押して、出荷可能なリターンをクリックします。
- secure : hash123abc...
私はこれを置きます私のshippable.ymlファイルにハッシュ。次のようになります。
language: python
python:
- 2.7
build_image: myusername/myimagename
env:
- secure : hash123abc...
build:
post_ci:
- docker login -u myusername -p mypassword
- docker build -t myusername/myimagename:latest .
- docker push myusername/myimagename:latest
integrations:
hub:
- integrationName : myintegrationname
type: docker
branches:
only:
- master
自動ビルドが動作します。しかし、私が試してみると:
sudo docker run myusername/myimagename:latest echo $SECRET_KEY
私は何も得られません。 (この場合のSECRET_KEYに)環境変数を設定します
私Dockerfileは、次のようになります。
FROM python:2.7.11
RUN apt-get update
RUN apt-get install -y git
RUN get clone https://github.com/myusername/myrepo.git
ENV SECRET_KEY=$SECRET_KEY
私がそれを見るようMYロジックを説明するために役に立つかもしれません。
出荷可能なプロジェクトビルドは、(repoプッシュまたは手動で)トリガーされます。セット - :
- が
- が
- がDockerfile
- Dockerfileに基づいて新しいイメージを構築するSECRET_KEY環境変数に設定し、最初のイメージを構築します。shippable.ymlでは、いくつかのことを行います変数env変数SECRET_KEYを.ymlで2段階前に設定されたSECRET_KEYに設定します。
- は画像をプッシュします
私は画像に環境変数を設定したので、今すぐアクセスできると思っています。しかし、私は何も得られません。ここで何が問題なの?
ファイル名を指定して実行していましたコマンド 'env'を実行すると、すべての環境変数が表示されます。これは、問題をデバッグするのに役立ちます。 –
はい、ありがとうございます。私はちょうどそれを試みた。少なくとも変数を示していますが空ですSECRET_KEY = –
ドッキング・コンテナ内から実行しましたか?私は '.yml'の中で' post_ci'のように意味しました。実際には相違があるかどうかをすべての段階で確認してください。また、構文が間違っている場合に備えて、 'secure'という変数があるかどうかを調べます。 –