Salve lista. Ho il mio bel (?) programmino in Ruby e Gtk che nonostante la qualità del codice scritto gira decentemente e fa il suo lavoro senza lamentarsi. Logicamente ogni tanto c'è qualcosa da sistemare o qualcosa da aggiungere, come per tutti i programmi, però andare ogni volta dai clienti ad apportare le modifiche non è molto pratico. Ho quindi pensato di sfruttare github, aggiungendo una funzionalità che controlli se sono state pubblicate modifiche e in caso le scarichi... e mi sono fermato al "pensato", perché non sono riuscito a trovare un qualcosa per automatizzare in maniera semplice la cosa: spiegare al cliente anche solo l'uso base di github NON è fattibile e cercare qualcosa tipo "gem update/upgrade github" non dà niente di significativo. La domanda quindi è: sapete se esiste una gemma o qualcosa di simile per "automatizzare" la gestione degli aggiornamenti di un programma senza installare git, oppure devo per forza installarmelo e farlo usare brutalmente dal mio programma? Come sempre grazie.
on 2011-12-16 09:12
on 2011-12-16 09:33
2011/12/16 Daneel Olivaw <daneel.olivaw.r@gmail.com>: > Salve lista. ciao :-) [cut] > La domanda quindi : sapete se esiste una gemma o qualcosa di simile per > "automatizzare" la gestione degli aggiornamenti di un programma senza > installare git, oppure devo per forza installarmelo e farlo usare > brutalmente dal mio programma? se sulla macchina del tuo cliente non puoi installare un server ssh o la macchina non e' esposta su internet allora significa che e' la macchina del cliente che deve lanciare un comando d'aggiornamento (manuale o automatico), giusto? In tal caso, senza usare git, potrebbe avere senso inserire un semplice rsync lanciato manualmente (o temporizzato) che dalla sua macchina si scarica la versione aggiornata presente su un tuo server esposto su Internet. Se non puoi avere una tua macchina esposta su Internet allora la soluzione con Github (sempre valida) risulta probabilmente piu' conveniente. > Come sempre grazie. you're welcome ;-)
on 2011-12-16 10:20
Maurizio De magnis wrote in post #1036973: > se sulla macchina del tuo cliente non puoi installare un server ssh o > la macchina non e' esposta su internet allora significa che e' la > macchina del cliente che deve lanciare un comando d'aggiornamento > (manuale o automatico), giusto? E' una macchina con win. L'ipotesi di una gemma sarebbe ottimale per non installare altri programmi, dato che ho già dovuto installarci Mysql, Ruby e Gtk. > In tal caso, senza usare git, potrebbe avere senso inserire un > semplice rsync lanciato manualmente (o temporizzato) che dalla sua > macchina si scarica la versione aggiornata presente su un tuo server > esposto su Internet. Uhm... potrei usarla come soluzione estrema... > Se non puoi avere una tua macchina esposta su Internet allora la > soluzione con Github (sempre valida) risulta probabilmente piu' > conveniente. Io propendevo per git perché ho praticamente tutto il lavoro fatto per quanto riguarda il versionamento corretto e il download dei soli files modificati. In ogni caso, ci sono eventuali sistemi alternativi? Come gestite vooi la cosa... se la gestite?
on 2011-12-16 10:31
Il giorno 16 dicembre 2011 09:12, Daneel Olivaw <daneel.olivaw.r@gmail.com>ha scritto: > qualcosa per automatizzare in maniera semplice la cosa: spiegare al > cliente anche solo l'uso base di github NON fattibile e cercare > qualcosa tipo "gem update/upgrade github" non d niente di > significativo. > > La domanda quindi : sapete se esiste una gemma o qualcosa di simile per > "automatizzare" la gestione degli aggiornamenti di un programma senza > installare git, oppure devo per forza installarmelo e farlo usare > brutalmente dal mio programma? > Se riesci ad installare git su quella macchina, puoi eventualmente usare Grit <https://github.com/mojombo/grit> per fare gli aggiornamenti direttamente dall'interno della tua app. Sempre che il tutto sia compatibile con Windows. In pratica quando l'app si avvia controlla via Grit se sul repo github ci sono nuovi commit, e mostra una classica schermata di aggiornamento. Poi forzi un riavvio dell'applicazione. Ti piace come idea? Matteo
on 2011-12-16 10:32
2011/12/16 Daneel Olivaw <daneel.olivaw.r@gmail.com>: > Maurizio De magnis wrote in post #1036973: [cut] > In ogni caso, ci sono eventuali sistemi alternativi? Come gestite vooi > la cosa... se la gestite? "fortunatamente" mi capita di gestire solo macchine *nix based :-)
on 2011-12-21 08:49
Matteo Collina wrote in post #1036988: > Se riesci ad installare git su quella macchina, puoi eventualmente usare > Grit <https://github.com/mojombo/grit> per fare gli aggiornamenti > direttamente dall'interno della tua app. Sempre che il tutto sia > compatibile con Windows. > In pratica quando l'app si avvia controlla via Grit se sul repo github > ci > sono nuovi commit, e mostra una classica schermata di aggiornamento. Poi > forzi un riavvio dell'applicazione. > > Ti piace come idea? > > Matteo E' praticamente quello che volevo fare, a parte l'installazione di git, ma vabbè, non si può avere tutto :-) Appena posso farò delle prove e vi farò sapere. Intanto grazie.
on 2011-12-29 12:31
Daneel Olivaw wrote in post #1037631: >> [...] > > E' praticamente quello che volevo fare, a parte l'installazione di git, > ma vabbè, non si può avere tutto :-) > > Appena posso farò delle prove e vi farò sapere. > > Intanto grazie. Dicevamo... Dato che grit ha una documentazione praticamente inesistente e in rete si trova sollo gente che al massimo dice "Ho usato grit diventando scemo per capire come funziona perché non c'è documentazione, ma ce l'ho fatta" senza mettere una cavolo di stringa di esempio, ho abbandonato questa soluzione per mia manifesta incapacità di capirci qualcosa e sono andato brutalmente di comandi git. Riguardo a questo, due note: - una volta che si lancia "git fetch" o "git remote update" il fatto che ci sono modifiche da scaricare viene memorizzato e le volte successive che si lancia il comando praticamente non dice nulla di utile, per cui bisogna tenere traccia della cosa da qualche parte; - winzozz (e lo dico con cattiveria e disprezzo perché in questo caso li merita) ci mette del suo e per qualche strano motivo il riconoscimento del contenuto dell'output del comando tramite `comando`.include?("quel_che_mi_serve") che sotto GNU/Linux funziona va a farsi benedire (sempre che non abbia sbagliato da qualche parte), con mia somma gioia. Ecco il codice che ho scritto (a grandi linee): altre due note prima del codice: - "Parameters" è la tabella che contiene vari parametri utili del programma, tra cui il campo in cui memorizzo se è disponibile un aggiornamento; ha logicamente un solo record - "Parameters.parametri" è un "find first" su quella tabella def aggiornaprogramma output = `git fetch 2>&1` if output.to_s != "" Parameters.update("1", {:aggiornamento => "1"}) end if Parameters.parametri.aggiornamento == true #"Aggiornamento pronto" `git pull` Parameters.update("1", {:aggiornamento => "0"}) end end Ho tolto la parte del codice in cui l'interfaccia grafica chiede conferme, il resto è lì. Se avete suggerimenti, sistemi migliori, critiche (costruttive, grazie) o altro, sono qua.
on 2011-12-30 11:56
Scusate se magari dico cose che sono gia` state dette: ma mettere il programma dentro una gemma? Per farle l'aggiornamento gem update mio_programma Per gem private potresti usare un git repository private... pero` ci vorrebbe git oppure scaricare la gemma via ftp ed installarla localmente (con un tuo script).
on 2011-12-30 13:41
2011/12/29 Daneel Olivaw <daneel.olivaw.r@gmail.com>: > Dato che grit ha una documentazione praticamente inesistente e in rete > si trova sollo gente che al massimo dice "Ho usato grit diventando scemo > per capire come funziona perch non c' documentazione, ma ce l'ho > fatta" senza mettere una cavolo di stringa di esempio, ho abbandonato > questa soluzione per mia manifesta incapacit di capirci qualcosa e sono > andato brutalmente di comandi git. concordo sulla poca documentazione su grit :) a suo tempo lo usai per creare un repository viewer in sinatra, qui c' il codice, non so se ti pu essere utile: http://stefanoverna.com/blog/2011/04/sinatra-un-re...
on 2011-12-30 18:33
Riccardo Tacconi wrote in post #1038836: > Scusate se magari dico cose che sono gia` state dette: ma mettere il > programma dentro una gemma? Per farle l'aggiornamento > > gem update mio_programma > > Per gem private potresti usare un git repository private... pero` ci > vorrebbe git oppure scaricare la gemma via ftp ed installarla localmente > (con un tuo script). Mai neanche pensata questa, anche perché non saprei da dove cominciare per fare una gemma '^_^ Stefano Verna: > concordo sulla poca documentazione su grit :) > a suo tempo lo usai per creare un repository viewer in sinatra, qui > c' il codice, non so se ti pu essere utile: > http://stefanoverna.com/blog/2011/04/sinatra-un-re... Grazie, ci darò sicuramente un'occhiata.
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.