https://gitlab-com.gitlab.io/support/toolbox/upgrade-path
Upgrade Path
gitlab-com.gitlab.io
깃랩은 최신버전을 업데이트하는게 아니라서 검색후 순서대로 업데이트 하면 됨
'Docker' 카테고리의 다른 글
도커로 실행중인 깃랩 자동 백업 스크립트 (0) | 2024.11.27 |
---|---|
docker-compose.yml 설정 (0) | 2024.09.12 |
https://gitlab-com.gitlab.io/support/toolbox/upgrade-path
Upgrade Path
gitlab-com.gitlab.io
깃랩은 최신버전을 업데이트하는게 아니라서 검색후 순서대로 업데이트 하면 됨
도커로 실행중인 깃랩 자동 백업 스크립트 (0) | 2024.11.27 |
---|---|
docker-compose.yml 설정 (0) | 2024.09.12 |
#!/bin/bash
# 설정
CONTAINER_NAME="gitlab" # GitLab 컨테이너 이름
BACKUP_DIR="/backup" # 백업위치
RETENTION_DAYS=30 # 보관 기간 (일) , 필요시 사용
# 함수: 로그 출력
log() {
echo "[$(date)] $1"
}
# 1. 백업 생성
log "백업 생성 중..."
docker exec -t "$CONTAINER_NAME" gitlab-backup create
# 2. 컨테이너에서 최신 백업 파일 찾기
log "최신 백업 파일 검색 중..."
LATEST_BACKUP=$(docker exec -t "$CONTAINER_NAME" ls /var/opt/gitlab/backups | grep '.tar' | tail -n 1 | tr -d '\r' | tr -d '\n')
if [ -z "$LATEST_BACKUP" ]; then
log "최신 백업 파일을 찾지 못했습니다. 백업 파일이 생성되었는지 확인하세요."
exit 1
fi
log "최신 백업 파일: $LATEST_BACKUP"
# 3. 최신 백업 파일 복사
log "최신 백업 파일 복사 중..."
docker cp "$CONTAINER_NAME:/var/opt/gitlab/backups/$LATEST_BACKUP" "$BACKUP_DIR"
if [ $? -eq 0 ]; then
log "백업 파일 복사 완료: $BACKUP_DIR/$LATEST_BACKUP"
# 4. 컨테이너 내부 백업 파일 삭제
log "컨테이너 내부 백업 파일 삭제 중..."
docker exec -t "$CONTAINER_NAME" rm -f "/var/opt/gitlab/backups/$LATEST_BACKUP"
if [ $? -eq 0 ]; then
log "컨테이너 내부 백업 파일 삭제 완료: $LATEST_BACKUP"
else
log "컨테이너 내부 백업 파일 삭제 실패! 수동으로 확인하세요."
fi
else
log "백업 파일 복사 실패! 파일을 삭제하지 않습니다."
exit 1
fi
# 5. 오래된 백업 파일 삭제
log "$RETENTION_DAYS일 이상 지난 백업 파일 삭제 중..."
find "$BACKUP_DIR" -type f -name '*.tar' -mtime +$RETENTION_DAYS -exec rm -f {} \;
if [ $? -eq 0 ]; then
log "$RETENTION_DAYS일 이상 지난 백업 파일 삭제 완료."
else
log "오래된 백업 파일 삭제 실패! 수동으로 확인하세요."
fi
# 6. 완료 메시지 출력
log "자동화 작업 완료."
컨테이너 내부의 var/opt/gitlab/backups 경로를 수정할 경우에는 따로 변수로 빼서 사용하면 될 것 같다.
깃랩 업데이트 (0) | 2024.11.27 |
---|---|
docker-compose.yml 설정 (0) | 2024.09.12 |
1. OS 확인
cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
2. apt install rdate
3. /usr/sbin/rdate -s time.bora.net
4. 확인
5. 시간 차 날 수 도있으니 크론에 등록 하면 마무리
리눅스 CentOS6 설치 후 셋팅 (0) | 2024.02.15 |
---|
1. 현재 미니 pc 로 홈 서버를 운영중인데 PHP 도쓰고 node 도 쓰고 하다보니 같은 80포트와 443 포트에 사용하기위해 도커 도입을 결정하였다.
2. 도커랑 도커컴포즈 설치 (환경 Ubuntu 22.04.2 LTS)
3. 디렉토리는 /home 에 prod 랑 dev 를 구분해두었다
4. /home/prod 에 docker-compose.yml 작성 후
- ports 는 환경에따라 변경하면 되고
하위 디렉토리는
이런 구조로 작업했다.
도커 관리 툴로 portainer 가 사용해보니 좋은거 같던데 나중에 블로그 써서 자세하게 쓰겠다
깃랩 업데이트 (0) | 2024.11.27 |
---|---|
도커로 실행중인 깃랩 자동 백업 스크립트 (0) | 2024.11.27 |
1. PHP 5.3.7 보다 크고 7.5 보다 낮게 설정 권장 (chriskacerguis/codeigniter-restserver 3.1.5 사용중)
2. 사용된 프레임워크 : CI 3.1.12,
3. 깃허브 주소: https://github.com/antam2010/ait (현재 private)
사용방법 :
- composer install 해서 라이브러리 설치
- vendor 디렉토리는 third_party 하위에 생성되도록 해놓았음
- node 설치 후 글로벌로 apidoc 설치
- 해당 명령어는 주석으로 api-doc 문서 작성이나 수정하고 실행하면 됨
실서버 api-doc 생성일경우 : apidoc -i application/controllers/ -o docs --config apidoc.prod.json --verbose
로컬 api-doc 생성일경우 : apidoc -i application/controllers/ -o docs --config apidoc.local.json --verbose
4. 외부 API 사용법
- 모델에 해당 코드처럼 사용하면 됨
- require 하는이유는 밑처럼 subclass_prefix 를 MY 로 해두었지만 MY_Input, MY_Model 처럼 사용해야 자동으로 로드되됨
- config/config.php 맨 하단에
설정 후에 사용 하면 됨
5. 내부 모델은 core/MY_model.php 만들어놓았으니 extends 해서 사용
- class model_name extends MY_Model {
JWT 토큰 nbf 에러 (0) | 2024.05.07 |
---|---|
PHP CLI 셋팅 중 여러 사이트 실행 하는 법 (0) | 2023.03.29 |
php 값을 콤마로 구분하여 코드화 된 데이터 디코드 (0) | 2022.10.17 |
php 배열 중복제거 후순서대로 정렬 (0) | 2022.10.17 |
스크립트 안에 php foreach 돌려서 값 추출 (0) | 2022.04.22 |
1. node -v : 20.17.0 환경에서 개발
2. DB : PostgresSQl
3. 프레임워크 : express
2.구조
3. 스웨거 주소 : https://node-api.daeho2.shop/api-docs/
Swagger UI
node-api.daeho2.shop
간단하게 회원가입만 구현해놓음
현재 video.js 8.12.0 버전 사용중인데 웹에서는 문제가 없는데 앱에서 풀스크린을 하면 화면이 박살나는 문제가 있었다.
풀스크린을 할때마다 width 랑 height 를 서로 바꿔주고 가로모드 일 때 깃허브에 올라와있는 소스도 참고해보고 해도 소용이 없었다.
playsinlne 을 없애면 문제가없는데 무조건 전체화면에서 실행해야하다보니 꼼수를 썻다.
controls 를 커스터마이징한 소스를 써야하는데 아이폰에서는 기본적으로 인라인으로 재생하다가 풀스크린 할 때는 기본 HTML5 비디오를 사용하도록 하였다.
풀스크린을 누를때마다 풀스크린을 감지하기전에 그 버튼클릭 후 기본 비디오를 사용하게하고 playsinlne 을 삭제한 후에 비디오를 다시 재생시키고 미리 playsinlne 을 대기시켜놓게 바꾸어놓았다.
$issuer = "localhost";
$audience = "localhost";
$issuedAt = time() - 5; //발행시간
$notBefore = $issuedAt; // seconds 즉시사용으로 처리, 서버에서 지연설정 있을시 설정
$expirationTime = $issuedAt + (60 * G5_JWT_ACCESS_MTIME); //유효시간
$payload = array(
"id" => $id,
"iss" => $issuer,
"aud" => $audience,
"iat" => $issuedAt,
"nbf" => $notBefore,
"exp" => $expirationTime
);
서버 A 에서 토큰을 생성 후 B서버에서 토큰을 인증할 때 nbf 에러가 발생하였다.
서버 A 와 B 서버에서 1초차이가 났는데 매일 자정마다 서버 시간을 업데이트 하지만 1초 차이가 통신하면서 나나 보다.
코드이그나이터3 (CI3) + Rest full api + api docs (0) | 2024.09.12 |
---|---|
PHP CLI 셋팅 중 여러 사이트 실행 하는 법 (0) | 2023.03.29 |
php 값을 콤마로 구분하여 코드화 된 데이터 디코드 (0) | 2022.10.17 |
php 배열 중복제거 후순서대로 정렬 (0) | 2022.10.17 |
스크립트 안에 php foreach 돌려서 값 추출 (0) | 2022.04.22 |