Devo ospitare il sito Web del portfolio nel repository pubblico di GitHub? [chiuso]

0

Ho un piccolo sito di portfolio su cui lavoro nel mio tempo libero come un modo per dimostrare e applicare ciò che ho imparato da scuola / lavoro. Parte di questa dimostrazione mi porta attualmente a elencare il repository come "pubblico" su GitHub affinché chiunque possa vedere e sfogliare. Il ragionamento dietro questo è che questo significa che le persone possono vedere come mi avvicino alla gestione del progetto e come strutturo il mio codice.

Tuttavia, questo introduce alcuni rischi per la sicurezza e altri problemi. Ovviamente, ora non posso includere alcuna informazione privata, come password di alcun tipo (o porte private, variabili della posta, ecc.); piuttosto, questo deve essere spostato altrove. Per un po 'questo andava bene, fino a quando ho deciso che volevo includere un blog, che richiedeva utenti, il che richiede funzionalità di login (una nuova lattina di worm).

Per questo motivo, mi sto chiedendo dove posso memorizzare tutte le informazioni confidenziali aggiuntive che ho creato. Farei meglio a contrassegnare il deposito come "privato" e semplicemente ospitare alcuni esempi sul mio sito web? Per me questo è un po 'meno ideale, in quanto sembra meno autentico (ad esempio, avrei potuto dedicare più tempo a refactoring di quei file, al di là di ciò che normalmente farei nel mio lavoro).

Tuttavia, questo è qualcosa che sarebbe un'idea migliore a lungo termine, oltre a semplificare lo sviluppo consolidando i miei file?

UPDATE : il sito utilizza quasi nessun framework (diverso da Foundation 6 per il front-end markup) poiché questo è lo scopo principale del sito (insegnare a me stesso i concetti da zero).

Domanda principale : c'è qualche vantaggio nell'hosting del sito su un repository pubblico che non può essere ottenuto esponendo solo file specifici altrove? cioè in una sezione Progetti del sito?

    
posta Kendall Roth 05.01.2017 - 00:12
fonte

2 risposte

1

Normalmente trasferiamo le informazioni sensibili ai file di configurazione con un pattern di nomi, come tutti quelli che terminano con .conf extension, quindi puoi semplicemente creare una voce .gitignore per abbinarli a tutti i tuoi progetti. I file abbinati secondo .gitignore semplicemente non vengono trasferiti al repository pubblico, ma puoi continuare a lavorare con loro localmente. Se vuoi essere gentile e consentire ad altri di testare la tua applicazione, fornisci esempi di file di configurazione o documentazione che contenga il giusto formato di dati.

    
risposta data 05.01.2017 - 00:25
fonte
0

In generale, è considerato un anti-pattern per includere i segreti nel controllo della versione; come minimo, è stato convenuto che se li memorizzi, lo fai in un formato crittografato.

Ci sono molte opzioni di software per facilitare questo, ma l'elenco cambierà e diventerà obsoleto facilmente, quindi è meglio se fai la tua ricerca per strumenti specifici. Ti suggerisco di guardare per la prima volta la conversazione Tartarughe in tutte le direzioni per una panoramica più lunga di quella che si può trovare qui sugli approcci alla risoluzione questo problema e gli svantaggi di ogni approccio ha (cioè, che è sempre necessario fornire un altro valore segreto).

For a while this was fine, until I decided that I wanted to include a blog, which necessiated users, which necessitates login functionality (whole new can of worms).

Questo non è proprio vero. I generatori di siti statici come Jekyll usano git come meccanismo di autorizzazione (se puoi commettere, puoi aggiungere post). Inoltre, l'autorizzazione di utenti esterni per i commenti viene spesso gestita tramite sistemi di commenti caricati da JavaScript come Disqus.

    
risposta data 05.01.2017 - 02:47
fonte

Leggi altre domande sui tag