name:Backend CIon:push:branches:[dev]permissions:contents:readjobs:build:name:CIruns-on:ubuntu-lateststeps:-name:Pull Repositoryuses:actions/checkout@v3-name:Checkout private toolsuses:actions/checkout@v3with:repository:hongmoSung/propertiestoken:$path:src/main/resources/propertiessubmodules:true-name:Set up JDK 21uses:actions/setup-java@v3with:java-version:'21'distribution:'temurin'-name:Build with Gradleuses:gradle/gradle-build-action@v2.10.0with:arguments:builddeployment:name:CDruns-on:ubuntu-latestneeds:buildsteps:-name:Pull Repositoryuses:actions/checkout@v3-name:Checkout private toolsuses:actions/checkout@v3with:repository:hongmoSung/propertiestoken:$path:src/main/resources/propertiessubmodules:true-name:Set up JDK 21uses:actions/setup-java@v3with:java-version:'21'distribution:'temurin'-name:Build with Gradleuses:gradle/gradle-build-action@v2.10.0with:arguments:build-name:Configure AWS credentialsuses:aws-actions/configure-aws-credentials@v1with:aws-access-key-id:$aws-secret-access-key:$aws-region:ap-northeast-2-name:Login to Amazon ECRid:login-ecruses:aws-actions/amazon-ecr-login@v1-name:Build, tag, and push docker image to Amazon ECRid:build-imageenv:REGISTRY:$REPOSITORY:my-backend-ecrIMAGE_TAG:$run:|docker build -t $REGISTRY/$REPOSITORY:latest .docker push $REGISTRY/$REPOSITORY:latestecho "image=$REGISTRY/$REPOSITORY:latest" >> $GITHUB_OUTPUT-name:Fill in the new image ID in the Amazon ECS task definitionid:task-defuses:aws-actions/amazon-ecs-render-task-definition@v1with:task-definition:./src/main/resources/properties/dev-task-definition.jsoncontainer-name:my-backend-contatinerimage:$-name:Deploy Amazon ECS task definitionuses:aws-actions/amazon-ecs-deploy-task-definition@v1with:task-definition:$service:my-ecs-servicecluster:dev_my_clusterwait-for-service-stability:false
Git submodule
설정 정보들을 공개하지 않기 위해서 사용…
1
2
3
4
5
# 서브 모듈을 등록
git submodule add --force https://github.com/hongmoSung/private_test.git
# 최신화
git submodule foreach git pull
느낀점
CI/CD 를 처음해봐서 너무 어려웠다.. AWS를 처음 써본것도 있지만.. 네트워크 지식이 너무 없어서 너무 많은 시간을 지체했다.
중간에 하현우 코치님과 멘토링이 많은 도움이 되었다. 요즘 클라우드 플랫폼을 많이 사용하는데 트랜드가 블랙리스트가 아닌 화이트리스트를 많이 선택한다는 것
그래서 네트워크를 새팅할때 허용해주는것을 잘 해야한다.(port, ip, iam 등등…)
그리고 아예 구축을 못할 뻔했는데 같은 기수분 중에 인프라를 테라폼으로 하신분이 공유해 주셨는데 그게 많은 도움이 되었다. AWS Console 에서 직접 하는것보다 코드로 보는게 더 직관적이고 쉬웠다.
댓글남기기