プロジェクトモードとgit
2 posters
プロジェクトモードとgit
プロジェクトモードは様子見の状態だったのですが、 Apple シリコンのM1Mac登場で移行せざるいかなくなりました。
C/Sで運用予定だったのですが、C/Sだと今までできたクライアントから接続して運用しながらの編集ができないことがわかりました。
どうもGitをつかったバージョン管理を推奨しているようなのですが、バージョン管理をするGitサーバーはどうしていますでしょうか。
お客様のところのソースコードなので、セキュリティ的におすすめのところはありますでしょうか。
やっぱりgitHubなんでしょうかね 。
C/Sで運用予定だったのですが、C/Sだと今までできたクライアントから接続して運用しながらの編集ができないことがわかりました。
どうもGitをつかったバージョン管理を推奨しているようなのですが、バージョン管理をするGitサーバーはどうしていますでしょうか。
お客様のところのソースコードなので、セキュリティ的におすすめのところはありますでしょうか。
やっぱりgitHubなんでしょうかね 。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プロジェクトモードとgit
プロジェクトモードの場合,サーバー側のデスクトップで起動したクライアント(=ローカルクライアント)は,シングルユーザー版と同じように実行中のプロジェクトを編集することができます。そのようなクライアントは,ループバックのネットワーク接続をせず,ソースコードをサーバーと共有する格好でデザインモードを操作することになります。
参考: 4D と 4D Server の同じマシン上での使用
プライベートなGitソリューションということであれば,GitLabが一般的なようです。GitHubもリポジトリをプライベートに設定すれば,非公開となります。似たようなサービスでBitbucketもプライベートにできます。
参考: 4D と 4D Server の同じマシン上での使用
プライベートなGitソリューションということであれば,GitLabが一般的なようです。GitHubもリポジトリをプライベートに設定すれば,非公開となります。似たようなサービスでBitbucketもプライベートにできます。
miyako- 投稿数 : 483
登録日 : 2016/07/05
Re: プロジェクトモードとgit
サーバー上でサーバーとクライアントを起動した場合のみ編集可能というのがとても使いにくいです。
サーバーがWindowsでクライアントにMacとWindowsがある場合、WindowsのメンテナンスはできてもMacのメンテナンスがやりにくいので
とても困っています。
今まで出来ていたクラインアントPC(Mac)側でのメンテナンスに変わる良い方法があればよいのですが....
例えば、デベロッパライセンスを持っているWindowsもしくはMacからアクセスされた場合のみ編集可能とかならよかったと思います。これ変な仕様ですよね。
サーバーがWindowsでクライアントにMacとWindowsがある場合、WindowsのメンテナンスはできてもMacのメンテナンスがやりにくいので
とても困っています。
今まで出来ていたクラインアントPC(Mac)側でのメンテナンスに変わる良い方法があればよいのですが....
例えば、デベロッパライセンスを持っているWindowsもしくはMacからアクセスされた場合のみ編集可能とかならよかったと思います。これ変な仕様ですよね。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プロジェクトモードとgit
デベロッパライセンスを持っている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
Re: プロジェクトモードとgit
開発者側での開発の問題ではなくて。
たとえば、不具合が発生した時に
いままでは、
客先へVPN接続後、4Dをクライアント接続します。
トレースしながら状況の把握をおこないます。
状況によってデバッグコードを追記して再度トレース実行などの一連の作業が可能でしたが
これがプロジェクトモード(特にクライアントマシンがMacの場合)だと
トレースまでは可能だと思いますが、
1.その後のデバッグコードを追加するために一旦接続解除。
2.サーバーにRDPで接続して4Dを接続、デバッグコードを記述。
3.再度クライアントから4D再接続、再トレース
となると思います。これはすごい手間ですよね。
たとえば、不具合が発生した時に
いままでは、
客先へVPN接続後、4Dをクライアント接続します。
トレースしながら状況の把握をおこないます。
状況によってデバッグコードを追記して再度トレース実行などの一連の作業が可能でしたが
これがプロジェクトモード(特にクライアントマシンがMacの場合)だと
トレースまでは可能だと思いますが、
1.その後のデバッグコードを追加するために一旦接続解除。
2.サーバーにRDPで接続して4Dを接続、デバッグコードを記述。
3.再度クライアントから4D再接続、再トレース
となると思います。これはすごい手間ですよね。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プロジェクトモードとgit
上の話を前提にgitの話に戻しますね。
今後の手法としては
準備.開発側と運用側にgitクライアントを導入して、インターネットのどこかにあるgitサーバーのリモートリポジトリにソースコードを置く。
問題が発生すると
1.運用側で調査/トレースしながら、開発側でデバッグコード追加などを行う。
2.開発側からソースコードをコミット。運用側でクローンする。
3.運用側でクローンしたソースコードを反映する。
あとは1から3を問題解決するまで繰り返す。
この様な理解なのですが間違っているところや、もっと簡単な方法があれば教えて下さい。
今後の手法としては
準備.開発側と運用側にgitクライアントを導入して、インターネットのどこかにあるgitサーバーのリモートリポジトリにソースコードを置く。
問題が発生すると
1.運用側で調査/トレースしながら、開発側でデバッグコード追加などを行う。
2.開発側からソースコードをコミット。運用側でクローンする。
3.運用側でクローンしたソースコードを反映する。
あとは1から3を問題解決するまで繰り返す。
この様な理解なのですが間違っているところや、もっと簡単な方法があれば教えて下さい。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プロジェクトモードとgit
Gitは,履歴管理と分散開発のツールですので,ソースコードを更新することが目的であれば,SFTPやボリューム共有など,何らかの方法でファイルを入れ替えることができれば良いかと思います。
インタープリターモードでファイルがリロードされるタイミングですが
https://developer.4d.com/docs/ja/Project/developing.html
のいずれか,となっています。
https://blog.4d.com/server-code-development-in-project-applications/
インタープリターモードでファイルがリロードされるタイミングですが
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
Re: プロジェクトモードとgit
ということは、バージョン管理の必要がなければgitにこだわる必要はないんですね。
ただし、今までのリモート接続でのメンテナンス作業はのぞめないと。
現実的なところだと
1.デバッグ作業はC/Sで行う。
2.修正はローカルで行う。
3.修正したローカルソースをサーバーへコピー後、RELOAD PROJECTを実行
※サーバー側で運用中でもソースコードの差し替えは可能。
こんなところでしょうか。
ただし、今までのリモート接続でのメンテナンス作業はのぞめないと。
現実的なところだと
1.デバッグ作業はC/Sで行う。
2.修正はローカルで行う。
3.修正したローカルソースをサーバーへコピー後、RELOAD PROJECTを実行
※サーバー側で運用中でもソースコードの差し替えは可能。
こんなところでしょうか。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プロジェクトモードとgit
実際に導入してきました。
感想としては、
1.今までの様にクライアント接続して編集できないので面倒ですね。
2.サーバーを動作させながらの差し替えはできました。ですがクライアント側は4Dの再起動が必要でした。
3.ラジオボタンがグループ化ではなくてrb1,rb2としていたので変換後、連動する動作をしてくれませんでした。
プロジェクトモードではグループ化でもなく、プロパティにグループ名を登録するところがありそこに同じグループ名を登録する必要がありました。
4.サーバー上でもログインユーザーが違うと編集不可でした。
こんなとこですかね。
感想としては、
1.今までの様にクライアント接続して編集できないので面倒ですね。
2.サーバーを動作させながらの差し替えはできました。ですがクライアント側は4Dの再起動が必要でした。
3.ラジオボタンがグループ化ではなくてrb1,rb2としていたので変換後、連動する動作をしてくれませんでした。
プロジェクトモードではグループ化でもなく、プロパティにグループ名を登録するところがありそこに同じグループ名を登録する必要がありました。
4.サーバー上でもログインユーザーが違うと編集不可でした。
こんなとこですかね。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プロジェクトモードとgit
サーバー環境で編集できない理由がわかりました。
4DServerは起動時にテンポラリに4DZのアーカイブファイルを自動的に作成して、そちらで動作しているみたいです。
ソースコードが編集できない理由は4DZ内のファイルを参照しているからです。
運用中にソースコードを差し替えられる理由もこれですね。
こんなのいくらでもやりようがあると思いますが、わざわざ制限をかけている様にしか思えないです。
4DServerは起動時にテンポラリに4DZのアーカイブファイルを自動的に作成して、そちらで動作しているみたいです。
ソースコードが編集できない理由は4DZ内のファイルを参照しているからです。
運用中にソースコードを差し替えられる理由もこれですね。
こんなのいくらでもやりようがあると思いますが、わざわざ制限をかけている様にしか思えないです。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
miyako- 投稿数 : 483
登録日 : 2016/07/05
Permissions in this forum:
返信投稿: 不可
|
|