6

Bitbucket リポジトリでパイプラインを有効にしており、ビルドのたびに Angular 2 ビルドを実行し、dist フォルダー (ビルド コマンドの実行後に作成される) をサーバーにデプロイする必要があります。

bitbucket-pipelines.yml ファイルに次のように記述しています。

image: node:4.6.0

pipelines:
  default:
    - step:
        script: # Modify the commands below to build your repository.
          - npm install
          - npm run build:prod

インターネットで次のコード スニペットを見つけました。

- apt-get update
- apt-get -qq install git-ftp
- git ftp push --user $FTP_USERNAME --passwd $FTP_PASSWORD ftp://123.456.789.123/timount/angular_app

PEM ファイルを使用して、SSH クライアント経由でサーバーにログインします。では、上記のコード スニペットは役に立ちますか? そうでない場合、上記のコマンドで pem ファイルを使用するにはどうすればよいですか?

より明確にするために、npm run build:prodコマンドは実際にdistフォルダーを作成します。これは、サーバー上の上記の場所にデプロイする必要があります。どうすればこれを達成できますか?

4

3 に答える 3

2

答えではない

ここで Git FTP が必要だとは思いません。彼らのウェブサイトを見ると、それが製品である理由は、変更されたファイルのみを展開するためです. distビルドするたびに、フォルダー全体が再作成されるのではないかと思います。そうでなくても、彼らは次のように述べています。

サーバー上のログ ファイルにコミット ID を保存することで、アップロードされたファイルを追跡します。Git を使用して、変更されたローカル ファイルを特定します。

Bitbucket Pipelines インスタンスは一時的なものであるため、ログを保存する場所がありません。git-ftpそれは、使用する動機をまったく損なうものです。ログをどこかにプッシュして取得できると思いますが、それがあなたの時間の価値があるとしたら、私は驚きます.

答え

あなたがやろうとしていることについて特に特別なことはないと思います.AngularとGitがたまたま関係しているだけですが、あるマシンから別のマシンにフォルダを移動しようとしているだけです. それを支援するために利用できるソフトウェア製品はたくさんありますがscp、Secure Copy の略である は、多くの Linux ディストリビューションに含まれている最も人気のある製品の 1 つです (どの Docker コンテナーを構築していますか?)。ここで多数の例を見ることができますが、本質的には、あなたがやりたいことは次のようになると思います:

scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path

このStackOverflowの質問からの例)

接続先のサーバーが公開されていることを確認する必要があることに注意してください。そうしないと、Pipelines ビルドからターゲット コンピューターにルーティングする方法がありません (私の知る限り)。

于 2017-01-10T06:49:43.790 に答える
0

この Github スレッドに投稿したgit-ftpように、追跡されたファイルの変更のみをデプロイするように設計されていますが、実際にはdist、これらのファイルが追跡されていない場合でも、すべてのコミットでフォルダー全体をデプロイすることができます。

最初に、レポのルートで呼び出されるファイルを作成し.git-ftp-include、dist フォルダーへのパスを含む 1 行を追加!して、行の先頭に確実に追加する必要があります。

!.vuepress/dist/

次に、次のコマンドを実行します。

git ftp push --all --syncroot .vuepress/dist/

--allすべてのファイル (変更されていないものも含む) を--syncrootアップロードしますが、指定されたフォルダー内のファイルのみをアップロードします (ルートフォルダーにアップロードします)。

于 2019-04-01T10:16:56.057 に答える