I am using the information from Dale's post  to set up my dev environment, but I think I need a bit more handholding. The application is a simple blog, so the data set isn't very complicated. I'd like to set up Pharo 7/8 as the development environment and GemStone as my staging/production setup.
It appears that I can develop as usual in Pharo. Dale mentioned sharing the git clone with Pharo and GemStone staging, I just need to figure out how to set this up. Also, I am unclear on how to set up my main project in Iceberg (Monticello? Metacello) to get this running on the staging system.
Since it's a blog, it would probably be easiest to test on the staging site with current real data. Would I create one tODE client and a tODE server on my local machine, and a tODE server on my remote production server, then test on my local GemStone and deploy using my local tODE and attaching to the production server? Would I just pull the full data from the remote GemStone server and use it on the local GemStone server?
Glass mailing list
signature.asc (849 bytes) Download Attachment
On 6/21/19 8:28 AM, sergio ruiz via Glass wrote:
Sounds good ...
I haven't had an opportunity to play with Iceberg that much.
While I _think_ that it is possible to attach Iceberg to a disk
clone, I am not sure how to do it. Also, the last time I tried to
use Iceberg with a filetree repository I had difficulties.
However the good news is that I found that I was able to use the
Monticello Browser in Pharo to load my project ...
The successful formula involves cloning your git project to a know location --- doing the clone in $GS_HOME/shared/repos is a good place, but you can put it anywhere on disk. After the clone has been created you can use the following expression in both Pharo and GemStone to load your project:
Metacello new baseline: 'YourProjectName'; repository: 'filetree://$GS_HOME/shared/repos/YourProjectName'; load: #( 'your load list')
In Pharo you will just rerun this expression in a workspace whenever you have made changes from to the repo from GemStone/tODE.
In tODE, you will do your initial load using the above expression in a workspace (`ws` tODE command). Thereafter you should use the project list (`project list` tODE command) and the 'load' menu item to refresh the project in GemStone ...
By default, tODE is in auto commit mode, so you don't have to do explicit commits to save your work to the db.
If you've written to your project from Pharo, do a `Window > refresh window` in the project list or just re-evaluate `project list` in the tode shell window. Modified (and uncommited) projects sow up with a leading ` +` in the project list ... if you've done a commit from Pharo (or from the bash shell), the project will show up red in the project list:
Using the `load` menu item in the project list or `project load
YourProjectName` in the tODE shell will load your project from
disk in either case...
You can use a single tODE client as a remote client for your remote server. Take a look at the instructions here for setting up and using ssh tunneling to securely connect to your remote server. You also have the option of using X-forwarding to access your remote server, but I think that the ssh tunnel and a local tODE client is your best option.
I think that using backup files or snapshot files (extent copies)
to refresh your staging site is the best way to go. And I think we
discussed this in a thread on the pharo list ...
Glass mailing list
|Free forum by Nabble||Edit this page|