• ..

Figma

    GitHub にプッシュする

    CircleCI 上のリポジトリでは、最初から以下のようなリモート設定がされているようです。

    origin  git@github.com:user/repo.git (fetch)
    origin  git@github.com:user/repo.git (push)

    github.com に ssh できるようにする

    対象のプロジェクトの設定の

    1. SSH Permissions
    2. Add SSH Key

    から以下のように「Hostname」にはgithub.comを設定し、「Private Key」には自分がいつも使っている秘密鍵の内容をコピペして追加します。

    一覧画面のそのホストの行にフィンガープリントが一緒に置いてあるはずなのでそれをコピーしておきます。

    .circleci/config.yaml の編集

    ssh時に鍵認証できる必要があるので.ssh/configを編集する必要があります。これにはstepsadd_ssh_keysを設定しておきます。以下のような感じです。

    jobs:
      - checkout
      - add_ssh_keys:
          fingerprints:
            - '**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**'

    この'**:**:...の部分に先ほどコピーしたフィンガープリントを置きます。これでここを実行した時に~/.ssh/configに以下のような設定が追加されます。

    Host github.com
      IdentitiesOnly yes
      IdentityFile /home/circleci/.ssh/id_rsa_********************************

    step で push する

    git pushを実行するには、 git ユーザーのメールと名前は最低限設定する必要があるのでそれらを設定した上でgit pushします。

    steps:
      - ...
      - run:
          name: git push
          command: |
            git config --global user.email "$GIT_AUTHOR_EMAIL"
            git config --global user.name "$GIT_AUTHOR_NAME"
            # add とかするならここで
            export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
            git push origin master:****