Chcę przekazać kod do GitHub. Zawiera jakiś prywatny klucz API, którego nie chcę publikować. Czy istnieje sposób, aby ukryć to automatycznie? Czy powinienem usunąć ją ręcznie z mojego kodu?Jak przesłać kod do Github ukrywając klucze API?
Odpowiedz
Należy rozważyć użycie plików .env
i odczytać klucze ze zmiennych środowiskowych. Sposób wykonania zależy od używanego języka i narzędzi (w przypadku node.js, php itp.).
Możesz wykluczyć plik .env
z zatwierdzeń, dodając .env
do .gitignore
. Możesz również przesłać przykładową konfigurację .env.example
z danymi fikcyjnymi lub pustymi, aby wyświetlić schemat wymagany przez aplikację.
Posiadanie klucza API w kodzie to i tak prawdopodobnie zły pomysł. Oznacza to, że każdy, kto chce użyć twojego kodu, będzie musiał edytować kod i odbudować go.
Rozwiązaniem podręcznika dla takich przypadków użycia jest przeniesienie poświadczeń do pliku konfiguracyjnego i dodanie jasnej dokumentacji w pliku README.md
o strukturze i położeniu pliku konfiguracyjnego. Możesz również dodać do niego wpis w swoim pliku gitignore
, aby uniemożliwić sobie (i nikomu innemu) niepoprawne przekazanie prywatnych informacji do GitHub.
Możesz dodać enviornment variables do swojego serwera, aby ukryć swoje klucze API. Wszystkie popularne języki programowania mają domyślne metody uzyskiwania zmiennych środowiskowych.
każdym razem masz pliki z danymi sensownych jak
config.yml
NIE MUSI popełnić je w swoim repozytorium. Pokażę ci przykład.
przypuszczać, aby mieć plik yaml z jakąś nazwę użytkownika i hasło:
# app/config/credentials.yml
credentials:
username: foo
password: bar
Jeśli chcesz ukryć foo
i distribution` plik bar values, remove this file from your repository, but add just a
że dąży do utrzymania pola nazwy użytkownika i hasła, ale bez prawdziwych wartości:
# app/config/credentials.yml.dist
credentials:
username: ~
password: ~
Podczas instalacji można uzyskać ten plik, kopiowanie app/config/credentials.yml.dist
do app/config/credentials.yml
.
Pamiętaj też, aby dodać app/config/credentials.yml
do swojego pliku .gitignore
.
jego samego na klucze API:
# app/config/config.yml
config:
credentials:
username: foo
password: bar
api_stuffs:
api_foo: fooooo
api_secret: baaaaar
api_token: tooooken
To działa dla plików konfiguracyjnych, a to dobry wzór, który oszczędza za każdym razem trzeba podzielić strukturę konfiguracji, ale nie dane sensowne. Pliki Ini, konfiguracje i tak dalej.
Dziękuję za informacje. :) –
Proszę, wyjaśnij, powróć do O_o – sensorario
- 1. Jak przesłać projekty Eclipse do GitHub?
- 2. Jak przesłać pliki na GitHub
- 3. Nie można przesłać do repozytorium Github
- 4. Dowolny kod przykładowy C# z dostępem do interfejsu API GitHub?
- 5. Ubuntu GitHub klucze ssh issue
- 6. Github, git, jak przesłać zmiany do repozytorium wyższego szczebla
- 7. Jak mogę przesłać zatwierdzone zmiany do mojego repozytorium GitHub?
- 8. Jak mogę przesłać mój projekt Eclipse Android do GitHub?
- 9. Buforowanie wywołań API Github API
- 10. Kod HTML do README.md na Github
- 11. Aplikacja GitHub Mac dodaje klucze SSH?
- 12. Jak stworzyć bibliotekę z Androidem i przesłać ją na github?
- 13. Jak przesłać kod za pomocą gitg?
- 14. Jak przesłać kod źródłowy do Arduino z bash?
- 15. Jak przesłać kod do zdalnego klastra Spark z IntelliJ IDEA
- 16. Dysk Google przesłać błąd API
- 17. Zaktualizuj wiki projektu GitHub za pomocą interfejsu API GitHub
- 18. PHP-GitHub-Api Authentication Issue
- 19. Jak zdobyć listę popularnych repozytoriów github przez github api?
- 20. Interfejs API Tumblr - jak przesłać wiele zdjęć do zestawu zdjęć
- 21. Jak przesłać wiadomość do tablicy recenzji za pośrednictwem interfejsu API?
- 22. Jak przesłać plik do funkcji lambda lub bramki API?
- 23. Jak przesłać plik z Django API REST
- 24. Jak przesłać tylko ukryte pliki?
- 25. Jak przesłać więcej niż 100 plików na raz w github?
- 26. kod C#, aby GZip i przesłać ciąg do Amazon S3
- 27. Zgłoszenie postu do Github API do tworzenia problemu nie działa
- 28. Jak przejść do żądania ściągnięcia na github?
- 29. Jak przesłać plik na serwer przez POST API w Yii2.0?
- 30. Jak chronić swoje prywatne klucze podczas korzystania z github, heroku i rozwijania lokalnie?
Nigdy nie zatwierdzaj niczego, co zawiera informacje, których nie chcesz widzieć. –