[gemstones] Use case for GsDevKit_home

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[gemstones] Use case for GsDevKit_home

sergio_101

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

Reply | Threaded
Open this post in threaded view
|

Re: [gemstones] Use case for GsDevKit_home

jgfoster

On May 30, 2019, at 5:44 AM, sergio ruiz <[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: [gemstones] Use case for GsDevKit_home

sergio_101

Yes! Does Gemstones have this ability?

On May 30, 2019 at 9:59:31 AM, James Foster ([hidden email]) wrote:

Backup and restore?

James
----
peace,
sergio
photographer, journalist, visionary

Reply | Threaded
Open this post in threaded view
|

Re: [gemstones] Use case for GsDevKit_home

jgfoster
Yes, GemStone supports backup and restore. See 11. Making and Restoring Backups

On May 30, 2019, at 8:47 AM, sergio ruiz <[hidden email]> wrote:


Yes! Does Gemstones have this ability?

On May 30, 2019 at 9:59:31 AM, James Foster ([hidden email]) wrote:

Backup and restore?

James
----
peace,
sergio
photographer, journalist, visionary


Reply | Threaded
Open this post in threaded view
|

Re: [gemstones] Use case for GsDevKit_home

sergio_101
Whew… hefty.. digging into this now..

Thanks!

On May 30, 2019 at 2:10:56 PM, James Foster ([hidden email]) wrote:

Yes, GemStone supports backup and restore. See 11. Making and Restoring Backups
----
peace,
sergio
photographer, journalist, visionary

Reply | Threaded
Open this post in threaded view
|

Re: [gemstones] Use case for GsDevKit_home

Dale Henrichs-3
In reply to this post by sergio_101


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

Reply | Threaded
Open this post in threaded view
|

Re: [gemstones] Use case for GsDevKit_home

Dale Henrichs-3
In reply to this post by jgfoster


On 5/30/19 6:58 AM, James Foster wrote:

On May 30, 2019, at 5:44 AM, sergio ruiz <[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: [gemstones] Use case for GsDevKit_home

Dale Henrichs-3
In reply to this post by sergio_101


On 5/30/19 11:12 AM, sergio ruiz wrote:
Whew… hefty.. digging into this now..
Haha ... this is why backup and restore functionality has been built into tODE:) and GsDevKit_home ...

Dale