SlideShare a Scribd company logo
개발 환경 설정 이야기 Part.1
선행개발Lab 박대성
개발 환경의 종류
Dev Production
개발 환경의 종류
Dev Production
Local Release
결국 Local에서 개발해서 바로 상용에 적용하는 꼴
많아지는 개발 환경
Local Dev Production
Server Server
MSA
많아지는 개발 환경
주문
인증
결제
알림
MSA
많아지는 개발 환경
주문
인증
결제
알림
테스트 좀 할게요
저도 테스트 중이라
기다려주세요
많아지는 개발 환경
Local Dev Integration Production
많아지는 개발 환경
Local Dev Integration QA Production
많아지는 개발 환경
Local Dev Integration QA Staging Production
Code를 이용한 설정 (Flag)
Code를 이용한 설정 (객체)
Code를 이용한 설정 (객체)
코드를 이용한 설정은
배포 전 코드의 수정이 필요함.
환경 설정을 파일로 분리, Argument 활용
Program
dev.conf
prod.conf
환경 설정을 파일로 분리, Argument 활용
Program
dev.conf
prod.conf
개발 환경에서 상용 환경 파일로
실행 해 버렸습니다.
( argument 실수를 할 확률 )
Symbolic link 를 활용
Program
dev.conf
prod.conf
config.conf
Symbolic link 를 활용
Program
dev.conf
prod.conf
config.conf
배포 작업 시 프로젝트 경로에 따라 Symbolic link 를
잘못된 환경을 링크하는 실수가 여전히 발생
환경 별 공통되는 속성을 발견하였으나 관리가 어려웠음
환경변수로 관리
Program
dev.conf
prod.conf
common.conf
초기 시스템 구축 시 세팅
공통 속성을 먼저 읽고, 환경변수에 따라 파일을 추가로 읽음.
(중복 값은 Overwrite)
주의 사항
• rc.local 을 이용한 환경 변수 초기화 시, rc.local 서비스가 동작 중인지 확인 필요. (RHEL7)
+ rc.local 파일의 실행 권한도 확인 필요.
• 프로그램 실행 스크립트 내에서 환경 변수를 정의하는 것은 지양
• 부팅 시 적용되는 환경변수, 쉘에 적용되는 환경 변수 등이 잘 적용되었는지 확인 필요
+ 언제 /etc/rc.local, /etc/environment, /etc/profile.d/ 를 쓸 지 고려할 필요.
감사합니다.

More Related Content

Similar to TechTalk - 개발환경설정 이야기

[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
Sang Don Kim
 
java_1장.pptx
java_1장.pptxjava_1장.pptx
java_1장.pptx
ssuserdfc8b1
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
JinKwon Lee
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
Chanwoong Kim
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교
Junyoung Lee
 
빌드교육자료 작성중
빌드교육자료 작성중빌드교육자료 작성중
빌드교육자료 작성중Sukjin Yun
 
java_1장
java_1장java_1장
java_1장
HeeJung Chae
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)
DONGSU KIM
 
2015 oce specification
2015 oce specification2015 oce specification
2015 oce specification
uEngine Solutions
 
Local Dev
Local DevLocal Dev
Local Dev
JiHwan Yoon
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
Amazon Web Services Korea
 
java_1장.pptx
java_1장.pptxjava_1장.pptx
java_1장.pptx
HeeJung Chae
 
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
ymtech
 
Bon voyage Docker_Kubernetes
Bon voyage Docker_KubernetesBon voyage Docker_Kubernetes
Bon voyage Docker_Kubernetes
ssuseraada82
 
[BRK30136] Windows 기반 백엔드 개발자를 위한 컨테이너 시작하기 / Introduction to Containers For ...
[BRK30136] Windows 기반 백엔드 개발자를 위한 컨테이너 시작하기 / Introduction to Containers For ...[BRK30136] Windows 기반 백엔드 개발자를 위한 컨테이너 시작하기 / Introduction to Containers For ...
[BRK30136] Windows 기반 백엔드 개발자를 위한 컨테이너 시작하기 / Introduction to Containers For ...
Jung Hyun Nam
 
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
Amazon Web Services Korea
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
Sumin Byeon
 
Windows Debugging Technique #3
Windows Debugging Technique #3Windows Debugging Technique #3
Windows Debugging Technique #3
Wooseok Seo
 
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tipCocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
Alex Kang
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

Similar to TechTalk - 개발환경설정 이야기 (20)

[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
 
java_1장.pptx
java_1장.pptxjava_1장.pptx
java_1장.pptx
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교
 
빌드교육자료 작성중
빌드교육자료 작성중빌드교육자료 작성중
빌드교육자료 작성중
 
java_1장
java_1장java_1장
java_1장
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)
 
2015 oce specification
2015 oce specification2015 oce specification
2015 oce specification
 
Local Dev
Local DevLocal Dev
Local Dev
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
 
java_1장.pptx
java_1장.pptxjava_1장.pptx
java_1장.pptx
 
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
 
Bon voyage Docker_Kubernetes
Bon voyage Docker_KubernetesBon voyage Docker_Kubernetes
Bon voyage Docker_Kubernetes
 
[BRK30136] Windows 기반 백엔드 개발자를 위한 컨테이너 시작하기 / Introduction to Containers For ...
[BRK30136] Windows 기반 백엔드 개발자를 위한 컨테이너 시작하기 / Introduction to Containers For ...[BRK30136] Windows 기반 백엔드 개발자를 위한 컨테이너 시작하기 / Introduction to Containers For ...
[BRK30136] Windows 기반 백엔드 개발자를 위한 컨테이너 시작하기 / Introduction to Containers For ...
 
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 
Windows Debugging Technique #3
Windows Debugging Technique #3Windows Debugging Technique #3
Windows Debugging Technique #3
 
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tipCocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
 

More from Daesung Park

알아두면 쓸모있는 GPS 이야기
알아두면 쓸모있는 GPS 이야기알아두면 쓸모있는 GPS 이야기
알아두면 쓸모있는 GPS 이야기
Daesung Park
 
TechTalk - 서버를 해킹 당했습니다
TechTalk - 서버를 해킹 당했습니다TechTalk - 서버를 해킹 당했습니다
TechTalk - 서버를 해킹 당했습니다
Daesung Park
 
TechTalk - POI Tokenizing
TechTalk - POI TokenizingTechTalk - POI Tokenizing
TechTalk - POI Tokenizing
Daesung Park
 
TechTalk - Object Interning
TechTalk - Object InterningTechTalk - Object Interning
TechTalk - Object Interning
Daesung Park
 
TechTalk - DrawIO 팁
TechTalk - DrawIO 팁TechTalk - DrawIO 팁
TechTalk - DrawIO 팁
Daesung Park
 
Python Dict을 남용하지 마세요
Python Dict을 남용하지 마세요Python Dict을 남용하지 마세요
Python Dict을 남용하지 마세요
Daesung Park
 
Spark Summit 2019
Spark Summit 2019Spark Summit 2019
Spark Summit 2019
Daesung Park
 
DataWorks Summit 2018
DataWorks Summit 2018DataWorks Summit 2018
DataWorks Summit 2018
Daesung Park
 
DataWorks Summit 2017
DataWorks Summit 2017DataWorks Summit 2017
DataWorks Summit 2017
Daesung Park
 

More from Daesung Park (9)

알아두면 쓸모있는 GPS 이야기
알아두면 쓸모있는 GPS 이야기알아두면 쓸모있는 GPS 이야기
알아두면 쓸모있는 GPS 이야기
 
TechTalk - 서버를 해킹 당했습니다
TechTalk - 서버를 해킹 당했습니다TechTalk - 서버를 해킹 당했습니다
TechTalk - 서버를 해킹 당했습니다
 
TechTalk - POI Tokenizing
TechTalk - POI TokenizingTechTalk - POI Tokenizing
TechTalk - POI Tokenizing
 
TechTalk - Object Interning
TechTalk - Object InterningTechTalk - Object Interning
TechTalk - Object Interning
 
TechTalk - DrawIO 팁
TechTalk - DrawIO 팁TechTalk - DrawIO 팁
TechTalk - DrawIO 팁
 
Python Dict을 남용하지 마세요
Python Dict을 남용하지 마세요Python Dict을 남용하지 마세요
Python Dict을 남용하지 마세요
 
Spark Summit 2019
Spark Summit 2019Spark Summit 2019
Spark Summit 2019
 
DataWorks Summit 2018
DataWorks Summit 2018DataWorks Summit 2018
DataWorks Summit 2018
 
DataWorks Summit 2017
DataWorks Summit 2017DataWorks Summit 2017
DataWorks Summit 2017
 

TechTalk - 개발환경설정 이야기