無料でビルドを開始
CircleCI.comアカデミーブログコミュニティサポート

SSH 経由でのデプロイ

12 months ago1 min read
クラウド
Server v4.x
Server v3.x
このページの内容

このノウハウガイドでは、SSH経由でアプリケーションをデプロイするためのCircleCIの設定方法について説明します。

1. ターゲットのSSHキーを追加

まずは、デプロイ先のSSHキーを追加します(この手順は、クラウド、Server v3.x、Server v4.x の場合です)。

  1. ターミナルで、ssh-keygen -t ed25519 -C "your_email@example.com" でキーを生成します。 詳しくは、 Secure Shell ドキュメントを参照してください。

  2. CircleCI アプリケーションで、 [Project Settings (プロジェクトの設定)] ボタン (作業対象のプロジェクトの パイプラインのページの右上) をクリックして、プロジェクトの設定に移動します。

  3. [Project Settings (プロジェクトの設定)] で、 [SSH Keys (SSH キー)] をクリックします (画面左側のメニュー)。

  4. スクロールし、 [Additional SSH Keys (追加 SSH キー)] のセクションに移動します。

  5. Add SSH Key ボタンをクリックします

  6. [Hostname (ホスト名)] フィールドにキーに関連付けるホスト名を入力します (例: git.heroku.com)。 ホスト名を指定しない場合は、どのホストに対しても同じキーが使われます。

  7. [Private Key (プライベート キー)] フィールドに登録する SSH キーを貼り付けます。

  8. Add SSH Key ボタンをクリックします

詳しくは、 CircleCI に SSH キーを登録 ガイドをご覧ください。

2. SSHのユーザー名とホスト名を追加

ビルド VM の SSH ユーザー名と SSH ホスト名を環境変数として追加します。 手順については、 プロジェクトでの環境変数の設定をご確認ください。 以下の例では、これらの変数はそれぞれ SSH_USER および SSH_HOST として定義されています。

3. デプロイジョブの作成

.circleci/config.ymldeploy ジョブを作成し、main ブランチをデプロイするためのコマンドを追加します。

version: 2.1

jobs:
    build:
    #...
    deploy:
    machine:
        enabled: true
    steps:
        - run:
            name: Deploy Over SSH
            command: |
            ssh $SSH_USER@$SSH_HOST "<remote deploy command>"

workflows:
    build-and-deploy:
    jobs:
        - build
        - deploy:
            requires:
            - build # only deploy once build job has completed
            filters:
            branches:
                only: main # only deploy on the main branch

Suggest an edit to this page

Make a contribution
Learn how to contribute