4D-JUG
Would you like to react to this message? Create an account in a few clicks or log in to continue.

プロジェクトモードとgit

2 posters

Go down

プロジェクトモードとgit Empty プロジェクトモードとgit

投稿 by hosaka 2022-05-11, 4:48 pm

プロジェクトモードは様子見の状態だったのですが、 Apple シリコンのM1Mac登場で移行せざるいかなくなりました。
C/Sで運用予定だったのですが、C/Sだと今までできたクライアントから接続して運用しながらの編集ができないことがわかりました。
どうもGitをつかったバージョン管理を推奨しているようなのですが、バージョン管理をするGitサーバーはどうしていますでしょうか。
お客様のところのソースコードなので、セキュリティ的におすすめのところはありますでしょうか。
やっぱりgitHubなんでしょうかね Rolling Eyes
hosaka
hosaka

投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by miyako 2022-05-17, 9:06 am

プロジェクトモードの場合,サーバー側のデスクトップで起動したクライアント(=ローカルクライアント)は,シングルユーザー版と同じように実行中のプロジェクトを編集することができます。そのようなクライアントは,ループバックのネットワーク接続をせず,ソースコードをサーバーと共有する格好でデザインモードを操作することになります。

参考: 4D と 4D Server の同じマシン上での使用

プライベートなGitソリューションということであれば,GitLabが一般的なようです。GitHubもリポジトリをプライベートに設定すれば,非公開となります。似たようなサービスでBitbucketもプライベートにできます。

miyako

投稿数 : 483
登録日 : 2016/07/05

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by hosaka 2022-05-18, 1:49 pm

サーバー上でサーバーとクライアントを起動した場合のみ編集可能というのがとても使いにくいです。

サーバーがWindowsでクライアントにMacとWindowsがある場合、WindowsのメンテナンスはできてもMacのメンテナンスがやりにくいので
とても困っています。
今まで出来ていたクラインアントPC(Mac)側でのメンテナンスに変わる良い方法があればよいのですが....
例えば、デベロッパライセンスを持っているWindowsもしくはMacからアクセスされた場合のみ編集可能とかならよかったと思います。これ変な仕様ですよね。
hosaka
hosaka

投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by miyako 2022-05-18, 2:41 pm

デベロッパライセンスを持っているWindowsもしくはMacからアクセスされた場合のみ編集可能とかなら

プロジェクトモードのローカルクライアント仕様は,ライセンス上の制約ではなく,ソースコードがテキストファイルになったことに由来しています。

ライセンスに関していえば,

ゴールド・パートナー

開発モードとして「複数同時アクセス」ではなく「スタンダロン」を選択された場合、従来の 4D Developer Professional x 3本の代わりに 4D Developer Bundle という名称の、4D Developer Professional と 4D Development Server が同梱された新ライセンスを 3本ご提供いたします。この 4D Developer Bundle ライセンスは、git を利用したプロジェクトモードでの開発を支援するために導入されました。4D Development Server が同梱されているため、開発者様は個別にクライアントサーバー環境でのテストを行うことができます。なお、テスト目的のみで、実運用には使用できません。

ライセンス番号は1つですので、1台のマシン上でアクティベーションされます。追加の開発ライセンスについても、4D Bundleをご提供致します。これまでのテスト用サーバー・ライセンス1本は引き続きご利用いただけます。4D Team Developer Professional(複数同時アクセス)を選択された場合、これまでと変更はありません。

この仕様変更にともない、2022年度に限り「Developer Professional」と「Developer Bundle」の両方をご提供させていただくことになりました。追加の「Developer Bundle」ライセンスを文末のとおりご連絡申し上げますので、ご確認いただけましたら幸いです。来年度は「Developer Bundle」のみとなる予定となっておりますので、ぜひこの機会に「Developer Bundle」をお試しいただけましたら幸いです。「Developer Bundle」は v19よりご利用いただけます。

というお知らせがあったと思います。

https://download.4d.com/Documents/Website/PartnerProgram/JP/PartnerProgram_Brochure_jp.pdf

つまり,「これまでのテスト用サーバー・ライセンス1本」以外にPNDB・・・から始まるライセンス番号が1月に発行されているかと思います。

なお,これはナイショの情報ですが,将来のバージョンでソースコードを共有フォルダーに置くことにより,同一マシンでなくても「ローカルクライアント開発」ができるようにする,というアイデアが検討されています。

miyako

投稿数 : 483
登録日 : 2016/07/05

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by hosaka 2022-05-18, 6:16 pm

開発者側での開発の問題ではなくて。

たとえば、不具合が発生した時に
いままでは、
客先へVPN接続後、4Dをクライアント接続します。 
トレースしながら状況の把握をおこないます。
状況によってデバッグコードを追記して再度トレース実行などの一連の作業が可能でしたが

これがプロジェクトモード(特にクライアントマシンがMacの場合)だと

トレースまでは可能だと思いますが、
1.その後のデバッグコードを追加するために一旦接続解除。
2.サーバーにRDPで接続して4Dを接続、デバッグコードを記述。
3.再度クライアントから4D再接続、再トレース

となると思います。これはすごい手間ですよね。
hosaka
hosaka

投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by hosaka 2022-05-19, 9:52 pm

上の話を前提にgitの話に戻しますね。

今後の手法としては
準備.開発側と運用側にgitクライアントを導入して、インターネットのどこかにあるgitサーバーのリモートリポジトリにソースコードを置く。

問題が発生すると
1.運用側で調査/トレースしながら、開発側でデバッグコード追加などを行う。
2.開発側からソースコードをコミット。運用側でクローンする。
3.運用側でクローンしたソースコードを反映する。
あとは1から3を問題解決するまで繰り返す。

この様な理解なのですが間違っているところや、もっと簡単な方法があれば教えて下さい。
hosaka
hosaka

投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by miyako 2022-05-20, 12:36 pm

Gitは,履歴管理と分散開発のツールですので,ソースコードを更新することが目的であれば,SFTPやボリューム共有など,何らかの方法でファイルを入れ替えることができれば良いかと思います。

インタープリターモードでファイルがリロードされるタイミングですが

https://developer.4d.com/docs/ja/Project/developing.html

  • 4D Server アプリケーションウィンドウが OS の最前面に来た
  • 同じマシン上の 4D アプリケーションが編集を保存した
  • RELOAD PROJECT コマンドが実行された

のいずれか,となっています。

https://blog.4d.com/server-code-development-in-project-applications/

miyako

投稿数 : 483
登録日 : 2016/07/05

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by hosaka 2022-05-20, 1:48 pm

ということは、バージョン管理の必要がなければgitにこだわる必要はないんですね。
ただし、今までのリモート接続でのメンテナンス作業はのぞめないと。

現実的なところだと
1.デバッグ作業はC/Sで行う。
2.修正はローカルで行う。
3.修正したローカルソースをサーバーへコピー後、RELOAD PROJECTを実行
※サーバー側で運用中でもソースコードの差し替えは可能。

こんなところでしょうか。
hosaka
hosaka

投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by hosaka 2022-05-23, 11:23 pm

実際に導入してきました。

感想としては、
1.今までの様にクライアント接続して編集できないので面倒ですね。
2.サーバーを動作させながらの差し替えはできました。ですがクライアント側は4Dの再起動が必要でした。
3.ラジオボタンがグループ化ではなくてrb1,rb2としていたので変換後、連動する動作をしてくれませんでした。
プロジェクトモードではグループ化でもなく、プロパティにグループ名を登録するところがありそこに同じグループ名を登録する必要がありました。
4.サーバー上でもログインユーザーが違うと編集不可でした。

こんなとこですかね。
hosaka
hosaka

投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by hosaka 2022-05-26, 2:39 pm

サーバー環境で編集できない理由がわかりました。
4DServerは起動時にテンポラリに4DZのアーカイブファイルを自動的に作成して、そちらで動作しているみたいです。
ソースコードが編集できない理由は4DZ内のファイルを参照しているからです。
運用中にソースコードを差し替えられる理由もこれですね。

こんなのいくらでもやりようがあると思いますが、わざわざ制限をかけている様にしか思えないです。 Rolling Eyes
hosaka
hosaka

投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by hosaka 2022-07-26, 12:23 pm

R6で改善されたっぽいですね。最初から想定して欲しかった。 Rolling Eyes
hosaka
hosaka

投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by miyako 2022-08-02, 8:43 am

補足的な情報を記事にまとめました

https://4d-jp.github.io/2022/08/01/concurrent-development/

miyako

投稿数 : 483
登録日 : 2016/07/05

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by hosaka 2022-08-03, 12:16 pm

miyako wrote:補足的な情報を記事にまとめました

https://4d-jp.github.io/2022/08/01/concurrent-development/
なんとかv19にバックポートしてくれないものでしょうかね。 Crying or Very sad
hosaka
hosaka

投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プロジェクトモードとgit Empty Re: プロジェクトモードとgit

投稿 by Sponsored content


Sponsored content


トップに戻る Go down

トップに戻る


 
Permissions in this forum:
返信投稿: 不可