diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6aa6762..ecbbe1f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -52,10 +52,20 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 + - name: Set Image Tag + id: set-image-tag + run: | + if [ "$GITHUB_REF" == "refs/heads/main" ]; then + echo "IMAGE_TAG=${GITHUB_SHA}" >> $GITHUB_ENV + echo "Using image tag: ${GITHUB_SHA}" + else + echo "IMAGE_TAG=dev-${GITHUB_SHA}" >> $GITHUB_ENV + echo "Using image tag: dev-${GITHUB_SHA}" + fi + - name: Build and Push Docker Image env: ECR_REGISTRY: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com - IMAGE_TAG: ${{ github.sha }} LATEST_TAG: latest run: | docker build -t $ECR_REGISTRY/${{ secrets.ECR_REPOSITORY }}:$IMAGE_TAG . @@ -88,11 +98,11 @@ jobs: if [ "$GITHUB_REF" == "refs/heads/main" ]; then IMAGE_TAG=${{ github.sha }} echo "Updating production manifest..." - sed -i 's|image: .*$|image: '"${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/${{ secrets.ECR_REPOSITORY }}:${{ github.sha }}"'|g' ./overlays/prod/patch-app-deployment.yaml + sed -i "s|image: .*$|image: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/${{ secrets.ECR_REPOSITORY }}:${IMAGE_TAG}|g" ./overlays/prod/patch-app-deployment.yaml else IMAGE_TAG=dev-${{ github.sha }} echo "Updating development manifest..." - sed -i 's|image: .*$|image: '"${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/${{ secrets.ECR_REPOSITORY }}:${{ github.sha }}"'|g' ./overlays/dev/patch-app-deployment.yaml + sed -i "s|image: .*$|image: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/${{ secrets.ECR_REPOSITORY }}:${IMAGE_TAG}|g" ./overlays/dev/patch-app-deployment.yaml fi - name: Commit and push changes if necessary diff --git a/src/main/java/cinebox/security/config/CookieConfig.java b/src/main/java/cinebox/common/config/CookieConfig.java similarity index 93% rename from src/main/java/cinebox/security/config/CookieConfig.java rename to src/main/java/cinebox/common/config/CookieConfig.java index 251cf3b..1941aa8 100644 --- a/src/main/java/cinebox/security/config/CookieConfig.java +++ b/src/main/java/cinebox/common/config/CookieConfig.java @@ -1,4 +1,4 @@ -package cinebox.security.config; +package cinebox.common.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/cinebox/common/config/FilterConfig.java b/src/main/java/cinebox/common/config/FilterConfig.java new file mode 100644 index 0000000..1206475 --- /dev/null +++ b/src/main/java/cinebox/common/config/FilterConfig.java @@ -0,0 +1,17 @@ +package cinebox.common.config; + +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class FilterConfig { + + @Bean + public FilterRegistrationBean loggingFilter() { + FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); + registrationBean.setFilter(new RequestMethodLoggingFilter()); + registrationBean.addUrlPatterns("/*"); + return registrationBean; + } +} diff --git a/src/main/java/cinebox/security/config/RedisRepositoryConfig.java b/src/main/java/cinebox/common/config/RedisRepositoryConfig.java similarity index 98% rename from src/main/java/cinebox/security/config/RedisRepositoryConfig.java rename to src/main/java/cinebox/common/config/RedisRepositoryConfig.java index 3260259..d0d96f9 100644 --- a/src/main/java/cinebox/security/config/RedisRepositoryConfig.java +++ b/src/main/java/cinebox/common/config/RedisRepositoryConfig.java @@ -1,4 +1,4 @@ -package cinebox.security.config; +package cinebox.common.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/cinebox/common/config/RequestMethodLoggingFilter.java b/src/main/java/cinebox/common/config/RequestMethodLoggingFilter.java new file mode 100644 index 0000000..0fb3ec5 --- /dev/null +++ b/src/main/java/cinebox/common/config/RequestMethodLoggingFilter.java @@ -0,0 +1,28 @@ +package cinebox.common.config; + +import java.io.IOException; + +import org.slf4j.MDC; + +import jakarta.servlet.Filter; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; + +public class RequestMethodLoggingFilter implements Filter { + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) + throws IOException, ServletException { + + HttpServletRequest httpRequest = (HttpServletRequest) request; + try { + MDC.put("requestMethod", httpRequest.getMethod()); + chain.doFilter(request, response); + } finally { + MDC.remove("requestMethod"); + } + } +} \ No newline at end of file diff --git a/src/main/java/cinebox/security/config/RestTempateConfig.java b/src/main/java/cinebox/common/config/RestTempateConfig.java similarity index 95% rename from src/main/java/cinebox/security/config/RestTempateConfig.java rename to src/main/java/cinebox/common/config/RestTempateConfig.java index 91d368b..fae10df 100644 --- a/src/main/java/cinebox/security/config/RestTempateConfig.java +++ b/src/main/java/cinebox/common/config/RestTempateConfig.java @@ -1,4 +1,4 @@ -package cinebox.security.config; +package cinebox.common.config; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/cinebox/security/config/S3Config.java b/src/main/java/cinebox/common/config/S3Config.java similarity index 96% rename from src/main/java/cinebox/security/config/S3Config.java rename to src/main/java/cinebox/common/config/S3Config.java index d8f4081..92fa265 100644 --- a/src/main/java/cinebox/security/config/S3Config.java +++ b/src/main/java/cinebox/common/config/S3Config.java @@ -1,4 +1,4 @@ -package cinebox.security.config; +package cinebox.common.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index a538e75..201bdc7 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -5,10 +5,27 @@ {"app":"cinebox","env":"prod"} + true + + true + 1024 + + + + ./log/cinebox/app.log + true + + /var/log/cinebox/app-%d{yyyy-MM-dd}.%i.log + 10MB + 7 + + + %d{ISO8601} [%thread] [%mdc{requestMethod}] %-5level %logger{36} - %msg%n + \ No newline at end of file