SCP を使用したデプロイ

このガイドでは、Bitbucket Pipelines で SCP-deploy パイプを使用してリモート ホストにファイルをデプロイする方法を説明します。

この例では、シンプルな ReactApp を作成し、SCP-deploy パイプを使用して本番環境にデプロイしました。

Pipelines とパイプを使用した自身のホストへのデプロイをハンズオンで確認したい場合、このリポジトリで完全なエンドツーエンドのサンプルを利用できます。

前提条件:

  • ssh アクセスが可能なリモート ホスト

  • Bitbucket リポジトリ

ステップ 1: プロジェクト用に Bitbucket リポジトリを構成する

Bitbucket の資格情報と構成設定を変数として追加します (「Pipelines 変数の設定方法」を参照)。

名前
USER

リモート ホストで構成されているユーザー。

SERVER

ファイルの転送先のリモート ホスト。


これらの変数は、デプロイメント環境、リポジトリ、またはチーム レベルで定義できます。以下の例は、リポジトリ変数を示しています。

ステップ 2: SSH キーを構成する

Bitbucket Pipelines で SSH キーをセットアップするか、保護された変数 SSH_KEY として提供します (「複数の ssh キーの使用」を参照)。既定では、SCP-deploy パイプは構成された SSH キーと known_hosts ファイルを使用します。

ステップ 3: サーバーを構成する

リモート ホスト (本番環境ノード) でを次のように構成します。

  • ユーザーによる HTTP (ポート 80) への接続を許可します。
  • アクセスを許可するように ssh キーを構成します。

サーバーで NGINX を使用する場合の構成例を示します。注: この構成はデモのみを目的としています。

server {
        listen 80;
        listen [::]:80;

        root /var/www/scp-deploy/html;
        index index.html index.htm;

        server_name <your_host_public_DNS_name>, <example.com>;

        location / {
                try_files $uri $uri/ =404;
        }
}

ステップ 4: CI/CD 構成をセットアップする

bitbucket-pipelines.yml ファイルを編集します。

SCP-deploy パイプの詳細を調べるには、エディタの右側でそれを選択します。

次のステップを bitbucket-pipelines.yml に追加します。

image: node:10.15.3

pipelines:
  default:
    - step:
        name: Build and test
        caches:
          - node
        script:
          - npm install 
          - npm test
          - npm run build
        artifacts:
          - build/**
    - step:
        name: Deploy artifacts using SCP to PROD
        deployment: production
        script:
          - pipe: atlassian/scp-deploy:0.3.3
            variables:
              USER: $USER
              SERVER: $SERVER
              REMOTE_PATH: '/var/www/scp-deploy/html'
              LOCAL_PATH: 'build/*'

この構成では、Bitbucket リポジトリにプッシュするたびに SCP-deploy パイプを使用して、テストを実行し、ビルドして、リモート ホストにファイルをデプロイできます。「Bitbucket Pipelines 設定を編集および設定する方法」の詳細をご覧ください。


ステップ 5: アプリケーションを本番環境にデプロイする

アプリケーションのコードを Bitbucket リポジトリにプッシュし、それによってパイプラインをトリガーします。[Pipelines] を選択して、パイプラインの進行状況を確認できます。 

これで、ユーザーは優れたアプリケーションのビルドに集中して取り組みながら、その他の作業を Bitbucket Pipelines で処理できるようになりました。


最終更新日 2019 年 6 月 20 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.