Bitbucket Cloud の使用を開始する
Bitbucket Cloud を初めてお使いですか? 新規ユーザー用のガイドをご利用ください。
このガイドでは、Bitbucket Pipelines で SCP-deploy パイプを使用してリモート ホストにファイルをデプロイする方法を説明します。
この例では、シンプルな ReactApp を作成し、SCP-deploy パイプを使用して本番環境にデプロイしました。
Pipelines とパイプを使用した自身のホストへのデプロイをハンズオンで確認したい場合、このリポジトリで完全なエンドツーエンドのサンプルを利用できます。
ssh アクセスが可能なリモート ホスト
Bitbucket リポジトリ
Bitbucket の資格情報と構成設定を変数として追加します (「Pipelines 変数の設定方法」を参照)。
名前 | 値 |
---|---|
USER | リモート ホストで構成されているユーザー。 |
SERVER | ファイルの転送先のリモート ホスト。 |
これらの変数は、デプロイメント環境、リポジトリ、またはチーム レベルで定義できます。
Bitbucket Pipelines で SSH キーをセットアップするか、保護された変数 SSH_KEY として提供します (「複数の ssh キーの使用」を参照)。初期設定では、SCP-deploy パイプは構成された SSH キーと known_hosts ファイルを使用します。
リモート ホスト (本番環境ノード) でを次のように構成します。
ユーザーによる HTTP (ポート 80) への接続を許可します。
アクセスを許可するように ssh キーを構成します。
サーバーで NGINX を使用する場合の構成例を示します。注: この構成はデモのみを目的としています。
1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}
}
bitbucket-pipelines.yml ファイルを編集します。SCP-deploy パイプの詳細を調べるには、エディターの右側でそれを選択します。
次のステップを bitbucket-pipelines.yml に追加します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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 設定を編集および設定する方法」の詳細をご覧ください。
注意: LOCAL_PATH でファイル グロブを使用して、デプロイするファイルを指定できます。
たとえば、$BITBUCKET_CLONE_DIR デフォルト変数を使用できます。これは、Docker コンテナ内でリポジトリがクローンされるディレクトリの絶対パスです。
1
2
LOCAL_PATH: '${BITBUCKET_CLONE_DIR}' # copy the current directory and all included files. Keeps the parent directory structure.
LOCAL_PATH: '${BITBUCKET_CLONE_DIR}/*' # copy the contents from the current directory.
または、'custom/local/path' を指定することもできます。
1
2
LOCAL_PATH: 'custom/local/path' # copy your custom directory and all included files. Keeps the parent directory structure.
LOCAL_PATH: 'custom/local/path/*' # copy the contents from your custom directory.
LOCAL_PATH 変数として '/' (スラッシュ) を指定すると、ルート ビルド コンテナ ファイルシステムからすべてのファイルがコピーされます。ビルド ディレクトリからすべてのファイルをコピーする場合は、相対ディレクトリの custom/local/path または ${BITBUCKET_CLONE_DIR}/* の使用をお勧めします。
アプリケーションのコードを Bitbucket リポジトリにプッシュし、それによってパイプラインをトリガーします。[Pipelines] を選択して、パイプラインの進行状況を確認できます。
これで、ユーザーは優れたアプリケーションのビルドに集中して取り組みながら、その他の作業を Bitbucket Pipelines で処理できるようになりました。
この内容はお役に立ちましたか?