2

本番環境から NetSuite サンドボックスを更新 (コードのみ)

本番環境からサンドボックスをリフレッシュできることはわかっていますが、サンドボックス全体をリフレッシュするのではなく、NetSuite SuiteScript、NetSuite フォーム、および UI オブジェクトをリフレッシュしたいと考えています。

NetSuite 独自のインフラストラクチャ/コードとそれがもたらす課題

基本的すぎると思って数週間この質問をするのをためらっていましたが、そうではないようです。しばらく NetSuite を使用した後、ソース コードとデータの境界線が曖昧になっていることが明らかになりました。私の意見では、これがまさにコードの更新を困難にしている原因です。

また、NetSuite コードをバージョン管理ソフトウェアに保存することは (すべてのコードについて) 不可能に近いことも学びました。これにより、コードだけを更新したいという私の願望も同様に不可能かもしれないと考えるようになりました。SOX コンプライアンスの問題に悩まされている IT ショップが、ビジネス ロジックの制御と変更に関して、どのように監査人を満足させることができるのか疑問に思う必要があります。

サンドボックス コードを更新する本当の疑問と理由

サンドボックス コードを更新する動機は、カスタム税フィールド (Ava-Tax) が項目タブからトランザクション本文フィールドを含むタブに不思議なことに移動した特定のフォーム (請求書と見積もり) で、サンドボックス アカウントで予期しない動作に遭遇したという事実です。 ! フォームは 1 年以上誰も更新されていないようで、フォームを壊した可能性のあるパッケージがサンドボックスにインストールされていませんでした。

ソース コードを更新できない場合、NetSuite フォームが独自の方法で保存され、明らかなソース コードが利用できないことを知って、NetSuite フォームがどのように破損したかを判断する方法はありますか? 私は、NetSuite コードのほとんどがサーバーとクライアントの両方で実行される JavaScript であり、NetSuite 外部のユーザーが使用できない部分があることを理解しています。

解決策や提案は大歓迎です。

4

3 に答える 3

3

ソース管理に NetSuite コードを保存することはまったく不可能ではありません。git を使用してすべての NetSuite ソースを追跡し、gitflow と同様のプロセスに従います。私たちのmasterブランチは常にプロダクションと同期しています。コードを本番環境にプッシュするたびに、機能/修正ブランチからマージさmasterれ、リリースとしてタグ付けされます。ロールバックしたい場合はmaster、コミットを元に戻し、プロジェクト全体をファイル キャビネットにアップロードするだけです。次に、本番に合わせてサンドボックスを更新する場合は、masterそのすべてをチェックアウトしてサンドボックスにアップロードするだけです。

サンドボックス自体は、ソース内の単一のブランチとの同期を維持するのがはるかに困難です。これは、別の機能ブランチで常に開発しているためです。

そのようなシステムをまだ導入していない場合は、本番ファイル キャビネットから SuiteScripts フォルダーの zip をダウンロードし、それをサンドボックスにアップロードするだけで済みます。

于 2015-08-07T17:25:46.683 に答える
1

ここで一言で説明するのは簡単ではありませんが、展開アカウントを使用して、適切に機能させることができます。したがって、開発者アカウントで継続的に作業し、複数のバンドル/バンドル バージョンをフォロー ブランチ/カスタマイズ バージョンに使用します。バージョンが安定していて、実稼働環境が常に (開発ではなく) デプロイからバンドル バージョンをインストール/更新する場合にのみ、バンドルを dev から deploy アカウントに更新します。バンドルはバージョン管理可能で無限であるため、git + dev + deploy アカウントを使用して Cvs を管理できます。フォームのバージョン管理可能なバージョンを取得するには、任意のフォームの URL に &xml=t を追加するだけです。しかし、これは読み取り専用です

于 2016-03-24T09:00:05.260 に答える