2

2 つのジョブを使用して Jenkins サーバーをセットアップしています

最初のジョブは開発ブランチをポーリングし、jenkins サーバーでプロジェクトをビルドします。次に、プロダクションブランチをポーリングする別のジョブがあり、ステージングサーバーである別のジェンキンススレーブにこのブランチを構築します。このジョブは、ビルドが成功すると、ssh 経由で成果物を運用サーバーに公開するように構成されています。

すべての SSh キーがセットアップされ、ステージング サーバーが運用サーバーに接続されますが、転送されるファイルはありません

using GIT_SSH to set credentials Bitbucket Repo

using .gitcredentials to set credentials
Checking out Revision 89874cc01a9f669df69817b1049b1ab98ecb19d3 (origin/Production)

SSH: Connecting from host [nginx-php-fastcgi]
SSH: Connecting with configuration [AmazonAWS] ...

SSH: Disconnecting configuration [AmazonAWS] ...
SSH: Transferred 0 file(s)
Finished: SUCCESS

Jenkins は、ステージング サーバー上のワークスペースを使用してファイルをデプロイするようにセットアップされています。

ステージング ワークスペースを確認すると、そこにファイルが構築されていますが、prod サーバーには送信されていません。助言がありますか??

また、次のように別の削除プレフィックスを試してみました。ここでは、SSH プラグインを介した公開を使用して Jenkins が 0 ファイルを転送しています。 提案されているように、別の削除プレフィックスパスも試しました

4

1 に答える 1

2

ライン/*から削除する必要がありますRemove prefix

編集:仕事のワークスペースの外にいることはできません
Source filesファイルがワークスペースのルートにある場合は、*すべてのワークスペース ファイルを転送するか**/*、サブディレクトリを含めるように設定します。それ以外の場合は、 に対するパターンを指定します${WORKSPACE}

リーディングを追加しても/、それをワークスペースに追加するだけなので、それを回避することはできません${WORKSPACE}/var/www/workspace/opms-staging-server。親ディレクトリ../を使用しても機能しません。これはセキュリティ上の懸念のためです。そうしないと、ジョブ コンフィギュアラーがプライベート ファイルを Jenkins サーバーから転送する可能性があります。

別のジョブからファイルを取得する必要がある場合は、Copy Artifactsビルド ステップを使用する必要があります。それがあなたの場合かどうか教えてください。さらに説明します。

于 2014-04-21T13:59:10.697 に答える