フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援
フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援

cURLでPOSTする際にCURLOPT_POSTFIELDSで渡す値が文字列か配列かでheaderのContent-Typeが変わるの知らなくて詰んだ

はじめに

人生って大変ですね。プログラマ辞めてワルキューレに入りたいです。

Laravel でphanを回すって記事はそこそこあるし、 師tadsanのデカルチャーな記事 など当たれば phan について大体わかると思いますが、 CircleCI 2.0 と組み合わせるとなると全然見当たらなかったので頑張りました。

phanphpunit をCIで回すと快適に夜眠れるので安心して眠ることができるので回すことをおすすめします。

コード抜粋

version: 2
jobs:
  build:
    docker:
      - image: circleci/php:7.1-node-browsers
      - image: circleci/mysql:5.7
    environment:
      - APP_DEBUG: true
    working_directory: ~/repo
    steps:
      - checkout
      - run: sudo apt-get install -y libzip-dev libpng-dev libsqlite3-dev
      - run: sudo docker-php-ext-install pdo_mysql zip
      - run:
          name: Install php-ast
          command: |
            cd ~
            git clone https://github.com/nikic/php-ast
            cd php-ast
            phpize
            ./configure
            make
            sudo make install
            echo -e "extension=ast.so" | sudo tee /usr/local/etc/php/php.ini > /dev/null
      - restore_cache:
          keys:
          - v1-dependencies-
          - v1-dependencies-
      - run: cd ~/repo
      - run: composer install -n --prefer-dist
      - save_cache:
          paths:
            - ./vendor
          key: v1-dependencies-
      - run: composer phan
workflows:
  version: 2
  build-and-deploy:
    jobs:
      - build
      - deploy:
          requires:
            - build
          filters:
            branches:
              only: /^develop$|^staging$/

雑に解説

phpCircleCI 側が用意してくれてるdockerを使えば楽チンに入りました楽勝!
name: Install php-ast の部分がめんどくさかったです。phan には php-ast extensionが必要なのですが、良いやり方がなかったのでとりあえず make して php.iniextension=ast.so を追加するように書きました。

docker image を作ってる方もいらっしゃいますが、なるべく circleci が提供してる docker image に合わせたかったのでこういう風にしました。

おわり

もっといいやり方、ここちげーよ、などあればコメントください

コメント

記事に戻る

コメントを残す