오늘은 docker 환경에서의 원시적인 CI를 간단히 구축했다. C++ 프로젝트를 마운트해서 docker 안에 있는 toolchain으로 빌드해야 했는데, docker 안에서 수행할 script를 바깥에서 같이 마운트해서 다른 script로 호출하는 구조로 땜빵했다. 다른 부서원들이 편히 쓸 수 있어보여 만족스럽다.
bash script는 짤 때마다 앎이 넓어진다. 오늘 새롭게 배운 목록이다.
set -o pipefail
로 nonzero exit code를 pipe를 통해서도 전파할 수 있다.echo -e
로 backslash를 확장해서\e[1;33m
등의 색상을 적용할 수 있다.cat
은 기본적으로 색상출력을 지원하지 않는다.grep -q
는 조건이 부합되면 바로 종료되기 때문에 앞 프로세스의 입력을 다 받지 못할 수 있다.- 정말 오랜만에
printf
에%*
를 써봤다.
작성하는데 테스트까지 1~2시간 정도 걸렸는데 요즘 AI라면 금방 끝내지 않았을까 싶다...