오늘도 한 뼘 더

[Golang] .env 사용하여 환경변수 설정 본문

Study/Go

[Golang] .env 사용하여 환경변수 설정

나른한댕댕이🐶 2022. 8. 30. 16:50
728x90
반응형

  # 배경  

DB 연결 정보를 코드로 작성하면서 연결 정보를 코드에 직접 노출하는 것이 보안적으로 좋지 않다고 생각하였다. 

환경변수를 사용하여 정보를 넘기는 방법에 대해 찾아보았다.

 

  ## godotenv   

https://pkg.go.dev/github.com/joho/godotenv#section-documentation

 

godotenv package - github.com/joho/godotenv - Go Packages

A Go (golang) port of the Ruby dotenv project (which loads env vars from a .env file) From the original Library: Storing configuration in the environment is one of the tenets of a twelve-factor app. Anything that is likely to change between deployment envi

pkg.go.dev

해당 패키지를 사용하여 실행한다. 

 go get github.com/joho/godotenv

 

  # .env 사용  

  • . env파일을 생성하고 파일에 환경변수를 세팅한다.
 NAME=jihyunb

 

  • main.go에서 환경변수를 load 한다.
package main

import (
	"fmt"
	"github.com/joho/godotenv"
	"log"
	"os"
)

func main() {
	err := godotenv.Load(".env")

	if err != nil {
		log.Fatal("Error loading .env file")
	}

	fmt.Println(".env [NAME]: ", os.Getenv("NAME"))
}

// 결과값
//.env [NAME]:  jihyunb
728x90
반응형
Comments