프로젝트 구조가 git repo -> project (gradle 위치) 이어서 yml 파일은 최상단에 위치하고 gradle은 내부 폴더에 위치하는 상황이어서 deploy를 할 때 현재 위치를 지정하는 일이 중요했다.
before_deploy:
- cd ../
- mkdir -p before-deploy
- cp appspec.yml before-deploy/
- cd project
- cp scripts/*.sh ../before-deploy/
- cp build/libs/*.jar ../before-deploy/
- cd ../
- cd before-deploy && zip -r before-deploy *
- cd ../ && mkdir -p deploy
- mv before-deploy/before-deploy.zip deploy/mangopot.zip
after_deploy:
- cd repo
deploy:
deploy 전, gradlew build를 진행할 때 project 내부에서 진행했기 때문에 deploy를 하기 전 밖으로 나와줬다. deploy 폴더를 만들고 yml 파일을 복사한 후 다시 project 내부 폴더로 들어가서 필요 파일들을 복사해주고 다시 밖으로 나와서 압축하는 작업을 해줬다. 최종 폴더는 레포 밖에 만들어줬다.
deploy 작업은 repo 안에서 해줘야 한다.
최종 폴더를 레포 밖에 만드는 과정에서 현재 위치가 레포 밖의 폴더로 이동되어 after_deploy에서 다시 레포로 이동해줬다.