돈 주시는 곳 중에 20개 정도 되는 사이트를 php, ftp로만 운영하는 곳이 있다.
영업기획, 디자인/퍼블 위주로 돌아가는 곳인데 ftp로만 굴리다 보니 매번 소스가 이전 상태로 덮어 씌워지거나 코드가 이상하게 바뀌는 경우가 일상인 곳이다.
도저히 견딜 수가 없어서 git을 도입했고 (정확하게는 github이지만..) 덮어 씌울 때 이상한 거 만드는 범인 찾기는 그나마 수월해졌다.
이제 ftp 직접 업로드만 차단하면 된다. tdd 니 오류 검증이니 같은 건 바라지도 않는다.
원래는 깃헙액션에
appleboy/scp-action: GitHub Action that copy files and artifacts via SSH.
이걸 걸어서 배포 쪽을 해결하려 했었는데, 이곳은 방화벽 때문에 vpn을 통해야 접근이 가능해서 softether로 어떻게 해결되나 싶더니만, 방화벽이 외국은 모조리 차단하고 있다.
미국만 풀 수 없냐고 물어보니까 나라 단위로 하나하나 차단을 새로 걸어줘야 해서 안돼요ㅋ 소리를 들었는데..
깃헙으로는 안될 거 같아서 gitea를 쓰기로 하고, 내부망에 서버 심은 다음에 gitea에 action 같은게 있는지 찾아보니까 깃헙액션 그런 거 없다. ㅋㅋㅋㅋ
별 수 있나, 웹훅으로 도는 거라도 만들어야지 ㅡ.,ㅡ
그래서 gitea에서 웹훅으로 정보 받고 저장소 클론해서 파일들 업로드 하는 거 만듦
이걸 nektos/act: Run your GitHub Actions locally + 써야 하나 싶기도 했는데, 여긴 도커도 안 쓰는 곳이라서..
이젠 뭐 됐다. 모르겠다.
* 인증용으로 임시저장소 삭제시 Secret, 웹훅 수신시 hmac X-Signature 체크하게끔 추가
* .wbignore라는 이름으로 .gitignore 같이 업로드시 무시하려는 파일들을 제어하는 코드 추가
끝.
practice-golang/webhook-basket (github.com)
걍 액션에서 국내 서버로 트리거하고 국내 서버에서 트리거 받으면 쉘스크립트 돌게 하면 되징
그거도 생각은 했는뎅 그렇게 굴릴 서버가 없어영 ㅠ