728x90
이전 글 (https://fils.tistory.com/812)에서 설명했던 Deployer가 최근 문제를 일으켰다.
deployer는 배포 시 release 디렉토리 내에 자동으로 번호를 매긴 디렉토리를 생성하고,
해당 디렉토리를 current 디렉토리로 symlink 설정하는 방식이다.
최근에 배포를 하려다 보니 이미 존재하는 마지막 번호 디렉토리에 배포를 시도하다
오류가 발생하는 일이 대부분이었다.
재미있는건 실패 후 재시도를 하면 배포가 됐다.
한참을 검색해서 찾아낸 원인은, slack 에 배포될 디렉토리를 미리 알리도록 했는데,
배포과정이 시작되기 전 {release_path} 변수를 미리 사용하면,
내부적으로 다음 배포 디렉토리가 이전에 사용 된 변수로 지정된다는 것이었다.
즉, 현재 배포 버전이 12 일때 slack으로 "{release_path} 로 배포합니다." 라고 알리는 task가 있다면
해당 task에서 호출 된 12번으로 배포 버전이 결정되어 12번으로 배포를 시도하게 된다는 것.
그 디렉토리는 비어있질 않으니 deployer 에서는 오류가 발생하는 것이다.
해당 task에서 release_path 부분을 제거한 후 정상적으로 작동하는 것 같다.
'내가 자꾸 까먹어서 쓰는 개발 이야기 > PHP' 카테고리의 다른 글
WSL2 + gitlab-ci + deployer(EC2)"Host key verification failed." (0) | 2020.06.29 |
---|---|
composer require 시 "proc_open(): fork failed - Cannot allocate memory" 오류 발생하는 경우 (0) | 2020.03.24 |
nusoap_client 이용 시 한글이 깨질 때 (0) | 2019.12.19 |
[Composer] proc_open(): fork failed - Cannot allocate memory 오류 (0) | 2019.10.11 |
Deployer로 배포할때 Slack에 알림 보내기 (0) | 2018.08.21 |
최근댓글