-
이전 글: 도커 도입의 필요성
도커를 도입했다.
도커를 도입하는 목적은 개발 환경을 꾸미는데 들어가는 시간을 줄이고, 서로 다른 개발환경에서 발생하는 문제를 없애는데 목적이 있다. 개발자 각각이 개발 환경을 꾸미는 게 아니라, 한 명의 개발자가 개발 환경(툴체인 등)을 갖추고 그것을 도커 이미지로 만들어서 공유하면 시간을 아낄 수 있다.
첫 번째로, 라즈베리파이를 위한 크로스 컴파일용 세팅과 더불어서 wiringPi와 boost를 쓸 수 있도록 세팅했다.
wiringPi는 라즈베리파이에서 시리얼통신을 사용하기 위한 C 라이브러리이고, boost는 C++용 공용 라이브러리이다.
wiringPi는 모든 프로젝트에서 쓰이니까 당연히 세팅해줘야 한다.
boost는 종종 사용된다. 그런데, 설치 및 세팅을 할 때마다 약간의 문제 해결이 필요한 경우가 많았다.
그래서 크로스 컴파일용 개발 환경에 포함시키기로 논의를 했다.
도커를 도입하면서, 빌드를 위한 Makefile 성작성법을 조금 더 깊게 익힐 수 있었다.
무심코 지나갈 수 있었던 컴파일, 링킹 과정에서 어떤 것들을 신경써야하는지를 다시 되새길 수 있었다.
Docker라는 새로운 시스템 자체를 배울 수 있어서 좋았다.
현재, 도커로 빌드한 실행 파일이 제품으로 나가고 있고, 도커 때문에 발생하는 문제가 없다면, 기존의 제품의 바이너리도 도커로 빌드한 것으로 바꿀 예정이다.
---------
2022년이다. 시간이 꽤 흘렀다. 도커 도입의 모든 목적을 다 달성하진 못했지만, 도커를 이용한 빌드 환경을 잘 쓰고 있다.
'문제해결' 카테고리의 다른 글
mipsel32 개발 환경 구축 (0) 2021.12.09 VMWare기반 개발 환경을 호스트 OS로 옮겼다. (0) 2021.10.21 ESP32 write cycles의 중요성 (0) 2021.10.06 도커 도입의 필요성 (0) 2021.08.03 중첩된 NAT뒤의 OpenWRT 웹 서버에 터널링하기 (0) 2021.05.13