CircleCIのジョブ上でリポジトリにコミットをプッシュする方法

 

新しいコミットを作成し、CircleCI ジョブ上で同じリポジトリにプッシュする必要があるケースを想定しています。

設定手順

上記のユースケースを行うための CircleCI プロジェクトの設定を紹介します。

1) CircleCI 上でユーザー キーを作成、もしくは手動で作成した 読み取り/書き込み 権限のあるデプロイキーをプロジェクトに設定します

1a) ユーザー キーを使用する場合は、https://circleci.com/:vcs-type/:org-name/:project-name/edit#checkout にアクセスし、[Authorize with GitHub] ボタンをクリックします。

1b) 読み取り/書き込み 権限のあるデプロイキーを使用する場合は、次のリンクに従ってキーを作成し、そのキーをプロジェクトに設定します。 https://circleci.com/docs/2.0/gh-bb-integration/#creating-a-github-user-key または https://circleci.com/docs/2.0/gh-bb-integration/#creating-a-bitbucket-user-key(Bitbucket ユーザーの場合)

 

一般的な問題:

1) "*** Please tell me who you are." というエラーメッセージが "git commit" を実行する際に表示される

CircleCI のコンフィグファイル(config.yml)で、`git commit` を実行する前に、次のように ` git config` を使用してメールアドレスとユーザー名を設定するする必要があります。

git config user.email "username@mydomain.com"
git config user.name "My Name"


2) git push を実行すると "ERROR: The key you are authenticating with has been marked as read only." が発生する

CircleCI にプロジェクトを追加すると、そのプロジェクトに設定されるデプロイキーには、デフォルトで読み取り権限のみが付与されます。そのため、上記のエラーメッセージを回避するには、書き込み権限のあるキーを設定する必要があります。 ユーザー キーまたは 読み取り/書き込み 権限のある デプロイキー がプロジェクトで設定されていることを確認してください。

読み取り/ 書き込みデプロイキーを使用している場合は、設定に add_ssh_keys ステップを追加してください。 フィンガープリントの値は、https://circleci.com/:vcs-type/:org-name/:project-name/edit#ssh に表示されている値と一致する必要があります。

 

3) 生成したコミットから新しいビルドがトリガーされないようにする方法

コミットによって新しいビルドがトリガーされないようにするには、"[skip ci]" をコミットメッセージに追加します。 詳細については、https://circleci.com/docs/2.0/skip-build/#skipping-a-build を参照してください。

 

この記事は役に立ちましたか?
26人中7人がこの記事が役に立ったと言っています

コメント

0件のコメント

サインインしてコメントを残してください。