[gemstones] Use case for GsDevKit_home
I have another project coming up, and I have free reign over the tech stack. I am gonna use Pharo, but I'd like to spend my up front time on this project figuring out the things I usually wait until the end to do. One of these issues is setting up gemstones. I would like to use GsDevKit_home, but I want to make sure that the use case I am envisioning is in keeping what this package is set up to do. My vision is something like: - Deploy a stone to remote production server. - Develop in the latest version of Pharo on my local machine, keeping my project in git. - When it's time to deploy, use tODE client to tell the production server to grab the latest code, and we're done. Does this sound reasonable? Also, one thing that I find invaluable in troubleshooting applications written using relational databases is to be able to be able to just dump the production database and load it up on my local machine. Is this possible using gemstones? Thanks! ---- peace, sergio photographer, journalist, visionary Public Key: http://bit.ly/29z9fG0 #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV http://www.codeandmusic.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101
On May 30, 2019, at 5:44 AM, sergio ruiz <sergio.rrd@gmail.com> wrote:
...
Also, one thing that I find invaluable in troubleshooting applications written using relational databases is to be able to be able to just dump the production database and load it up on my local machine. Is this possible using gemstones?
Backup and restore? James
Yes! Does Gemstones have this ability? On May 30, 2019 at 9:59:31 AM, James Foster (smalltalk@jgfoster.net) wrote: Backup and restore? James ---- peace, sergio photographer, journalist, visionary Public Key: http://bit.ly/29z9fG0 #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV http://www.codeandmusic.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101
Yes, GemStone supports backup and restore. See 11. Making and Restoring Backups <https://downloads.gemtalksystems.com/docs/GemStone64/3.4.x/GS64-SysAdminGuid...>.
On May 30, 2019, at 8:47 AM, sergio ruiz <sergio.rrd@gmail.com> wrote:
Yes! Does Gemstones have this ability?
On May 30, 2019 at 9:59:31 AM, James Foster (smalltalk@jgfoster.net <mailto:smalltalk@jgfoster.net>) wrote:
Backup and restore?
James
peace, sergio photographer, journalist, visionary
Public Key: http://bit.ly/29z9fG0 <http://bit.ly/29z9fG0> #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV http://www.codeandmusic.com <http://www.codeandmusic.com/> http://www.twitter.com/sergio_101 <http://www.twitter.com/sergio_101> http://www.facebook.com/sergio101 <http://www.facebook.com/sergio101>
Whew⦠hefty.. digging into this now.. Thanks! On May 30, 2019 at 2:10:56 PM, James Foster (smalltalk@jgfoster.net) wrote: Yes, GemStone supports backup and restore. See 11. Making and Restoring Backups <https://downloads.gemtalksystems.com/docs/GemStone64/3.4.x/GS64-SysAdminGuid...> . ---- peace, sergio photographer, journalist, visionary Public Key: http://bit.ly/29z9fG0 #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV http://www.codeandmusic.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101
On 5/30/19 6:58 AM, James Foster wrote:
On May 30, 2019, at 5:44 AM, sergio ruiz <sergio.rrd@gmail.com <mailto:sergio.rrd@gmail.com>> wrote:
...
Also, one thing that I find invaluable in troubleshooting applications written using relational databases is to be able to be able to just dump the production database and load it up on my local machine. Is this possible using gemstones?
Backup and restore?
This would be a valid alternative to doing `bu snapshot` (a form of backup) and newExtent ... In GsDevKit_home, use $GS_HOME/bin/todeBackup and $GS_HOME/bin/todeRestore to do a backup and restore ... these are bash scripts that call the tODE commands `bu backup` and `bu restore`, you will see docs for these commands when do the `man bu` ... if you are doing regular production backups (which you should be) you could simply restore from backup into your sandbox stone, whenever you want to start with a fresh extent ... While we are at it, take a look at the bash script $GS_HOME/bin/todeIt that allows you to call tode commands from bash ... a convenient way for you to do your deployment scripts, where you can write your own tODE command line scripts and then call them from bash ... With GemStone 3.5.0 (not yet released), it will be practical to write topaz/smalltalk/stash[1] bash command line scripts for deployment ... I plan to give a talk on stash[1] at ESUG this year:) Dale [1] https://github.com/dalehenrich/stash
On 5/30/19 5:44 AM, sergio ruiz wrote:
I have another project coming up, and I have free reign over the tech stack. I am gonna use Pharo, but I'd like to spend my up front time on this project figuring out the things I usually wait until the end to do. One of these issues is setting up gemstones.
I would like to use GsDevKit_home, but I want to make sure that the use case I am envisioning is in keeping what this package is set up to do.
My vision is something like: - Deploy a stone to remote production server. - Develop in the latest version of Pharo on my local machine, keeping my project in git. - When it's time to deploy, Â use tODE client to tell the production server to grab the latest code, and we're done.
This sounds okay ... I'd be inclined to have you also include a sandbox or QA stone in your setup, that is either a copy of the production db, or a db filled with test data, that you would use to validate your update process/code before each release to production ... better safe debugging in a sandbox, than sorry debugging in a production db:)
Does this sound reasonable?
Also, one thing that I find invaluable in troubleshooting applications written using relational databases is to be able to be able to just dump the production database and load it up on my local machine. Is this possible using gemstones?
Good you are thinking along the same lines ... You can take a snapshot of an extent in a running stone using the tODE command `bu snapshot` (run `man bu` in a tODE shell ) for more details, then using the GsDevKit_home bash script, $GS_HOME/bin/newExtent ( `$GS_HOME/bin/newExtent -h` for more details) you can install the snapshot from production into a local sandbox stone ... For future questions about GsDevKit_home and GemSTone, please the GLASS mailing list[1][2]. There are a number of folks in the wild that are using the develop in Pharo, deploy in GemStone model so you'll benefit from having those folks weigh in with their approaches as well, without cluttering the Pharo newsgroup with GemStone information. Also there are few more GemTalk employees that monitor the GLASS list and can weigh in with their knowledge as well :) Dale [1] http://forum.world.st/GLASS-f1460844.html [2] https://lists.gemtalksystems.com/mailman/listinfo/glass
Thanks!
---- peace, sergio photographer, journalist, visionary
Public Key: http://bit.ly/29z9fG0 #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV http://www.codeandmusic.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101
participants (3)
-
Dale Henrichs -
James Foster -
sergio ruiz