본문 바로가기

Software Development

(14)
Github Actions 맛보기 들어가며2019년 새해가 밝았는데, 몬가 새해엔 좀 더 블로그를 열심히 해 보자는 다짐과 함께, 깃헙에서 좋은 소식들이 연달아 오면서 겸사겸사 새해 첫 블로그 포스트를 작성 해 보았다. (-,.-;) 작년 말쯤에 Github Actions 라는 깃헙에서 나온 CI/CD를 위한 워크플로우 기능을 제공하기 위해 베타테스터를 모집한다는 글을 보았다. 당시에 한번 써 보고 싶어서 냅다 신청했는데, 며칠전에 베타테스터에 당첨되었다는 메일을 받고, 당장 적용 해 보았다. 얼마전부터 심심한 여가시간을 보내기 위해 개인 프로젝트를 해 보고자 뉴스 크롤러를 만들어 보고 있다. [Ashon/newscrawler] 그 프로젝트에 CI를 설정해서 쓰고 싶어서 bitbucket에 프로젝트를 파서 개발 중이었는데, 마침 깃헙에서..
Kubernetes 공부 - pod에서 pause 컨테이너는 왜 생기는지.. https://medium.com/google-cloud/understanding-kubernetes-networking-pods-7117dd28727문서를 보던 중에 pod 안에 pause 컨테이너에 대해 글을 찾아 보았다. ## 관련 소스코드pause 컨테이너의 Dockerfilehttps://github.com/kubernetes/kubernetes/blob/master/build/pause/Dockerfile pause 컨테이너가 실행하는 pause 프로세스 코드https://github.com/kubernetes/kubernetes/blob/master/build/pause/pause.c ## 관련 정보https://www.ianlewis.org/en/almighty-pause-container..
장난감 CoreOS 클러스터 근황, 소소한 삽질기 공유 consul - registrator: 도커 컨테이너 서비스 디스커버리consul은 내부적으로 DNS 서비스를 해 주고, node, service를 기준으로 자동화된 도메인 네임 컨벤션을 가지고 있다.그 밖에 key-value 스토어 기능도 제공을 해 주는데, 이 부분은 사용하지 않았다.사내 DNS에 CoreOS클러스터 호스트 모두에 DNS 로드밸런싱을 위해 consul 도메인 포워딩을 해 놓고 사용 중. registrator는 서비스 디스커버리 도구에 도커 컨테이너를 등록하는 애플리케이션인데호스트에 컨테이너가 올라가면, 올라간 포트들을 자동으로 추적하여, 자체 네이밍 컨벤션을 가지고서비스 디스커버리 도구에 등록해 주는 좋은 도구다. registrator에서 부여하는 이름 말고 자신이 원하는 서비스 이름..
알아두면 좋은 Ansible 원본 글은 https://ashon.github.io/2017/09/09/introduce-ansible.html 으로 이전 되었습니다.
Docker Rex-ray 볼륨 드라이버 플러그인 소개 REX-Ray컨테이너 스토리지 오케스트레이션 엔진. 여러 클라우드 환경을 지원해 줌.official: https://rexray.codedellemc.com/github: https://github.com/codedellemc/rexrayread the docs: http://rexray.readthedocs.io/en/stable/ libStorage`dell EMC` 에서 관리하는 클라우드환경 스토리지 오케스트레이션을 위한 라이브러리. `REX-Ray`의 코어가 되는 라이브러리 인 듯.github: https://github.com/codedellemc/rexray/tree/master/libstorage 작동 방식경험에 근거한 자료이니 정확하지 않을 수 있음. 새로 볼륨을 생성할 경우컨테이너를 구동..
Vagrant, Openstack, Jenkins, Ansible을 활용한 통합 테스팅 환경 CI-CD 환경 구축 원본 글은 https://ashon.github.io/2016/08/10/ansible-vagrant-openstack-jenkins-cicd.html 으로 이전되었습니다.
Jasmine을 활용한 Front-end JS Test Automation Jasminehttp://jasmine.github.io/ BDD 사상을 가지고 구현 된 테스팅 프레임워크.Introducing BDD - http://blog.jaigurudevaom.net/319BDD wikipedia - https://en.wikipedia.org/wiki/Behavior-driven_developmentBDD와 TDD의 차이 - http://blog.aliencube.org/ko/2014/04/02/differences-between-bdd-and-tdd/Jasmine 설치NPM을 이용 해 jasmine을 머신에 설치한다.# shell command를 이용해 jasmine을 설치한다. global로 설치 수행# npm이 없다면 npm과 nodejs를 설치해야 함. $ npm in..
flask-mongoengine을 uwsgi에서 사용할 때 주의할 점. mongoengine에는 커넥션 제어를 위한 메소드들이 들어가 있지 않아서...uwsgi로 프로세스를 여러개 생성하게 될 경우, parent에 맺어진 커넥션을 child process가 제대로 가져오지 못하고 데드락이 발생하는 경우가 생긴다. 사실 제목에서 언급한 uwsgi뿐만 아니라 모든 멀티프로세싱을 사용하는 앱들은 주의할 필요가 있다. (pymongo를 사용하길 권장함..) #######/.venv/local/lib/python2.7/site-packages/pymongo/topology.py:75: UserWarning: MongoClient opened before fork. Create MongoClient with connect=False, or create client after forki..