2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CircleCIの導入でやったことと学んだこと(と、おまけ)

Posted at

CircleCIをGitHubのリポジトリに導入したい😾

前にいた現場で使っていて便利だったので、自分のポートフォリオのリポジトリにも導入したい!
という訳でやってみました。(自動化っていい響き…)
またセットアップするときに忘れていそうだったので備忘録として書いておきます。

実現したいこと

  • GitHubのリポジトリにプッシュしたときにSCSSが自動でyarn Lintされる

試したこと

1. CircleCIに登録

まずCircleCIのサイトに訪れてサインアップ。日本語化もされていてありがたいです🙏
しかしダッシュボードの使い方がわからず撃沈。

2. CircleCIのドキュメントを読む

公式ドキュメントを読まないのは本当に自分の悪い癖なので、気を取り直してドキュメントを読みます。
イントロダクションの通りに新しくテスト用のリポジトリを作ってすすめてみます。

【ここでやってしまったミス☟】

  • yamlファイルの拡張子を間違える → ○: *.yml ×: *.yaml
  • yamlファイルのインデントのミス (FAILEDの理由はほぼこれ)

yamlファイルには気を付けたいです…ともかくテストが通るようになったのでOK!

Screen Shot 2019-11-17 at 20.03.22.png
(数々のBuild Error…悲しみ)

3. ポートフォリオのリポジトリにCircleCIを実装する!

おまちかねの実装タイム!とりあえずリポジトリに.circleci/config.ymlを作成。
中身はイントロダクションページで紹介されている、
「Workspaces 機能を使ってみる」のコードを仮で入れてプッシュ。
(一回.circleci/.config.ymlにしてBuild Errorを食らいましたが)
無事通ったのでyarn lint:SCSSをするように書き換えてみます。

しかし「そもそもどうやってCircleCIにyarnしてもらうん?」レベルだったので
こちらの記事にお世話になりました🙏
CircleCI 2.0 で Node.js のテストを試す

version: 2
jobs:
  lint_scss:
    docker:
      - image: node:12.13.0
    steps:
      - checkout
      - restore_cache:
          key: projectname-{{ .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: Lint
          command: yarn lint:scss
      - save_cache:
          key: projectname-{{ .Branch }}-{{ checksum "yarn.lock" }}
          paths:
            - ~/workspace/node_modules
            - ~/.cache/yarn/
workflows:
  version: 2
  lint_scss:
    jobs:
      - lint_scss

docker imageのnodeのバージョンが参考記事のままだとうまくいかなかったので
12.13.0に変更しています。

このconfig.ymlでプッシュした結果が…
Screen Shot 2019-11-17 at 20.38.20.png
Lintで怒られている…!CircleCIが動いているようです🎉🎉🎉うれしいError!

学んだこと

  • CircleCIに関してはイントロダクションページを参考にすることである程度動かせるようになる(あまり怖がらなくて大丈夫)
  • yarn系の指示を出すにはnodeのイメージが必要
  • yamlファイルの書き方に注意(特にインデント)

おまけ

GitHubのリポジトリにPRなど動きがあったらSlackに通知が行くようにしたい!

  1. ワークスペースにツールを連携のページに従ってhttps://slack.github.com/にアクセス🤗

  2. SlackとGitHubの接続が済んだら、GitHubのPersonal settingsのApplicationsメニューを選んでSlackのConfigureをクリック。
    ここでRepository accessなどを設定できます!(uninstallもここから)

  3. Slackに戻って通知を受け取りたいチャンネルのメッセージに /github subscribe [ownerの名前]/[repository名]を書き込んで送信

  4. 繋がりました!通知が来るようになります!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?