LoginSignup
4
3

More than 5 years have passed since last update.

CircleCI 2.0 から IBM Bluemix へデプロイする方法

Posted at

CircleCI 2.0 とは?

CircleCI 2.0 は Docker ベースの CI サービスで、現在 β 版として利用できます。
任意の Docker イメージを指定してビルド・テスト・デプロイができることが特徴です。

参考

IBM Bluemix とは?

IBM が提供する PaaS です。Cloud Foundry をベースに構築されています。
Java、Ruby、PHP、Python、Node 等、メジャーな言語には一通り対応しています。

無期限の無料枠が用意されているため、開発環境としての利用や小さなサービス運営などが無料で行なえます。

参考

CircleCI 2.0 から IBM Bluemix へデプロイする手法

公式で用意された Cloud Foundry のコンソールツール cf-cli を使います。

下記は Node.js で構築されたアプリケーションを、テストしデプロイする設定ファイル .circleci/config です。

version: 2
jobs:
  build:
    working_directory: ~/workspace
    docker:
      - image: node:6.10.2
    steps:
      - checkout
      - restore_cache:
          key: project-{{ .Branch }}-{{ checksum "yarn.lock" }}
      - run:
          name: System information
          command: |
            echo "Node $(node -v)"
            echo "Yarn v$(yarn --version)"
      - run:
          name: Install dependencies
          command: yarn
      - run:
          name: Test
          command: yarn test
      - save_cache:
          key: project-{{ .Branch }}-{{ checksum "yarn.lock" }}
          paths:
            - ~/workspace/node_modules
            - ~/.cache/yarn/
      - deploy:
          name: Deploy to IBM Bluemix
          command: |
            if [ "${CIRCLE_BRANCH}" == "master" ]; then
              apt-get update -qq
              apt-get install -qq -y apt-transport-https
              wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | apt-key add -
              echo "deb http://packages.cloudfoundry.org/debian stable main" | tee /etc/apt/sources.list.d/cloudfoundry-cli.list
              apt-get update
              apt-get install -qq -y cf-cli
              cf -v
              cf api https://api.au-syd.bluemix.net
              cf login -u $BLUEMIX_USER -p $BLUEMIX_PASSWORD
              cf push
            fi

deploy フェーズで実行されているコマンドが部分が重要になります。今回は Ubuntu をベースにしたイメージなため、apt-get にてインストールを行っています。

インストール後、下記 3 つの cf-cli コマンドを実行する必要があります。

# デプロイ先の指定
cf api https://api.au-syd.bluemix.net

# ログイン
cf login -u $BLUEMIX_USER -p $BLUEMIX_PASSWORD

# デプロイ実行
cf push

ログイン時の情報は、CircleCI の環境変数で事前に指定しておきます。環境変数の指定方法は、CircleCI 1.0 の時と変わりません。

プロジェクトの設定

環境変数の設定

まとめ

IBM Bluemix は CircleCI 2.0 から簡単にデプロイ可能です。また、他の Cloud Foundary ベースの PaaS に対しても、同様の手法が適応することができはずです。

IBM Bluemix は無料で試せるので、興味のある方はぜひ触ってみてください。

4
3
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
4
3