LoginSignup
3
0

More than 5 years have passed since last update.

CircleCIの設定変更を Git コミットせずにローカルで試すチュートリアル

Posted at

はじめに

最近、CircleCI の公式 YouTube チャンネルを見つけ、動画での学習を試しています。

その中で、CircleCI の設定変更を git コミットせずに試すチュートリアル動画があったので、動画を観つつ検証した手順を残しておこうと思います。

tl;dr

  • CircleCI は、Githubリポジトリ、リポジトリのリビジョン、CircleCI の API トークンを指定さえすれば、いちいち config.yml を git で更新しなくても HTTPS API 経由で実行検証できる

前提

CircleCIのセットアップ

CircleCI 公式ドキュメントのFirst CircleCI Build は実施していて、最低限の CircleCI 実行は試せるものとします。

参照したチュートリアル動画

今回の記事の内容に関する動画です。

Run builds on CircleCI using a local config file - YouTube

チュートリアル動画の補足記事

チュートリアル動画の内容に関する補足は下記に載っています。

Run builds on CircleCI using a local config file - Tips, Tricks and Hacks - CircleCI Community Discussion

検証手順

ここからは動画の内容に従って検証していきます。

ローカル環境にディレクトリ作成

ローカル環境にCircleCIの設定ファイルと、curl を実行するスクリプトを準備できるよう、ディレクトリを作ります。

$ mkdir -p circleci-tools/pushConfig

config.yml をローカルに作成

CircleCI で実行する処理を記述する config.yml を準備します。

$ vim circleci-tools/pushConfig/config.yml
circleci-tools/pushConfig/config.yml
version: 2
jobs:
  build: 
    machine: true
    steps:
      - run: echo 'test'

curl コマンドのスクリプトを作成

ローカルの config.yml を基に CircleCI を実行するためのスクリプトを作成します。

$ vim circleci-tools/pushConfig/pushConfig.sh
circleci-tools/pushConfig/pushConfig.sh
GITHUB_REVISION=XXXX
curl --user ${CIRCLE_TOKEN}: \
  --request POST \
  --form revision=${GITHUB_REVISION} \
  --form config=@config.yml \
  --form notify=false \
    https://circleci.com/api/v1.1/project/github/gotchane/circleci-101/tree/master

CircleCI の API 実行を、curl コマンドから実施しています。

GITHUB_REVISION は CircleCI を実行したい Githubリポジトリのコミットのハッシュ値を指定します。

CIRCLE_TOKEN には後ほど取得する CircleCI の API トークンを環境変数で指定します。

API の URL はgotchane/circleci-101 の部分を環境に応じてユーザー名・リポジトリ名共に変更します。

CircleCI の API トークンを取得する

CircleCI の GUI コンソールを開き、画面右上の「User settings」をクリックして User Settings 画面に移動します。

左側のサブメニューから「Personal API Tokens」をクリックし、新しい API トークンを作成します。

image.png

作成した API トークンは控えておき、circleci-tools/pushConfig/pushConfig.sh を実行する前に環境変数として設定しておきます。

$ export CIRCLE_TOKEN=XXXXX

スクリプト実行

CircleCI の API トークン、git のリビジョンを curl コマンドに反映したら、スクリプトを実行します。

$ cd circleci-tools/pushConfig
$ chmod +x pushConfig.sh
$ ./pushConfig.sh

実行確認

ローカルの config.yml を基にCircleCI が実行されているか確認します。

image.png

終わりに

今回検証をやってみて、いちいちコミットしなくても config.yml を検証できるのは便利だなと思いました。

また今回は動画を観ながら検証をやってみたのですが、理解が進みやすかったなと思います。ただ、動画だけでなく、ドキュメントや関連ブログ記事といった補助的な情報にも触れていくといいなと思いました。

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