26 Commits

Author SHA1 Message Date
revlis44
745c5a7461 harbor로그인 시 비밀번호 특수문자가 있으면 printf %s 사용해야함
All checks were successful
PR-CI / build-test (pull_request) Successful in 17s
2025-12-09 13:30:51 +09:00
revlis44
a586ba28bd harbor 2025-12-09 12:11:34 +09:00
revlis44
7b47a02d9a ddd
All checks were successful
PR-CI / build-test (pull_request) Successful in 33s
2025-12-09 12:09:19 +09:00
revlis44
7fb2bfdfa4 dd 2025-12-09 12:06:34 +09:00
revlis44
98a8159d9f d 2025-12-09 12:05:22 +09:00
632eaa721e favicon 강제 캐쉬
Some checks failed
Main-Build / build-and-push (push) Failing after 17s
2025-12-09 11:58:08 +09:00
b6ab357703 favicon 강제 캐쉬
Some checks failed
Main-Build / build-and-push (push) Failing after 16s
2025-12-09 11:49:01 +09:00
8fca06fcbc favicon 강제 캐쉬
Some checks failed
Main-Build / build-and-push (push) Failing after 15s
2025-12-09 11:43:21 +09:00
53887b77ed Merge pull request '파비콘 추가' (#14) from feature/favicon into master
Some checks failed
Main-Build / build-and-push (push) Failing after 16s
Reviewed-on: #14
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2025-12-09 02:07:25 +00:00
revlis44
2808bbc29d 파비콘 추가
Some checks failed
PR-CI / build-test (pull_request) Failing after 4m55s
2025-12-09 11:06:54 +09:00
fc1420a0ea Merge pull request 'favicon 변경' (#13) from feature/favicon into master
Some checks failed
Main-Build / build-and-push (push) Failing after 28s
Reviewed-on: #13
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2025-12-09 01:55:45 +00:00
80b13f2893 JVM 옵션 정리
Some checks failed
Main-Build / build-and-push (push) Has been cancelled
2025-12-09 10:43:50 +09:00
revlis44
ea2ecf2539 favicon 변경
Some checks failed
PR-CI / build-test (pull_request) Failing after 6m30s
2025-12-09 10:29:00 +09:00
75b5328f27 무중단 배포용 Jenkinsfile 생성
Some checks failed
Main-Build / build-and-push (push) Has been cancelled
2025-12-09 09:39:26 +09:00
320e64f929 무중단 배포용 /health 200 응답 기능 Spring Security 예외 처리 추가 (login session 제외)
Some checks failed
Main-Build / build-and-push (push) Failing after 17s
2025-12-08 17:05:20 +09:00
58d246a993 무중단 배포용 /health 200 응답 기능 Spring Security 예외 처리 추가
Some checks failed
Main-Build / build-and-push (push) Failing after 22s
2025-12-08 16:24:34 +09:00
9eade14238 무중단 배포용 /health 200 응답 기능 Spring Security 예외 처리 추가
Some checks failed
Main-Build / build-and-push (push) Failing after 4s
2025-12-08 16:17:39 +09:00
c289eb242d Merge remote-tracking branch 'origin/master'
Some checks failed
Main-Build / build-and-push (push) Failing after 4s
2025-12-08 16:07:30 +09:00
cf5503f56f 무중단 배포용 /health 200 응답 기능 추가 2025-12-08 16:06:50 +09:00
158dc8f7a0 Merge pull request 'feature/add-favicon' (#10) from feature/add-favicon into master
Some checks failed
Main-Build / build-and-push (push) Failing after 17s
Reviewed-on: #10
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2025-12-08 05:34:41 +00:00
revlis44
311aa989d3 favicon 추가
Some checks failed
PR-CI / build-test (pull_request) Failing after 6m30s
2025-12-08 14:21:29 +09:00
revlis44
a2866366ce gitea-action test
Some checks failed
PR-CI / build-test (pull_request) Has been cancelled
2025-12-08 13:37:57 +09:00
4b0471639c Merge pull request 'gitea-action-runner test' (#8) from feature/git-action3 into master
Some checks failed
Main-Build / build-and-push (push) Failing after 21s
Reviewed-on: #8
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2025-12-08 01:41:14 +00:00
revlis44
f7b750881c 운영DB서버로 접속정보 변경
Some checks failed
PR-CI / build-test (pull_request) Failing after 6m39s
2025-12-08 10:34:52 +09:00
revlis44
a1ae0d3cfa 하버 업로드 임시 제거
Some checks failed
PR-CI / build-test (pull_request) Failing after 4m57s
2025-12-05 10:54:45 +09:00
revlis44
d796042bed gitea-action-runner test
Some checks failed
PR-CI / build-test (pull_request) Failing after 4m54s
2025-12-04 14:49:58 +09:00
16 changed files with 96 additions and 95 deletions

View File

@@ -2,38 +2,30 @@ name: Main-Build
on:
push:
branches: ["main"]
branches: ["master"]
jobs:
build-and-push:
runs-on: ubuntu-latest
container:
image: maven:3.9.9-eclipse-temurin-8
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "8"
steps:
- uses: actions/checkout@v4
- name: Maven Build WAR
run: mvn -B clean package -DskipTests
- name: Docker login to Harbor
- name: Login Harbor
run: |
echo "${{ secrets.HARBOR_PASSWORD }}" | docker login harbor.sayinfo.co.kr -u ${{ secrets.HARBOR_USERNAME }} --password-stdin
printf "%s" "$HARBOR_PASSWORD" | docker login harbor.sayinfo.co.kr -u "$HARBOR_USERNAME" --password-stdin
env:
HARBOR_USERNAME: ${{ secrets.HARBOR_USERNAME }}
HARBOR_PASSWORD: ${{ secrets.HARBOR_PASSWORD }}
- name: Build Docker image
run: |
docker build -t sayit-helpdesk:latest .
- name: Tag image for Harbor
- name: Push to Harbor
run: |
docker tag sayit-helpdesk:latest harbor.sayinfo.co.kr/helpdesk/helpdesk-service:latest
- name: Push image to Harbor
run: |
docker push harbor.sayinfo.co.kr/helpdesk/helpdesk-service:latest
docker tag sayit-helpdesk:latest harbor.sayinfo.co.kr/sayit-helpdesk-gitea_action_runner_test/helpdesk-service:latest
docker push harbor.sayinfo.co.kr/sayit-helpdesk-gitea_action_runner_test/helpdesk-service:latest

View File

@@ -2,32 +2,15 @@ name: PR-CI
on:
pull_request:
branches: ["master"]
types: [opened, synchronize]
branches: ["master"]
jobs:
build-test:
runs-on: ubuntu-latest
container:
image: maven:3.9.9-eclipse-temurin-8
steps:
- name: Checkout source
uses: actions/checkout@v4
- uses: actions/checkout@v4
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "8"
- name: Cache Maven repo
uses: actions/cache@v4
with:
path: ~/.m2
key: m2-${{ runner.os }}-${{ hashFiles('**/pom.xml') }}
restore-keys: |
m2-${{ runner.os }}-
- name: Maven Build (compile + dependency check)
run: mvn -B clean package -DskipTests
- name: Maven Build (skip tests)
run: mvn -B clean package -DskipTests

View File

@@ -7,7 +7,7 @@ RUN apk add --no-cache curl && \
https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v${OTEL_VERSION}/opentelemetry-javaagent.jar \
-o /opentelemetry-javaagent.jar
# 2단계: Tomcat 이미지 (Java 8 기준, Java 17 쓸 거면 jdk17-temurin 그대로 사용)
# 2단계: Tomcat 이미지 (Java 8 기준)
FROM tomcat:9.0-jdk8-temurin
ENV TZ=Asia/Seoul \
@@ -15,23 +15,30 @@ ENV TZ=Asia/Seoul \
OTEL_EXPORTER_OTLP_ENDPOINT=http://192.168.100.203:4317 \
OTEL_EXPORTER_OTLP_PROTOCOL=grpc \
OTEL_RESOURCE_ATTRIBUTES="deployment.environment=prod" \
JAVA_TOOL_OPTIONS="-javaagent:/opt/opentelemetry-javaagent.jar"
JAVA_TOOL_OPTIONS="\
-Xms1g \
-Xmx1g \
-XX:+UseG1GC \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+UseStringDeduplication \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=/tmp \
-XX:+DisableExplicitGC \
-javaagent:/opt/opentelemetry-javaagent.jar"
# 타임존 설정
RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# OTEL 에이전트 복사
COPY --from=otel /opentelemetry-javaagent.jar /opt/opentelemetry-javaagent.jar
# OTEL 1000:1000 으로 구동 가능 하도록 처리
RUN chown 1000:1000 /opt/opentelemetry-javaagent.jar
# 🔽 기본 웹앱 정리
# 기본 웹앱 정리
RUN rm -rf /usr/local/tomcat/webapps/*
# Maven 빌드된 WAR 복사
# Maven 빌드 결과 파일명에 맞게 수정
COPY target/sayit-helpdesk.war /usr/local/tomcat/webapps/ROOT.war
# TOMCAT 구동전 톰캣은 1000:1000 으로 구동 할 수 있도록 조정
RUN chown -R 1000:1000 /usr/local/tomcat/
EXPOSE 8080

20
Jenkinsfile vendored
View File

@@ -1,9 +1,10 @@
// Jenkinsfile — Kaniko build + K8s deploy (latest only)
def L = 'kaniko-and-deploy'
def REG = 'harbor.sayinfo.co.kr'
def IMAGE = 'sayit-helpdesk/helpdesk-service' // Harbor 프로젝트/레포 이름에 맞게 유지 또는 수정
def APP_NS = 'sayit-helpdesk' // 실제 K8s 네임스페이스와 일치해야 함
def DEPLOY = 'sayit-helpdesk-service' // 실제 Deployment 이름과 일치해야 함
// Jenkinsfile — Kaniko build + K8s deploy (빌드번호 태그 사용)
def L = 'kaniko-and-deploy'
def REG = 'harbor.sayinfo.co.kr'
def IMAGE = 'sayit-helpdesk/helpdesk-service' // Harbor 프로젝트/레포 이름
def APP_NS = 'sayit-helpdesk' // 실제 K8s 네임스페이스
def DEPLOY = 'sayit-helpdesk-service' // 실제 Deployment 이름
def IMAGE_TAG = "${env.BUILD_NUMBER}"
podTemplate(
label: L,
@@ -104,7 +105,7 @@ spec:
/kaniko/executor \\
--context=. \\
--dockerfile=Dockerfile \\
--destination=${REG}/${IMAGE}:latest \\
--destination=${REG}/${IMAGE}:${IMAGE_TAG} \\
--snapshot-mode=redo \\
--skip-tls-verify \\
--cache=true \\
@@ -113,12 +114,11 @@ spec:
}
}
stage('Deploy to Kubernetes') {
stage('Deploy to Kubernetes') {
container('kubectl') {
sh """
set -eux
kubectl -n ${APP_NS} set image deploy/${DEPLOY} ${DEPLOY}=${REG}/${IMAGE}:latest
kubectl -n ${APP_NS} rollout restart deploy/${DEPLOY}
kubectl -n ${APP_NS} set image deploy/${DEPLOY} ${DEPLOY}=${REG}/${IMAGE}:${IMAGE_TAG}
kubectl -n ${APP_NS} rollout status deploy/${DEPLOY} --timeout=300s
kubectl -n ${APP_NS} get deploy ${DEPLOY} -o wide

View File

@@ -45,7 +45,9 @@ public class AuthenticInterceptor extends HandlerInterceptorAdapter {
uri.equals("/") ||
uri.equals("/actionLoginSys.do") ||
uri.equals("/js/") ||
uri.equals("/images/")
uri.equals("/images/") ||
uri.equals("/health.do")
) {
return true;
}

View File

@@ -32,6 +32,8 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import java.io.IOException;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class MainController {
@@ -88,5 +90,12 @@ public class MainController {
}
return startPage;
}
@RequestMapping(value = "/health.do", method = RequestMethod.GET)
public void health(HttpServletResponse response) throws IOException {
response.setStatus(HttpServletResponse.SC_OK);
response.setContentType("text/plain;charset=UTF-8");
response.getWriter().write("OK");
}
}

View File

@@ -1,43 +1,43 @@
#-----------------------------------------------------------------------
#
# globals.properties : 시스템
# globals.properties : \uc2dc\uc2a4\ud15c
#
#-----------------------------------------------------------------------
# 1. key = value 구조입니다.
# 2. key값은 공백문자를 포함불가, value값은 공백문자를 가능
# 3. key값으로 한글을 사용불가, value값은 한글사용이 가능
# 4. 줄을 바꿀 필요가 있으면 '\'를 라인의 끝에 추가(만약 '\'문자를 사용해야 하는 경우는 '\\'를 사용)
# 5. Windows에서의 디렉토리 표시 : '\\' or '/' ('\' 사용하면 안됨)
# 6. Unix에서의 디렉토리 표시 : '/'
# 7. 주석문 처리는 #사용
# 8. value값 뒤에 스페이스가 존재하는 경우 서블릿에서 참조할때는 에러발생할 수 있으므로 trim()하거나 마지막 공백없이 properties 값을 설정할것
# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4.
# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5
# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5
# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9)
# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428)
# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/'
# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9
# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83
#-----------------------------------------------------------------------
# 운영서버 타입(WINDOWS, UNIX)
# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX)
Globals.OsType =UNIX
# DB서버 타입(ORACLE, MYSQL) - datasource sqlMap 파일 지정에 사용됨
# DB\uc11c\ubc84 \ud0c0\uc785(ORACLE, MYSQL) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428
#Globals.DbType =oracle
Globals.DbType =mysql
# 위저드 사용시 데이터베이스 관련 설정을 불러옴
# \uc704\uc800\ub4dc \uc0ac\uc6a9\uc2dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uad00\ub828 \uc124\uc815\uc744 \ubd88\ub7ec\uc634
#Globals.DriverClassName=oracle.jdbc.OracleDriver
#Globals.Url=jdbc:oracle:thin:@122.199.152.76:1521:oradev
#Globals.UserName =say_cms
#Globals.Password =sksrhdqnffkr
## 세이헬프데스크
## \uc138\uc774\ud5ec\ud504\ub370\uc2a4\ud06c
Globals.DriverClassName=com.mysql.jdbc.Driver
#운영
#Globals.Url=jdbc:mysql://192.168.0.217:3306/helpdesk_db?characterEncoding=utf8
#개발
Globals.Url=jdbc:mysql://192.168.0.114:13314/helpdesk_db?characterEncoding=utf8
#\uc6b4\uc601
Globals.Url=jdbc:mysql://192.168.0.217:3306/helpdesk_db?characterEncoding=utf8
#\uac1c\ubc1c
#Globals.Url=jdbc:mysql://192.168.0.114:13314/helpdesk_db?characterEncoding=utf8
Globals.UserName =helpdesk
Globals.Password =helpdesk
# MainPage Setting
Globals.MainPage =/EgovContent.do
#통합메인메뉴
#\ud1b5\ud569\uba54\uc778\uba54\ub274
#Globals.MainPage = /sym/mnu/mpm/EgovMainMenuHome.do
SMS.DriverClassName=com.mysql.jdbc.Driver
@@ -51,11 +51,11 @@ SMS.guk=
Globals.Version=1.0
Globals.OrgKey=
Globals.OrgNm=세이정보기술
Globals.OrgNm=\uc138\uc774\uc815\ubcf4\uae30\uc220
Globals.OrgCode=8188
#Globals.AccessIp=10
Globals.SiteTitle=세이정보기술 Help-desk
Globals.SiteTitle=\uc138\uc774\uc815\ubcf4\uae30\uc220 Help-desk
#Globals.MobileStartPage=/mobile/intro.do
Globals.MobileStartPage=/login.do
PushUrl=http://www.sejong.go.kr/sotong
@@ -64,14 +64,14 @@ PushUrl=http://www.sejong.go.kr/sotong
fileLogUseYn=N
fileLogPath=/webapps/
MENU.PRJ = 프로젝트관리
MENU.USER = 회원관리
MENU.HDB = 요청작업관리
MENU.DTB = 자료실
MENU.MYPAGE = 마이페이지
MENU.BOARD.STT = 게시판이용현황
MENU.PRJ = \ud504\ub85c\uc81d\ud2b8\uad00\ub9ac
MENU.USER = \ud68c\uc6d0\uad00\ub9ac
MENU.HDB = \uc694\uccad\uc791\uc5c5\uad00\ub9ac
MENU.DTB = \uc790\ub8cc\uc2e4
MENU.MYPAGE = \ub9c8\uc774\ud398\uc774\uc9c0
MENU.BOARD.STT = \uac8c\uc2dc\ud310\uc774\uc6a9\ud604\ud669
# 환경파일 위치
# \ud658\uacbd\ud30c\uc77c \uc704\uce58
Globals.ShellFilePath =globals.properties
Globals.ServerConfPath =conf/server.properties
Globals.ClientConfPath =conf/client.properties
@@ -82,7 +82,7 @@ Globals.MailRequestPath =mail/request/
Globals.MailRResponsePath =mail/response/
Globals.SMEConfigPath =conf/SMEConfig.properties
# WINDOWS용 쉘파일 정보
# WINDOWS\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4
SHELL.WINDOWS.getHostName =prg/sh_001.bat
SHELL.WINDOWS.getDrctryByOwner =prg/getDrctryByOwner.bat
SHELL.WINDOWS.getDrctryOwner =prg/getDrctryOwner.bat
@@ -92,7 +92,7 @@ SHELL.WINDOWS.getDiskAttrb =prg/getDiskAttrb.bat
SHELL.WINDOWS.getDiskCpcty =prg/getDiskCpcty.bat
SHELL.WINDOWS.getDiskExst =prg/getDiskExst.bat
# UNIX용 쉘파일 정보 - 개발was jeus에서 사용할때 기준
# UNIX\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4 - \uac1c\ubc1cwas jeus\uc5d0\uc11c \uc0ac\uc6a9\ud560\ub54c \uae30\uc900
SHELL.UNIX.getHostName =prg/sh_001.sh
SHELL.UNIX.getDrctryByOwner =prg/getDrctryByOwner.sh
SHELL.UNIX.getDrctryOwner =prg/getDrctryOwner.sh
@@ -106,10 +106,10 @@ SHELL.UNIX.getDiskCpcty =prg/getDiskCpcty.sh
SHELL.UNIX.getDiskExst =prg/getDiskExst.sh
SHELL.UNIX.getProcInfo =prg/getProcInfo.sh
# LINUX용 쉘파일 정보
# LINUX\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4
# 연계
# 기관코드수신용(경로 설정은 반드시 절대경로를 사용해야함.)
# \uc5f0\uacc4
# \uae30\uad00\ucf54\ub4dc\uc218\uc2e0\uc6a9(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568.)
CNTC.INSTTCODE.DIR.rcv =D:/tmp/test/rcv/
CNTC.INSTTCODE.DIR.rcvold =D:/tmp/test/rcvold/
CNTC.INSTTCODE.DIR.bin =D:/tmp/test/bin/
@@ -120,11 +120,11 @@ CNTC.INSTTCODE.CMD.edircvmsg =gcc_edircvmsg.bat
CNTC.INSTTCODE.INFO.userid =USERID
CNTC.INSTTCODE.INFO.userpw =******
# 파일 업로드 경로(경로 설정은 반드시 절대경로를 사용해야함, 경로 뒤에 /를 붙여 주어야함.)
# \ud30c\uc77c \uc5c5\ub85c\ub4dc \uacbd\ub85c(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568, \uacbd\ub85c \ub4a4\uc5d0 /\ub97c \ubd99\uc5ec \uc8fc\uc5b4\uc57c\ud568.)
#Globals.fileStorePath =/webapps/upload/
Globals.fileStorePath =/webapps/proj/help_desk/upload/
# 파일 동기화 컴포넌트에서 사용할 파일 업로드 경로(경로 설정은 반드시 절대경로를 사용해야함, 경로 뒤에 /를 붙여 주어야함.)
# \ud30c\uc77c \ub3d9\uae30\ud654 \ucef4\ud3ec\ub10c\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ud560 \ud30c\uc77c \uc5c5\ub85c\ub4dc \uacbd\ub85c(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568, \uacbd\ub85c \ub4a4\uc5d0 /\ub97c \ubd99\uc5ec \uc8fc\uc5b4\uc57c\ud568.)
Globals.SynchrnServerPath =C:/egovframework/upload/Synch/
# for JFile properties
@@ -134,13 +134,13 @@ ftp.server.ip =127.0.0.1
ftp.user.id =test
ftp.user.password =test
# Social(Facebook, Oauth 컴포넌트 사용시 활용)
# Social(Facebook, Oauth \ucef4\ud3ec\ub10c\ud2b8 \uc0ac\uc6a9\uc2dc \ud65c\uc6a9)
facebook.appId =
facebook.appSecret =
twitter.consumerKey =
twitter.consumerSecret =
#LDAP조직도관리 컴포넌트 사용시 LDAP서버설정정보 필요
#LDAP\uc870\uc9c1\ub3c4\uad00\ub9ac \ucef4\ud3ec\ub10c\ud2b8 \uc0ac\uc6a9\uc2dc LDAP\uc11c\ubc84\uc124\uc815\uc815\ubcf4 \ud544\uc694
ldap.url =ldap://localhost:10389
ldap.rootDn =c=kr
ldap.username =uid=admin,ou=system

View File

@@ -20,6 +20,7 @@
<security:http pattern="/js/**" security="none"/>
<security:http pattern="/resource/**" security="none"/>
<security:http pattern="\A/WEB-INF/jsp/.*\Z" request-matcher="regex" security="none"/>
<security:http pattern="/health.do" security="none"/>
<egov-security:config id="securityConfig"
loginUrl="/login.do"

BIN
src/main/webapp/Favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -17,6 +17,7 @@
<script src="js/common/login.js"></script>
<base target="_self" />
<title><%=MainGlobals.SITE_TITLE%></title>
<link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/Favicon.ico?v=20251209" />
<style>
.login_wrap_body{ background:url(${pageContext.request.contextPath}/images/admin/login_bg.gif) repeat left top; font-family:"맑은 고딕",Malgun Gothic,AppleGothic,sans-serif,"돋움", Dotum; }
.login_wrap{display:block; height:100%; left:0; position:fixed; top:0; width:100%; z-index:10000;}

View File

@@ -12,6 +12,7 @@
<meta name="keywords" content="" />
<base target="_self" />
<title><%=MainGlobals.SITE_TITLE%></title>
<link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/Favicon.ico?v=20251209" />
<script type="text/javascript">var G_CONTEXT_PATH = '${pageContext.request.contextPath}';</script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/engine.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/util.js"></script>

View File

@@ -22,6 +22,7 @@ if(UserHelper.isAuthenticated()) {
<meta name="keywords" content="" />
<base target="_self" />
<title><%=MainGlobals.SITE_TITLE%></title>
<link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/Favicon.ico?v=20251209" />
<script type="text/javascript">var G_CONTEXT_PATH = '${pageContext.request.contextPath}';</script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/engine.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/util.js"></script>

View File

@@ -23,6 +23,7 @@ if(UserHelper.isAuthenticated()) {
<meta name="keywords" content="" />
<base target="_self" />
<title><%=MainGlobals.SITE_TITLE%></title>
<link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/Favicon.ico?v=20251209" />
<script type="text/javascript">var G_CONTEXT_PATH = '${pageContext.request.contextPath}';</script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/engine.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/util.js"></script>

View File

@@ -22,6 +22,7 @@ if(UserHelper.isAuthenticated()) {
<meta name="keywords" content="" />
<base target="_self" />
<title><%=MainGlobals.SITE_TITLE%></title>
<link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/Favicon.ico?v=20251209" />
<script type="text/javascript">var G_CONTEXT_PATH = '${pageContext.request.contextPath}';</script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/engine.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/util.js"></script>

View File

@@ -13,6 +13,7 @@
<meta name="keywords" content="noframe" />
<base target="_self" />
<title><%=MainGlobals.SITE_TITLE%></title>
<link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/Favicon.ico?v=20251209" />
<script type="text/javascript">var G_CONTEXT_PATH = "${pageContext.request.contextPath}";</script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/engine.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/util.js"></script>

View File

@@ -22,6 +22,7 @@ if(UserHelper.isAuthenticated()) {
<meta name="keywords" content="" />
<base target="_self" />
<title><%=MainGlobals.SITE_TITLE%></title>
<link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/Favicon.ico?v=20251209" />
<script type="text/javascript">var G_CONTEXT_PATH = '${pageContext.request.contextPath}';</script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/engine.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/util.js"></script>