docker
Concourse

プロキシ環境下でConcourseをDockerで運用する

More than 1 year has passed since last update.

ブログでプロキシ環境下の設定を書くといっていたので、忘れないうちに公開します。

http://irony9901.hatenablog.com/entry/2017/05/07/205726


ベースは公式のdocker-composeです。

https://concourse.ci/docker-repository.html

導入時のバージョン 2.7.3 を前提にしています。

webの公開ポートを 8084 に変更しています。

あと、Volumeは大体docker-compose.ymlファイルと並列に置くのが好きなので、そのようにしています。

本題のプロキシ設定は、Workerだけに設定しておけばOKです。


docker-compse.yml

oncourse-db:

image: postgres:9.6
restart: always
environment:
POSTGRES_DB: concourse
POSTGRES_USER: concourse
POSTGRES_PASSWORD: changeme
PGDATA: /database
volumes:
- /home/concourse/db/database:/database

concourse-web:
image: concourse/concourse:2.7.3
restart: always
links: [concourse-db]
command: web
ports: ["8084:8080"]
volumes: ["./keys/web:/concourse-keys"]
environment:
CONCOURSE_BASIC_AUTH_USERNAME: concourse
CONCOURSE_BASIC_AUTH_PASSWORD: changeme
CONCOURSE_EXTERNAL_URL: "http://concoursehost:8084"
CONCOURSE_POSTGRES_DATA_SOURCE: |-
postgres://concourse:changeme@concourse-db:5432/concourse?sslmode=disable

concourse-worker:
image: concourse/concourse:2.7.3
restart: always
privileged: true
links: [concourse-web]
command: worker
volumes: ["./keys/worker:/concourse-keys"]
environment:
CONCOURSE_TSA_HOST: concourse-web
http_proxy: http://username:password@host_or_ipaddress:port
https_proxy: http://username:password@host_or_ipaddress:port
no_proxy: internalhost



おまけ:パイプライン内のタスクでプロキシサーバを指定するときは?

パイプライン作成時にプロパティファイルを渡すようにすることで、パイプラインのファイルとプライベートな設定値を分離できます。

https://concourse.ci/fly-set-pipeline.html

リポジトリにサンプルファイルみたいなものだけおいておけば、簡単に展開できます。