# Rails web app su GitHub

**URL:** <https://www.ruby-forum.com/t/rails-web-app-su-github/222772>\
**Category:** IT\
**Created:** [September 10, 2012, 10:30am UTC](https://www.ruby-forum.com/t/rails-web-app-su-github/222772 "2012-09-10T10:30:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/258eb7/32.png) [@aris](https://www.ruby-forum.com/u/aris)\
**Post date:** [September 10, 2012, 10:30am UTC](https://www.ruby-forum.com/t/rails-web-app-su-github/222772/1 "2012-09-10T10:30:44Z")

</div>

Vorrei utilizzare GitHub come repo per un’app Rails e renderla pubblica.  
Quali sono i file che è bene non committare? (Penso a  
config/initializers/secret\_token.rb, giusto? Quali altri?)

Grazie mille,  
i

(wow! Incredibile! Funzionano gli accenti su ruby-forum!!! 😮 )

---

<div class="post-metadata">

**Author:** ![1w4n](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/1/65b543/32.png) [@1w4n](https://www.ruby-forum.com/u/1w4n)\
**Post date:** [September 10, 2012, 10:39am UTC](https://www.ruby-forum.com/t/rails-web-app-su-github/222772/2 "2012-09-10T10:39:47Z")

</div>

il secret\_token puoi anche rigenerarlo successivamente (per esempio dopo  
che hai  
clonato il repo). direi di tenere nascosti i file di config che  
contengono  
passwords (es: config/database.yml).

questo discorso vale anche per lo sviluppo in team, di norma si crea un  
file  
.sample in modo da offrire un file di partenza.

ciao,  
A.

Il 10/09/2012 10:30, Iwan B. ha scritto:

---

<div class="post-metadata">

**Author:** ![1w4n](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/1/65b543/32.png) [@1w4n](https://www.ruby-forum.com/u/1w4n)\
**Post date:** [September 10, 2012, 10:42am UTC](https://www.ruby-forum.com/t/rails-web-app-su-github/222772/3 "2012-09-10T10:42:08Z")

</div>

Carissimo, un buon punto di partenza:

> <https://github.com/github/gitignore/blob/main/Rails.gitignore>

questo e’ piu’ strtturato:

[https://github.com/fortuity/rails3-gitignore](https://github.com/fortuity/rails3-gitignore)

Come vedi ignora anche config/database.yml

che e’ il file dove ci stanno le password del database.

Una buona pratica e’:

cp database.yml example\_database.yml

poi modifichi database.yml (che e’ in ignore) mentre tieni  
example\_database.yml come template.

Puoi dare un occhio anche a queste soluzioni:

> **[Capistrano and database.yml — Simone Carletti](https://simonecarletti.com/blog/2009/06/capistrano-and-database-yml/)**
>
> How to create the database.yml file with Capistrano to prevent sensitive data to be stored in the application repository.

anche se il post e’ del 2009 …

Per glialtri settings forse conviene metterli tutti in un file yml e  
caricarli con:

SETTINGS = YAML.load(IO.read(Rails.root.join(“config”, “settings.yml”)))  
YourApp::Application.config.secret\_token = SETTINGS[“secret\_token”]

Soluzione presa da:

> <https://stackoverflow.com/questions/4412406/managing-security-for-an-open-source-rails-3-application-stored-at-github>

Ciao

---

<div class="post-metadata">

**Author:** ![1w4n](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/1/65b543/32.png) [@1w4n](https://www.ruby-forum.com/u/1w4n)\
**Post date:** [September 10, 2012, 12:39pm UTC](https://www.ruby-forum.com/t/rails-web-app-su-github/222772/4 "2012-09-10T12:39:34Z")

</div>

2012/9/10 Davide R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> Puoi dare un occhio anche a queste soluzioni:  
> [Capistrano and database.yml — Simone Carletti](http://www.simonecarletti.com/blog/2009/06/capistrano-and-database-yml/)  
> anche se il post e’ del 2009 ..

Grazie per aver consigliato un mio link. Ti assicuro che ancora molto  
attuale. 😉

Riguardo alla domanda, una delle app pubbliche pi famose in assoluto  
RubyGems.

> **[GitHub - rubygems/rubygems.org: The Ruby community's gem hosting service.](https://github.com/rubygems/rubygems.org)**
>
> The Ruby community's gem hosting service.

Se osservi il sorgente, noterai una riga molto interessante.

> <https://github.com/rubygems/rubygems.org/blob/master/config/environments/production.rb#L27>

require Rails.root.join(“config”, “secret”) if Rails.root.join(“config”,

> “secret.rb”).file?

In fase di deploy, viene scritto un file secret.rb in config contentente  
tutte le config private. Personalmente ho adottato questa pratica molto  
tempo fa, in combinazione con  
simpleconfig[https://rubygems.org/gems/simpleconfig](https://rubygems.org/gems/simpleconfig) e  
le variabili di ambiente per ottenere un risultato molto simile  
all’approccio adottato da Heroku con le config per application.

Il tutto sempre, e come pratica, indipendentemente che l’app sia  
pubblica o  
meno. Non mi piace salvare password sensibili nei repository.

– Simone

–  
Simone C.  
Application Developer

Site & Blog: [http://www.simonecarletti.com/](http://www.simonecarletti.com/)  
LinkedIn: [http://linkedin.com/in/weppos](http://linkedin.com/in/weppos)  
Skype: weppos
