main
MonHun 2024-04-12 18:43:44 +09:00
parent a8acefc4ec
commit afc88cdeb0
22 changed files with 774 additions and 210 deletions

View File

@ -1,9 +1,137 @@
{
"recentFiles": [
{
"basename": "CMD 명령어",
"path": "Programing/Windows/CMD 명령어.md"
},
{
"basename": "2024-03-25",
"path": "Work Related/1.업무메모/2024-03-25.md"
},
{
"basename": "2023.10-3",
"path": "Work Related/3.주간계획/스마트계류장/2023.10-3.md"
},
{
"basename": "2023.10-4",
"path": "Work Related/3.주간계획/스마트계류장/2023.10-4.md"
},
{
"basename": "Jenkins 설치",
"path": "Programing/Jenkins/Jenkins 설치.md"
},
{
"basename": "용어정리",
"path": "Work Related/프로젝트/스마트계류장/항공용어/용어정리.md"
},
{
"basename": "프로젝트 범위 요약",
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md"
},
{
"basename": "약어표",
"path": "Work Related/프로젝트/스마트계류장/항공용어/약어표.md"
},
{
"basename": "Java 접근제한",
"path": "Programing/Java/Java 접근제한.md"
},
{
"basename": "16진수 표기",
"path": "Programing/Java/16진수 표기.md"
},
{
"basename": "CMD 실행",
"path": "Programing/Java/CMD 실행.md"
},
{
"basename": "Docker 페쇄망 이관",
"path": "Programing/Docker/Docker 페쇄망 이관.md"
},
{
"basename": "Kafka 명령어",
"path": "Programing/Kafka(AMQP)/Kafka 명령어.md"
},
{
"basename": "kafka 오류",
"path": "Programing/Kafka(AMQP)/kafka 오류.md"
},
{
"basename": "Kafka 설치",
"path": "Programing/Kafka(AMQP)/Kafka 설치.md"
},
{
"basename": "방문증 신청 문구",
"path": "Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md"
},
{
"basename": "TODO",
"path": "Work Related/프로젝트/스마트계류장/TODO.md"
},
{
"basename": "EAI 데이터 초기화",
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 데이터 초기화.md"
},
{
"basename": "2024-04-01",
"path": "Work Related/1.업무메모/2024-04-01.md"
},
{
"basename": "EAI 프로시져 테스트",
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 프로시져 테스트.md"
},
{
"basename": "GAM_LIST 데이터 일괄 insert",
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/GAM_LIST 데이터 일괄 insert.md"
},
{
"basename": "Docker 설치",
"path": "Programing/Docker/Docker 설치.md"
},
{
"basename": "무제 파일",
"path": "Programing/Docker/무제 파일.md"
},
{
"basename": "설치 및 실행",
"path": "Programing/Grafana/설치 및 실행.md"
},
{
"basename": "용어",
"path": "Programing/0.Root/용어.md"
},
{
"basename": "권한(Grant)",
"path": "Programing/Tibero/권한(Grant).md"
},
{
"basename": "스키마 생성",
"path": "Programing/Tibero/스키마 생성.md"
},
{
"basename": "설치",
"path": "Programing/MariaDB/설치.md"
},
{
"basename": "ssh포트로 파일 전송",
"path": "Programing/Linux/Linux 명령어/ssh포트로 파일 전송.md"
},
{
"basename": "SSH",
"path": "Programing/Linux/RHEL9/SSH.md"
},
{
"basename": "공유문서",
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md"
},
{
"basename": "Maven 설치",
"path": "Tools/VSCode_Server/Maven 설치.md"
},
{
"basename": "SACP maven 빌드 명령어",
"path": "Work Related/프로젝트/스마트계류장/9.기타/SACP maven 빌드 명령어.md"
},
{
"basename": "프로젝트 생성",
"path": "Tools/VSCode_Server/프로젝트 생성.md"
@ -24,18 +152,6 @@
"basename": "VSCode Extension",
"path": "Tools/VSCode/VSCode Extension.md"
},
{
"basename": "공유문서",
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md"
},
{
"basename": "2024-03-25",
"path": "Work Related/1.업무메모/2024-03-25.md"
},
{
"basename": "방문증 신청 문구",
"path": "Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md"
},
{
"basename": "Docker 폐쇄망 설치",
"path": "Programing/Docker/Docker 폐쇄망 설치.md"
@ -48,18 +164,10 @@
"basename": "Reno server URL",
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/Reno server URL.md"
},
{
"basename": "Docker 설치",
"path": "Programing/Docker/Docker 설치.md"
},
{
"basename": "Docker Compose",
"path": "Programing/Docker/Docker Compose.md"
},
{
"basename": "Docker 페쇄망 이관",
"path": "Programing/Docker/Docker 페쇄망 이관.md"
},
{
"basename": "Docker Engine",
"path": "Programing/Docker/Docker Engine.md"
@ -91,114 +199,6 @@
{
"basename": "Tibero 7 설치",
"path": "Programing/Tibero/Tibero 7 설치.md"
},
{
"basename": "리눅스 확장자 일괄 변경",
"path": "Programing/Linux/Linux 명령어/리눅스 확장자 일괄 변경.md"
},
{
"basename": "리눅스 특정 폴더, 파일 용량 확인",
"path": "Programing/Linux/Linux 명령어/리눅스 특정 폴더, 파일 용량 확인.md"
},
{
"basename": "무제 파일 2",
"path": "Programing/Docker/무제 파일 2.md"
},
{
"basename": "HAProxy HA (High Availability) 구성하기",
"path": "Programing/Linux/RHEL9/HAProxy HA (High Availability) 구성하기.md"
},
{
"basename": "NGINX HA (High Availability) 구성하기",
"path": "Programing/Linux/RHEL9/NGINX HA (High Availability) 구성하기.md"
},
{
"basename": "리눅스 crontab",
"path": "Programing/Linux/Linux 프로그램/리눅스 crontab.md"
},
{
"basename": "Utils",
"path": "Programing/Linux/Linux 프로그램/Utils.md"
},
{
"basename": "테이블 일괄 생성 스크립트",
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/산출물작업/테이블 일괄 생성 스크립트.md"
},
{
"basename": "테이블 Archive 로그 설정 변경",
"path": "Programing/Tibero/테이블 Archive 로그 설정 변경.md"
},
{
"basename": "일반 유저에 관리자 권한 부여",
"path": "Programing/Linux/Ubuntu/일반 유저에 관리자 권한 부여.md"
},
{
"basename": "무제 파일",
"path": "무제 파일.canvas"
},
{
"basename": "자주사용하는 마크다운",
"path": "Programing/Markdown/자주사용하는 마크다운.md"
},
{
"basename": "Filebeat 재배포",
"path": "Work Related/프로젝트/스마트계류장/9.기타/Filebeat 재배포.md"
},
{
"basename": "2022-11-11",
"path": "Work Related/1.업무메모/2023/2022-11-11.md"
},
{
"basename": "리눅스 데몬 서비스 관련",
"path": "Programing/Linux/Linux 명령어/리눅스 데몬 서비스 관련.md"
},
{
"basename": "리눅스 명령어",
"path": "Programing/Linux/Linux 명령어/리눅스 명령어.md"
},
{
"basename": "ELK 폐쇄망 설치(New)",
"path": "Programing/ELK/ELK 폐쇄망 설치(New).md"
},
{
"basename": "리눅스 ls 정렬해서 보기",
"path": "Programing/Linux/Linux 명령어/리눅스 ls 정렬해서 보기.md"
},
{
"basename": "무제 파일 1",
"path": "Programing/Docker/무제 파일 1.md"
},
{
"basename": "유닉스(AIX) 유저 생성",
"path": "Programing/Linux/Unix/유닉스(AIX) 유저 생성.md"
},
{
"basename": "ssh포트로 파일 전송",
"path": "Programing/Linux/Linux 명령어/ssh포트로 파일 전송.md"
},
{
"basename": "Ubuntu 버전 확인",
"path": "Programing/Linux/Ubuntu/Ubuntu 버전 확인.md"
},
{
"basename": "리눅스 OS 버전확인",
"path": "Programing/Linux/Linux 명령어/리눅스 OS 버전확인.md"
},
{
"basename": "Kafka 설치",
"path": "Programing/Kafka(AMQP)/Kafka 설치.md"
},
{
"basename": "특정 포트 임시 오픈",
"path": "Programing/Linux/Ubuntu/특정 포트 임시 오픈.md"
},
{
"basename": "특정포트 허용",
"path": "Programing/Linux/RHEL9/특정포트 허용.md"
},
{
"basename": "2023-05-08",
"path": "Work Related/1.업무메모/2023/2023-05-08.md"
}
],
"omittedPaths": [],

View File

@ -4,50 +4,23 @@
"type": "split",
"children": [
{
"id": "665ce87635c13187",
"id": "e55c8d30f7a2d34c",
"type": "tabs",
"children": [
{
"id": "1b13dc8db74ebc6c",
"id": "5481a3c21b2c27b9",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Work Related/1.업무메모/2024-03-25.md",
"mode": "source",
"backlinks": true,
"source": false
}
}
},
{
"id": "bd4fead765e9c739",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Programing/Docker/Docker 페쇄망 이관.md",
"mode": "source",
"backlinks": true,
"source": false
}
}
},
{
"id": "6b3bea491a79b018",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Tools/VSCode_Server/Maven 설치.md",
"file": "Programing/Windows/CMD 명령어.md",
"mode": "source",
"backlinks": true,
"source": false
}
}
}
],
"currentTab": 2
]
}
],
"direction": "vertical"
@ -76,7 +49,7 @@
"state": {
"type": "search",
"state": {
"query": "프로세스",
"query": "netstat",
"matchingCase": false,
"explainSearch": false,
"collapseAll": true,
@ -109,7 +82,8 @@
"state": {}
}
}
]
],
"currentTab": 1
}
],
"direction": "horizontal",
@ -129,7 +103,7 @@
"state": {
"type": "backlink",
"state": {
"file": "Tools/VSCode_Server/Maven 설치.md",
"file": "Programing/Windows/CMD 명령어.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@ -146,7 +120,7 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "Tools/VSCode_Server/Maven 설치.md",
"file": "Programing/Windows/CMD 명령어.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
@ -169,7 +143,7 @@
"state": {
"type": "outline",
"state": {
"file": "Tools/VSCode_Server/Maven 설치.md"
"file": "Programing/Windows/CMD 명령어.md"
}
}
},
@ -211,55 +185,55 @@
"command-palette:명령어 팔레트 열기": false
}
},
"active": "6b3bea491a79b018",
"active": "5481a3c21b2c27b9",
"lastOpenFiles": [
"Tools/VSCode_Server/프로젝트 생성.md",
"Tools/VSCode_Server/Ubuntu에 설치.md",
"Tools/VSCode_Server/vscode_server 설치관련.md",
"Tools/VSCode_Server/Maven 설치.md",
"Tools/VSCode/VSCode 설치.md",
"Tools/VSCode/VSCode Extension.md",
"Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md",
"Work Related/1.업무메모/2024-03-25.md",
"Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md",
"Programing/Docker/Docker 폐쇄망 설치.md",
"Programing/Linux/Ubuntu/프로세스 확인 및 강제 종료.md",
"Work Related/프로젝트/스마트계류장/1.데이터베이스/Reno server URL.md",
"Programing/Docker/Docker 설치.md",
"Programing/Docker/Docker Compose.md",
"Work Related/3.주간계획/스마트계류장/2023.10-3.md",
"Work Related/3.주간계획/스마트계류장/2023.10-4.md",
"Programing/Jenkins/Jenkins 설치.md",
"Work Related/프로젝트/스마트계류장/항공용어/용어정리.md",
"Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md",
"Work Related/프로젝트/스마트계류장/항공용어/약어표.md",
"Programing/Java/Java 접근제한.md",
"Programing/Java/16진수 표기.md",
"Programing/Java/CMD 실행.md",
"Programing/Docker/Docker 페쇄망 이관.md",
"Programing/Docker/Docker Engine.md",
"Work Related/1.업무메모/2022.06/2022-06-06.md",
"Work Related/1.업무메모/2022.06/2022-06-16.md",
"Work Related/프로젝트/D-MHFH/유지보수/상황관제-방송수신내역(항적).md",
"Programing/Linux/Linux 명령어/커맨트라인(bash) 단축키.md",
"Programing/ELK/ElasticSearch 쿼리.md",
"Learning/Programing/WSL개발환경 셋팅/Set Up.md",
"Programing/Tibero/Tibero 7 설치.md",
"Programing/Linux/Linux 명령어/리눅스 확장자 일괄 변경.md",
"Programing/Linux/Linux 명령어/리눅스 특정 폴더, 파일 용량 확인.md",
"Programing/Docker/무제 파일 2.md",
"Programing/Kafka(AMQP)/Kafka 명령어.md",
"Programing/Kafka(AMQP)/kafka 오류.md",
"Programing/Kafka(AMQP)/Kafka 설치.md",
"Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md",
"Work Related/프로젝트/스마트계류장/TODO.md",
"Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 데이터 초기화.md",
"Work Related/1.업무메모/2024-04-01.md",
"Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 프로시져 테스트.md",
"Work Related/프로젝트/스마트계류장/1.데이터베이스/GAM_LIST 데이터 일괄 insert.md",
"zzz.resources/Pasted image 20240404100942.png",
"zzz.resources/Pasted image 20240404100125.png",
"zzz.resources/Pasted image 20240404095641.png",
"zzz.resources/Pasted image 20240404094102.png",
"zzz.resources/Pasted image 20240404094035.png",
"zzz.resources/Pasted image 20240404093714.png",
"zzz.resources/Pasted image 20240404093006.png",
"zzz.resources/Pasted image 20240404092924.png",
"zzz.resources/Pasted image 20240404092657.png",
"zzz.resources/Pasted image 20240404092425.png",
"Programing/Docker/Docker 설치.md",
"Programing/Docker/무제 파일.md",
"Programing/Grafana/설치 및 실행.md",
"Programing/0.Root/용어.md",
"Programing/Jenkins",
"Programing/Tibero/권한(Grant).md",
"Programing/Tibero/스키마 생성.md",
"무제 파일.canvas",
"Work Related/1.업무메모/2023",
"zzz.resources/Pasted image 20240320095219.png",
"zzz.resources/Pasted image 20240304095048.png",
"zzz.resources/Pasted image 20240304095038.png",
"zzz.resources/tibero-jdbc-7.jar",
"Work Related/프로젝트/스마트계류장/Java PGM/Components/DB",
"Work Related/프로젝트/스마트계류장/Java PGM/Components",
"Work Related/3.주간계획/스마트계류장",
"zzz.resources/Pasted image 20230919121430.png",
"zzz.resources/Pasted image 20230919121415.png",
"zzz.resources/Pasted image 20230919121410.png",
"zzz.resources/Untitled.png",
"새 텍스트 문서.txt",
"zzz.resources/Pasted image 20221228170541.png",
"Programing/Linux/Unix",
"Work Related/프로젝트/스마트계류장/Java PGM/Radar/desktop.ini",
"Work Related/프로젝트/스마트계류장/Java PGM/desktop.ini",
"Work Related/프로젝트/스마트계류장/Java PGM/Radar",
"zzz.resources/Pasted image 20230618182519.png",
"zzz.resources/Pasted image 20230606235608.png",
"무제 파일 2.canvas",
"무제 파일 1.canvas"
]

View File

@ -0,0 +1,8 @@
#Java
| **접근 제한** | **적용 대상** | **접근할 수 없는 클레스** |
| --------- | ----------------- | -------------------------- |
| public | 클래스, 필드, 생성자, 메소드 | 없음 |
| protected | 필드, 생성자, 메소드 | 자식 클래스가 아닌 다른 패키지에 소속된 클래스 |
| default | 클래스, 필드, 생성자, 메소드 | 다른 패키지에 소속된 클래스 |
| private | 필드, 생성자, 메소드 | 모든 외부 클래스 |

View File

@ -0,0 +1,210 @@
#jenkins
### Jenkins 설치
#### 1.Docker Image 준비
(외부인터넷 연결 + 도커 설치된 환경에서 작업)
```shell
# 폴더 생성
mkdir /opt/jenkins &&
cd jenkins &&
mkdir jenkins_home
# docker-compose 파일 생성
--------------------------------------------------------------------------------
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
user: root
# environment:
# - TZ=Asia/Seoul
privileged: true
ports:
- 9093:8080
# - 9000:50000
volumes:
- ./jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
--------------------------------------------------------------------------------
# Docker image 빌드 및 실행
docker-compose build && docker-compose up -d
# Jenkins 실행 확인
## Jenkins Unlock Password 확인 (Unlock 이후 파일 삭제됨)
cat ./jenkins_home/secrets/initialAdminPassword
## jenkins 페이지 접속 및 초기 설정
# 1. http://{hostname}:9093 접속
# 2. 최초1회 Unlock Password 입력하여 Unlock
# 3. 관리자 계정 생성
# 4. Jenkins URL 정보 확인 및 수정
# 5. "Start using Jenkins" 버튼클릭하여 초기설정 완료
# 6. 기본 Plugin 설치진행
# Docker image Export
ocker save -o /home/gmt/docker_data/docimg_jenkins.tar jenkins/jenkins
```
#### 2.Plugin 설치
- Dashboard > Jenkins 관리 > Plugins > Available plugins (/manage/pluginManager/available)
- GitLab Plugin
- Maven Integration plugin
- Publish Over SSH
- Publish Over FTP
#### 3.Jenkins에 Maven 설치
- Dashboard > Jenkins 관리 > Tools > Maven installations (/manage/configureTools/)
- Name : 임의입력
- Install automatically 선택
- Version 선택후 저장
![[Pasted image 20240403173424.png]]
#### 4.폐쇄망 서버 이관 준비
```shell
# Docker image Export
ocker save -o /home/gmt/docker_data/docimg_jenkins.tar jenkins/jenkins
# Jenkins Plubin Export
cd /opt/jenkins/ &&
mkdir jenkins_plugins &&
cp -r jenkins_home/plugins/*.jpi jenkins_plugins/
cd jenkins_plugins/ &&
ls | grep '.jpi' | cut -d . -f 1 | while read line; do mv $line.jpi $line.hpi; done &&
tar -cvf ../plugins.tar ./
# Jenkins Tools Export (maven... )
cd /opt/jenkins/jenkins_home/
tar -cvf tools.tar tools
# 최종 이관 파일 List
- docimg_jenkins.tar
- plugins.tar
- tools.tar
- + Docker, Docker-compose 설치파일
```
### Maven Repository 준비
##### Jenkins에 설치한 동일한 버전의 Maven 설치
- https://archive.apache.org/dist/maven/maven-3/
- 환경변수
MAVEN_HOME, D:\MAVEN\apache-maven-3.9.6
- CMD> mvn -v
##### setting.xml 작성
- **라이브러리 저장될 폴더 상위에 setting.xml 작성**
```xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
<localRepository>D:\Workspace\Jenkins\tet_git\maven_repository</localRepository>
</settings>
```
##### Offline용 라이브러리 다운로드
- 프로젝트 폴더로 이동하여 CMD 실행
```c
# Offline에서 참조할 dependency 목록과 함께 다운로드
mvn dependency:go-offline -gs D:\Workspace\Jenkins\tet_git\settings.xml
# 기본옵션으로 빌드
mvn clean install -gs D:\Workspace\Jenkins\tet_git\settings.xml
# Offline옵션으로 빌드(테스트)
mvn -o clean install -gs D:\Workspace\Jenkins\tet_git\settings.xml
# repository 압축
tar -cvf maven_repository.tar .\maven_repository
# Jenkins서버로 압축파일 전송
scp -P 11443 maven_repository.tar root@10.200.31.42:/home/gmt/jenkins_home/
```
##### 폐쇄망 Jenkins서버 구성
### Jenkins CI/CD 환경 구성
##### 1.SSH 설정
```shell
# jenkins 서버에서 key발급
docker exec -it jenkins bash
ssh-keygen
# ssh key 확인
## 경로: /root/.ssh/
## id_rsa : 비공개키
## id_rsa.pub : 공개키
```
- 비공개키 붙여넣기
Dashboard > Jenkins 관리 > System > Publish over SSH (/manage/configure)
![[Pasted image 20240404092425.png]]
- SSH Server 추가 (key사용하여 비밀번호 없이 로그인)
![[Pasted image 20240404092657.png]]
##### 2. Maven 설정
- Dashboard > Jenkins 관리 > Tools > Maven Configuration (/manage/configureTools)
![[Pasted image 20240404092924.png]]
- Dashboard > Jenkins 관리 > Tools > Maven installations
![[Pasted image 20240404093006.png]]
##### 3.GitLab 설정
- 3-1. GitLab에서 유저 생성( 소스 Pull 용)
- Admin -> Users -> New user
- Nane, Username, Email, Password만 입력 하고 나머지 기본.
![[Pasted image 20240404093714.png]]
- 3-2. 프로젝트 Group Member추가
- Groups -> SACP(프로젝트 Group 클릭)
-> 오른쪽하단 group members에서 Manage access 버튼 클릭
![[Pasted image 20240404094102.png]]
- Invite members 버튼 -> 팝업창에 새로추가한 유저 선택하고 Invite 버튼
(role은 Guest여도 상관없음)
- 3-3. Access Token 발급
- Preferences(User Settings) -> Access Tokens
- Token name : 임의입력
- Select scopes : 모두 체크
- 생성하고 화면 상단의 키 복사(이후에 다시 확인 할 수 없음)
- 3-4. Jenkins Credential 등록
- Dashboard > Jenkins 관리 > Credentials > Stores scoped to Jenkins (/manage/credentials)
- Domains -> Global -> Add Credential
- Kind, API token 입력
- 선택1(API Token)
![[Pasted image 20240404095641.png]]
- 선택1(Username, password)
![[Pasted image 20240404100125.png]]
### Jenkins Pipline 설정
- 소스 코드 관리 -> Git 선택
- Repository URL, Credentials, Branch Specifier 입력
- 빌드 유발 -> Build when a change is pushed to GitLab. GitLab webhook URL:...
- 고급 클릭하면 맨밑에 Secret token -> Generate 버튼
- URL과, Secret token 복사하여 GitLab에서 Webhook 설정
- Build -> Goals and options : -o clean install -DskipTests=true
- 빌드 후 조치 -> 추가 -> "Send build artifacts over SSH" 선택
![[Pasted image 20240404100942.png]]
### ※ GitLab Webhook 설정
1. 사전 준비
- Admin Area -> Settings -> Network -> Outbound requests
- Allow requests to the local network from web hooks and services 체크
※ Webhook 설정시 (Url is blocked: Requests to the local network are not allowed) 오류 방지
2. Webhook 설정
- 프로젝트별로 설정해야함
- GitLab -> 프로젝트 -> Settings -> Webhooks
- URL, Secret token 입력
- Add webhook 버튼

View File

@ -39,6 +39,22 @@ https://g4daclom.tistory.com/78
publish over ssh 대체
SSH Plugin : https://ktaes.tistory.com/100
- Offline 설치 :
https://www.jenkins.io/doc/book/installing/offline/
https://emptyreset.tistory.com/96
- FTP를 이용한 Windows서버 배포
https://itkevin.tistory.com/13
- Pipline for Windows
https://garve32.tistory.com/40
- windows + ssh
https://blog.gizmo80.com/101
- IIS + FTP
https://oingdaddy.tistory.com/70
----
##### Docker-compose
@ -87,9 +103,31 @@ Start using Jenkins 버튼
# 추가 플러그인 설치
> Jenkins 관리 -> Jenkins Global Tool Configuration
publish over ssh
maven
jdk
1. Bitbucket Pipeline for Blue Ocean
2. Dashboard for Blue Ocean
3. Personalization for Blue Ocean
4. Display URL for Blue Ocean
5. Server Sent Events (SSE) Gateway
6. Events API for Blue Ocean
7. Blue Ocean Pipeline Editor
8. i18n for Blue Ocean
9. Autofavorite for Blue Ocean
10. Blue Ocean
11. NodeJS
12. GitLab
13. Generic Webhook Trigger
14. Gitlab Authentication
15. Gitlab API
16. GitLab Branch Source
17. Gitlab Merge Request Builder
18. Config File Provider
19. Docker
20. Docker Pipeline
21. docker-build-step
※ GITLAB ?
https://pangtrue.tistory.com/356
https://pulpul8282.tistory.com/288
# publish over ssh 설정
@ -151,13 +189,20 @@ tar -xvf plugins.tar -C /home/gmt/jenkins_home/plugins/
ssh-keygen
# Key Jenkins 등록
cat /root/.ssh/id_rsa
# 접속 대상서버로 Key 전송
ssh-copy-id -i id_rsa.pub -p 11443 root@10.200.31.136
```
- GitLab 설정
- Webhook 설정시 (Url is blocked: Requests to the local network are not allowed) 오류시
~~ /admin/application_settings/network
Outbound requests -> Allow requests to the local network from web hooks and services 체크

View File

@ -0,0 +1,7 @@
- tss_fusion schdul_id
- tss_radar ELK 연동
- jenkins 셋팅
- ~~주기장 상황분석 schdul_id, 항공기 등록기호 추가
- ~~sacp_schadul_info a-cdm sttatus 추가
- ~~GAM 취소/삭제된데이터 처리

View File

@ -29,7 +29,7 @@ http://10.200.32.100:30080/
- NAS
10.200.32.100:5000
root / todn
admin / todn
@gmtc.kr / Wldpaxl
- NAS SSH

View File

@ -0,0 +1,93 @@
```sql
CREATE OR REPLACE PROCEDURE UIC.PROC_Test_CURSOR_Before
IS
n_cnt NUMBER(10);
/* 처리 대상 데이터 조회용 커서 */
CURSOR C_IF_TEST IS
select IF_SRC, IF_DT
from (
select 'ARTS_ARR' as IF_SRC, DATEANDTIME as IF_DT
from ueai.EAI_ELECSTRIPARRARTS_RCV_TEST
where DEAL_STAT = 'T'
union all
select 'ARTS_DEP' as IF_SRC, DATEANDTIME as IF_DT
from ueai.EAI_ELECSTRIPDEPARTS_RCV_TEST
where DEAL_STAT = 'T'
union all
select 'A-CDM_ARR' as IF_SRC, DATEANDTIME as IF_DT
from ueai.EAI_FLTACDMMLSTNARR_RCV_TEST
where DEAL_STAT = 'T'
union all
select 'A-CDM_DEP' as IF_SRC, DATEANDTIME as IF_DT
from ueai.EAI_FLTACDMMLSTNDEP_RCV_TEST
where DEAL_STAT = 'T'
union all
select 'GAM' as IF_SRC, DATEANDTIME as IF_DT
from ueai.EAI_GRDACMVT_RCV_TEST
where DEAL_STAT = 'T'
)
where if_dt < '20231219000000.000'
order by if_dt, if_src;
BEGIN
FOR cur IN C_IF_TEST LOOP
IF cur.IF_SRC = 'ARTS_ARR' THEN
update ueai.EAI_ELECSTRIPARRARTS_RCV_TEST
set deal_stat = 'S'
where dateandtime = cur.IF_DT;
UIC.PROC_EAI_INTRFC_ARTS_ARR_edit();
ElsIF cur.IF_SRC = 'ARTS_DEP' THEN
update ueai.EAI_ELECSTRIPDEPARTS_RCV_TEST
set deal_stat = 'S'
where dateandtime = cur.IF_DT;
UIC.PROC_EAI_INTRFC_ARTS_DEP_Edit();
ElsIF cur.IF_SRC = 'A-CDM_ARR' THEN
update ueai.EAI_FLTACDMMLSTNARR_RCV_TEST
set deal_stat = 'S'
where dateandtime = cur.IF_DT;
UIC.PROC_EAI_INTRFC_ACDM_ARR_Edit();
ElsIF cur.IF_SRC = 'ARTS_ARR' THEN
update ueai.EAI_ELECSTRIPDEPARTS_RCV_TEST
set deal_stat = 'S'
where dateandtime = cur.IF_DT;
PROC_EAI_INTRFC_ACDM_DEP_EDIT();
ElsIF cur.IF_SRC = 'GAM' THEN
update ueai.EAI_GRDACMVT_RCV_TEST
set deal_stat = 'S'
where dateandtime = cur.IF_DT;
UIC.PROC_EAI_INTRFC_GAM_EDIT();
END IF;
END LOOP;
RETURN;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('PROC_Test_CURSOR-'||'['||SQLERRM||']');
RETURN ;
END;
```

View File

@ -0,0 +1,219 @@
```sql
create table uic.SACP_GAM_LAST(
GAM_ID varchar(22),
GAM_SE varchar(4),
IF_DT varchar(18),
stand_no varchar(4),
AC_REG_NO varchar(12),
AC_TY_IATA varchar(10),
AC_GRAD varchar(5),
ARLN_CD_IATA varchar(3),
NEXT_STAND_NO varchar(4),
NEXT_STAND_TY varchar(4),
EXP_Stand_on_De varchar(8),
EXP_Stand_on_Tm varchar(4),
EXP_Stand_off_De varchar(8),
EXP_Stand_off_Tm varchar(4),
Actl_Stand_on_De varchar(8),
Actl_Stand_on_Tm varchar(4),
Actl_Stand_Off_De varchar(8),
Actl_Stand_off_Tm varchar(4),
ACTL_APN_IN_DE varchar(8),
ACTL_APN_IN_TM varchar(4),
ACTL_APN_Out_DE varchar(8),
ACTL_APN_OUT_TM varchar(4),
ACTL_NEXT_STAND_ON_TM varchar(4),
fltnm_arr varchar(8),
fltnm_dep varchar(8),
HDL_CAR_NO varchar(10),
standStat varchar(1),
REGISTER_ID varchar(30),
REGIST_DT TIMESTAMP,
UPDUSR_ID varchar(30),
UPDT_DT TIMESTAMP
);
CREATE UNIQUE INDEX UIC.PK_SACP_GAM_LAST
ON UIC.SACP_GAM_LAST (
GAM_ID, GAM_SE ASC
);
ALTER TABLE UIC.SACP_GAM_LAST
ADD
CONSTRAINT PK_SACP_GAM_LAST
PRIMARY KEY (
GAM_ID, GAM_SE
);
truncate table uic.SACP_GAM_LAST ;
insert into uic.SACP_GAM_LAST
select
GAM_ID
, GAM_SE
, IF_DT
, STAND_NO
, AC_REG_NO
, AC_SUB_TY_IATA
, AC_GRAD
, FLTCARR
, NEXT_STAND_NO
, NEXT_STAND_TY
, SUBSTR( PREDON_DT, 1,8)
, SUBSTR( PREDON_DT, 9)
, SUBSTR( PREDOFF_DT, 1,8)
, SUBSTR( PREDOFF_DT, 9)
, SUBSTR( ACTLON_DT, 1,8)
, SUBSTR( ACTLON_DT, 9)
, SUBSTR( ACTLOFF_DT, 1,8)
, SUBSTR( ACTLOFF_DT, 9)
, SUBSTR( RAMPIN_DT, 1,8)
, SUBSTR( RAMPIN_DT, 9)
, SUBSTR( RAMPOUT_DT, 1,8)
, SUBSTR( RAMPOUT_DT, 9)
, SUBSTR( ACTL_NEXT_STAND_ON_DT, 9)
, FLTNM_ARR
, FLTNM_DEP
, HDL_CAR_NO
, 'SYSTEM'
, systimestamp
, null
, null
from (
SELECT /*+ INDEX_DESC(A EAI_IDX_GRDACMVT_DEAL_STAT)*/
acRegNo AS AC_REG_NO -- 항공기 등록 번호
, acType AS AC_TY_IATA -- 항공기 타입(IIS MVD, ICAO/IATA코드체계와 다름)
, acStype AS AC_SUB_TY_IATA -- 항공기 서브 타입(IATA)
, icaoAcCat AS AC_GRAD -- 항공기 등급(ICAO)
, standId AS STAND_NO -- 주기장 번호
, Nextstandid AS NEXT_STAND_NO -- 다음배정주기장
, standType AS NEXT_STAND_TY -- 주기장 유형
, ARRFLTIND AS FLTNM_ARR -- 도착 운항 편명
, DEPFLTIND AS FLTNM_DEP -- 출발 운항 편명
, bseGAMId AS GAM_ID -- GAM ID
, SeqNo AS GAM_SE -- GAM SEQ
, towInfSource AS TOW_INFO_SRC -- Towing 정보 제공자
, towInd AS TOW_STTUS_AT -- Towing 상태 여부
, towCarID AS HDL_CAR_NO -- 조업 차량 번호
, standStat AS GAM_STTUS_CD -- 상태코드
, DateAndTime AS IF_DT
, ucm.fun_utc_tm(predOnDate||predOnTime) AS PREDON_DT -- 예상 주기장 도착 시각
, ucm.fun_utc_tm(rampInDate||rampInTime) AS RAMPIN_DT -- 실제 계류장 진입 시각
, ucm.fun_utc_tm(actlOnDate||actlOnTime) AS ACTLON_DT -- 실제 주기장 도착 시각
, ucm.fun_utc_tm(predOffDate||predOffTime) AS PREDOFF_DT -- 예상 주기장 출발 시각
, ucm.fun_utc_tm(rampOutDate||rampOutTime) AS RAMPOUT_DT -- 실제 계류장 진출 시각
, ucm.fun_utc_tm(actlOffDate||actlOffTime) AS ACTLOFF_DT -- 실제 주기장 출발 시각
, ucm.fun_utc_tm(clearDate||clearTime) AS clear_dt -- 주기장 출발 승인
, ucm.fun_utc_tm( predOffDate||ACTLONTIMEOFNEXTSTD) as ACTL_NEXT_STAND_ON_DT -- 다음 배정주기장 도착 일시
, FLTCARR
FROM UEAI.EAI_GRDACMVT_RCV A
where dateandtime in (
select max(dateandtime) as if_dt
from ueai.EAI_GRDACMVT_RCV
where ACTLONTIME is not null
and ACTLOFFTIME is not null
and predondate >= '20240301'
group by BSEGAMID, SEQNO )
order by bsegamid, seqno, dateandtime
)
insert into uic.SACP_GAM_LAST
select
GAM_ID
, GAM_SE
, IF_DT
, STAND_NO
, AC_REG_NO
, AC_SUB_TY_IATA
, AC_GRAD
, FLTCARR
, NEXT_STAND_NO
, NEXT_STAND_TY
, SUBSTR( PREDON_DT, 1,8)
, SUBSTR( PREDON_DT, 9)
, SUBSTR( PREDOFF_DT, 1,8)
, SUBSTR( PREDOFF_DT, 9)
, SUBSTR( ACTLON_DT, 1,8)
, SUBSTR( ACTLON_DT, 9)
, SUBSTR( ACTLOFF_DT, 1,8)
, SUBSTR( ACTLOFF_DT, 9)
, SUBSTR( RAMPIN_DT, 1,8)
, SUBSTR( RAMPIN_DT, 9)
, SUBSTR( RAMPOUT_DT, 1,8)
, SUBSTR( RAMPOUT_DT, 9)
, SUBSTR( ACTL_NEXT_STAND_ON_DT, 9)
, FLTNM_ARR
, FLTNM_DEP
, HDL_CAR_NO
, 'SYSTEM'
, systimestamp
, null
, null
from (
SELECT /*+ INDEX_DESC(A EAI_IDX_GRDACMVT_DEAL_STAT)*/
acRegNo AS AC_REG_NO -- 항공기 등록 번호
, acType AS AC_TY_IATA -- 항공기 타입(IIS MVD, ICAO/IATA코드체계와 다름)
, acStype AS AC_SUB_TY_IATA -- 항공기 서브 타입(IATA)
, icaoAcCat AS AC_GRAD -- 항공기 등급(ICAO)
, standId AS STAND_NO -- 주기장 번호
, Nextstandid AS NEXT_STAND_NO -- 다음배정주기장
, standType AS NEXT_STAND_TY -- 주기장 유형
, ARRFLTIND AS FLTNM_ARR -- 도착 운항 편명
, DEPFLTIND AS FLTNM_DEP -- 출발 운항 편명
, bseGAMId AS GAM_ID -- GAM ID
, SeqNo AS GAM_SE -- GAM SEQ
, towInfSource AS TOW_INFO_SRC -- Towing 정보 제공자
, towInd AS TOW_STTUS_AT -- Towing 상태 여부
, towCarID AS HDL_CAR_NO -- 조업 차량 번호
, standStat AS GAM_STTUS_CD -- 상태코드
, DateAndTime AS IF_DT
, ucm.fun_utc_tm(predOnDate||predOnTime) AS PREDON_DT -- 예상 주기장 도착 시각
, ucm.fun_utc_tm(rampInDate||rampInTime) AS RAMPIN_DT -- 실제 계류장 진입 시각
, ucm.fun_utc_tm(actlOnDate||actlOnTime) AS ACTLON_DT -- 실제 주기장 도착 시각
, ucm.fun_utc_tm(predOffDate||predOffTime) AS PREDOFF_DT -- 예상 주기장 출발 시각
, ucm.fun_utc_tm(rampOutDate||rampOutTime) AS RAMPOUT_DT -- 실제 계류장 진출 시각
, ucm.fun_utc_tm(actlOffDate||actlOffTime) AS ACTLOFF_DT -- 실제 주기장 출발 시각
, ucm.fun_utc_tm(clearDate||clearTime) AS clear_dt -- 주기장 출발 승인
, ucm.fun_utc_tm( predOffDate||ACTLONTIMEOFNEXTSTD) as ACTL_NEXT_STAND_ON_DT -- 다음 배정주기장 도착 일시
, FLTCARR
FROM UEAI.EAI_GRDACMVT_RCV A
where dateandtime in (
select max(dateandtime) as if_dt
from ueai.EAI_GRDACMVT_RCV a,
( select standid as standid_std, max(dateandtime) as if_dt_max
from ueai.EAI_GRDACMVT_RCV
where predonDate > to_char(sysdate -2, 'yyyymmdd')
and standid is not null
and ACTLONTIME is not null
and ACTLONTIMEOFNEXTSTD is null
group by standid ) b
where 1=1
and a.STANDID = b.standid_std
and a.DATEANDTIME = b.if_dt_max
and ACTLONTIME is not null
and ACTLOFFTIME is null
group by BSEGAMID, SEQNO )
order by bsegamid, seqno, dateandtime
) mm
where not exists (
select 'x'
from uic.SACP_GAM_LAST
where gam_id = mm.GAM_ID
and gam_se = mm.gam_se
)
```

View File

@ -1,10 +1,10 @@
**EC-Miner**
B
스마트 계류장관제플랫폼 구축사업 3-56-25 지엠티 컨소시엄 사무실 AI 소프트웨어 개발 진행을 위한 방문 목적
D
스마트 계류장관제플랫폼 구축사업 T2 계류장 관제탑 12층 항공기 흐름도 AI구성 작업을 위한 방문
스마트 계류장관제플랫폼 구축사업 3-56-25 T2 지엠티 사무실 AI 음성 및 영상 개발 지원을 위한 방문 목적
D
스마트 계류장관제플랫폼 구축사업 T2 계류장 관제탑 12층 항공기 흐름도 AI구성 작업을 위한 방문
E
스마트 계류장관제플랫폼 구축사업 3-56-25 지엠티 사무실 AI 소프트웨어 개발 진행을 위한 방문시 차량 이동 경로
스마트 계류장관제플랫폼 구축사업 3-56-25 T2 지엠티 사무실 AI 음성 및 영상 개발 지원을 위한 방문 시 차량 이동 경로
**개발팀**
B

View File

@ -39,4 +39,12 @@ g- [x] 데이터블럭 뷰 생성
#### 프로시져 관련 작업
- [ ] uic.SACP_FLT_SCHDUL 스케줄 정보 상태 (계획, 실행, 취소)
- [ ] uic.SACP_FLT_SCHDUL GAM_ID 추가
- [ ] 각 연계 프로시져 UEAI.EAI_GRDACMVT_RCV -> uic.SACP_GAM_LAST로 변경
- [ ] 각 연계 프로시져 UEAI.EAI_GRDACMVT_RCV -> uic.SACP_GAM_LAST로 변경
- [ ] EyeIfEai : 최초실행시 스레드 순차 실행
- [ ] 로그 상태로그와 분리
- [ ]

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB