LoginSignup
5
4

More than 5 years have passed since last update.

Concourse CIをDocker for Macで動かしてdarwin workerを追加する

Posted at

Docker for MacをつかってConcourse CIを動かすとtaskのplaftformがLinuxの場合上手く動かないらしい。
別途OS Xバイナリでworkerを動かしてやるとplatformがdarwinであれば動かすことができました。

基本以下の通りに行う。

つかったdocker-composeです。 port 2222を空けてます。

docker-compose.yaml
concourse-db:
  image: postgres:9.5
  environment:
    POSTGRES_DB: concourse
    POSTGRES_USER: ${DATABASE_USER}
    POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
    PGDATA: /database

concourse-web:
  image: concourse/concourse
  links: [concourse-db]
  command: web
  ports: ["1111:8080", "2222:2222"]
  volumes: ["./keys/web:/concourse-keys"]
  environment:
    CONCOURSE_BASIC_AUTH_USERNAME: ${CONCOURSE_USER}
    CONCOURSE_BASIC_AUTH_PASSWORD: ${CONCOURSE_PASSWORD}
    CONCOURSE_EXTERNAL_URL: ${CONCOURSE_EXTERNAL_URL}
    CONCOURSE_POSTGRES_DATA_SOURCE: |-
      postgres://${DATABASE_USER}:${DATABASE_PASSWORD}@concourse-db:5432/concourse?sslmode=disable

concourse-worker:
  image: concourse/concourse
  privileged: true
  links: [concourse-web]
  command: worker
  volumes: ["./keys/worker:/concourse-keys"]
  environment:
    CONCOURSE_TSA_HOST: concourse-web

別途workerを起動します。

sudo concourse worker \                                19:32:34
                   --work-dir work \
                   --tsa-port 2222 \
                   --tsa-host localhost \
                   --tsa-public-key keys/worker/tsa_host_key.pub \
                   --tsa-worker-private-key keys/worker/worker_key

試しに用意したpipeline

hello-darwin.yml
resources:
- name: every-1m
  type: time
  source: {interval: 1m}

jobs:
- name: navi
  plan:
  - get: every-1m
    trigger: true
  - task: say-hello
    config:
      platform: darwin
      run:
        path: echo
        args: ["Hello, world!"]

fly -t ${TARGET} set-pipeline -p hello-darwin -c hello-darwin.yml

その他はまったこととか

workerはdarwinがいるから削って大丈夫だろうと思って、docker-composeのworkerを削ってたんですが、付属のResourceはLinuxのworkerがいないとダメだそうです。

参考: http://stackoverflow.com/a/39862784/1276598

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4