728x90
반응형

GitLab Enterprise Edition으로 업그레이드하면 LDAP 그룹과 GitLab 그룹을 동기화할 수 있습니다.

 

터미널에서 설정

/etc/gitlab/gitlab.rb 편집

user_filter 와 group_base 에 설정을 추가하고 있습니다.

user_filter : LDAP 로그인 가능한 사용자를 제한

group_base : LDAP Group 으로 검색하는 기준
# .. 생략 ..
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
   main:
     label: 'LDAP'
     host: 'ldap.naver.com'
     # .. 생략 ..
     user_filter: '(|(memberOf=cn=test-GitLab-Admins,ou=Roles,dc=naver)(memberOf=cn=test-GitLab-Users,ou=Roles,dc=naver)(memberOf=cn=Title-Developer,ou=Roles,dc=naver))'
     # .. 생략 ..
     group_base: 'ou=Roles,dc=naver'
     # .. 생략 ..

그 후 reconfigure

gitlab-ctl reconfigure

 

웹 화면 측에서의 설정

Admin Area → Groups → 편집하고 싶은 그룹명 → EditLDAP Synchonizations

728x90
300x250

'IT > Git' 카테고리의 다른 글

GitLab의 LDAP Uid 수정하기  (0) 2021.08.12
GitLab CE에서 EE로의 이행  (0) 2021.08.12
GitLab API 조작  (0) 2021.08.12
GitLab Runner 구축  (0) 2021.08.12
GitLab Runner 업데이트 작업  (0) 2021.08.12
728x90
반응형

대처 시기:2018/04

OS: CentOS 7 x86_64

Gitlab Version: 10.4.2-ce.0.el7.x86_64

 

참고 공식 문서:https://docs.gitlab.com/omnibus/update/README.html#from-community-edition-to-enterprise-edition

지금 설치되어 있는 GitLab CE의 버전을 확인합니다.

현재의 CE와 같은 버전의 EE을 설치하기 때문입니다.

rpm -q gitlab-ce

EE용 yum repository파일을 설정합니다.

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

GitLab EE을 설치합니다.버전 지정시"ce"부분은 "ee"로 바꾸는 것에 주의하세요.

미리 설치된 GitLab CE패키지는 복제 합니다.

yum install gitlab-ee-10.4.2-ee.0.el7.x86_64

설치 후에는 reconfigure 합니다.

gitlab-ctl reconfigure

CE용 yum repository파일은 불필요하게 되었으므로 삭제합니다.

rm /etc/yum.repos.d/gitlab_gitlab-ce.repo

 

 

라이센스 추가 구입

GitLab Subscription Manager에 로그인

상부 메뉴 "Subscriptions"

Add more seats

새로운 합계수를 입력하고(예를 들어 현재 90개의 라이선스가 있고 5개를 늘리고 싶으면 5가 아닌 95로 입력한다) Proceed to checkout

내용을 확인하고 문제가 없으면 "Confirm Upgrade" ← 여기서 결제처리 확정

구매를 하면 라이선스 관리 이메일로 청구서와 라이선스 키 정보가 전달됩니다.

 

라이선스 설정

참고 공식 문서 : https://docs.gitlab.com/ee/user/admin_area/license.html

GitLab 에서 관리자 계정으로 로그인 → AdminArea → License → Upload New License

라이센스 파일을 업로드 하거나 라이센스 키 문자열을 텍스트 영역에 입력합니다.

 

728x90
300x250

'IT > Git' 카테고리의 다른 글

GitLab의 LDAP Uid 수정하기  (0) 2021.08.12
GitLab LDAP Group 구성  (0) 2021.08.12
GitLab API 조작  (0) 2021.08.12
GitLab Runner 구축  (0) 2021.08.12
GitLab Runner 업데이트 작업  (0) 2021.08.12
728x90
반응형
curl -s -H "PRIVATE-TOKEN: ${GITLAB_TOKEN}" 'https://git.naver.com/api/v4/users?per_page=100&page=1'
  
curl -s -H "PRIVATE-TOKEN: ${GITLAB_TOKEN}" 'https://git.naver.com/api/v4/groups?per_page=100&page=1'
728x90
300x250

'IT > Git' 카테고리의 다른 글

GitLab LDAP Group 구성  (0) 2021.08.12
GitLab CE에서 EE로의 이행  (0) 2021.08.12
GitLab Runner 구축  (0) 2021.08.12
GitLab Runner 업데이트 작업  (0) 2021.08.12
GitLab 정기 업데이트 작업  (0) 2021.08.12
728x90
반응형

설치

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | bash
 
yum-config-manager --disable runner_gitlab-runner
yum-config-manager --disable runner_gitlab-runner-source
 
export GITLAB_RUNNER_DISABLE_SKEL=true
yum install --enablerepo=runner_gitlab-runner gitlab-runner

 

Docker 설치

아래의 ansible을 실행합니다.

cd git/ansible-common/
ansible-playbook -i hosts_gitlab-runner -u centos playbooks/docker/docker.yml

runner서버에서 다음 명령을 실행합니다.

gitlab-runner사용자로 docker를 다루도록 하겠습니다.

gpasswd -a gitlab-runner docker

 

Gitlab Token

관리자 권한으로 https://git.naver.com/admin/runners에 접속하시면 Token이 써있으니 자제합니다.

다음 gitlab-runner register 명령어로 사용합니다.

 

Runner의 서버에서 명령을 실행합니다

gitlab-runner register
 
Runtime platform                                    arch=amd64 os=linux pid=10537 revision=21cb397c version=13.0.1
Running in system-mode.
 
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
https://git.naver.com/                                       # <- 입력
Please enter the gitlab-ci token for this runner:
xxxxxxxxxxxxxxxxxxxx                                           # <- 입력
Please enter the gitlab-ci description for this runner:
[cocone-gitlab-runner-0.cocone]:                               # <- 입력(생략해도 됨)
Please enter the gitlab-ci tags for this runner (comma separated):
                                                               # <- 입력(생략해도 됨)
Registering runner... succeeded                     runner=xxxxxxxx
Please enter the executor: docker, docker-ssh, parallels, shell, virtualbox, docker+machine, custom, ssh, docker-ssh+machine, kubernetes:
docker                                                         # <- 입력
Please enter the default Docker image (e.g. ruby:2.6):
alpine:latest                                                  # <- 입력
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

 

확인방법

관리자 권한으로 https://git.naver.com/admin/runners에 접속하여 추가되어 있는지 확인합니다.

728x90
300x250

'IT > Git' 카테고리의 다른 글

GitLab LDAP Group 구성  (0) 2021.08.12
GitLab CE에서 EE로의 이행  (0) 2021.08.12
GitLab API 조작  (0) 2021.08.12
GitLab Runner 업데이트 작업  (0) 2021.08.12
GitLab 정기 업데이트 작업  (0) 2021.08.12
728x90
반응형

작업 순서

1. GitLab 관리 화면에서 대상 Runner를 정지한다.

https://git.naver.com/admin/runners 에 접속하여 대상 runner를 Pause 합니다.

EBS 스냅샷 수행

AWS 매니지먼트 콘솔로부터 EBS 스냅샷을 가져옵니다.

 

2. GitLab Runner 중지

systemctl stop gitlab-runner.service

3. 최신 GitLab Runner를 설치합니다.

export GITLAB_RUNNER_DISABLE_SKEL=true
yum install --enablerepo=runner_gitlab-runner gitlab-runner

4. GitLab Runner를 시작합니다

systemctl start gitlab-runner.service

기타 확인사항:

등록작업을 다시 할 필요가 있는지 확인한다. → 불필요

728x90
300x250

'IT > Git' 카테고리의 다른 글

GitLab LDAP Group 구성  (0) 2021.08.12
GitLab CE에서 EE로의 이행  (0) 2021.08.12
GitLab API 조작  (0) 2021.08.12
GitLab Runner 구축  (0) 2021.08.12
GitLab 정기 업데이트 작업  (0) 2021.08.12
728x90
반응형

월 1회 GitLab을 수동으로 업데이트 하는 작업을 합니다.

 

1. GitLab 중지

액세스가 있을 때 데이터가 변경되지 않도록 중지한다.

gitlab-ctl stop

2. EBS 스냅샷 찍기

3. GitLab 재개

RPM설치 중에 백업을 작성하는 처리가 있으니 기동하지 않으면 실패합니다.

gitlab-ctl start

4. 업데이트

yum update --enablerepo=gitlab_gitlab-ee gitlab-ee

5. 재설정과 재시작

gitlab-ctl reconfigure
gitlab-ctl restart
728x90
300x250

'IT > Git' 카테고리의 다른 글

GitLab LDAP Group 구성  (0) 2021.08.12
GitLab CE에서 EE로의 이행  (0) 2021.08.12
GitLab API 조작  (0) 2021.08.12
GitLab Runner 구축  (0) 2021.08.12
GitLab Runner 업데이트 작업  (0) 2021.08.12
728x90
반응형

svn status, svn revert, svn cleanup, svn update의 4 개의 하위 명령을 사용합니다.

username과 password는 updateSVN.sh안에 기재 되어 있는 유저 패스워드를 사용합니다. 


1. resource 디렉토리로 이동하여 svn status 정보 확인
```$ cd resource
$ / usr / local / subversion / bin / svn status --username xxxxxxxx --password xxxxxxxx ./MINIME_KR
... (snip)
! C MINIME_KR / bigcache / thumb / planet / 61250
... (snip)
```

2. "! C"가 붙어있는 파일이나 디렉토리를 svn revert으로  복구 시킵니다. 
```$ / usr / local / subversion / bin / svn revert --username xxxxxxxx --password xxxxxxxx ./mini/bigcache/thumb/planet/61250
Reverted 'mini / bigcache / thumb / planet / 61250'
```

3. svn cleanup, svn update를 실행
```$ / usr / local / subversion / bin / svn cleanup --username xxxxxxxx --password xxxxxxxx ./mini
$ / usr / local / subversion / bin / svn update --username xxxxxxxx --password xxxxxxxx ./mini
```

4. svn status로 확인 "! C"가 사라질 때까지 revert, cleanup, update를 반복한다.

728x90
300x250
728x90
반응형

percona repository 인스톨

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

yum install http://repo.percona.com/centos/7/RPMS/x86_64/Percona-Server-selinux-56-5.6.42-rel84.2.el7.noarch.rpm

xtrabackup 인스톨

yum install percona-xtrabackup-22
cd /usr/local/mysql

mkdir backup_logs backup_tmp bak support-files

 

innobackupex.sh

#!/bin/bash
 
source ~/.bash_profile
 
## -----------------------------------------------------------------------------
## Set variables
## -----------------------------------------------------------------------------
STIME=`date "+%Y-%m-%d %T"`
SSEC=`date +%s`
 
SERVICE_NAME=infraDB
HOST_NAME=`hostname | awk '{ split($1,array,"."); print array[1]}'`
USER_NAME=backupuser
USER_PWD=qordjqdhkd!
MYSQL_CNF=/etc/my.cnf
OPT_CNF=--defaults-file=${MYSQL_CNF}
OPT_SLAVE=--slave-info
OPT_SAFE_SLAVE=--safe-slave-backup
#LOCK_WAIT_TIMEOUT="--lock-wait-timeout=2400"
#LOCK_WAIT_THRESHOLD="--lock-wait-threshold=30"
#KILL_LONG_QUERIES_TIMEOUT="--kill-long-queries-timeout=20"
#KILL_LONG_QUERIES_TYPE="--kill-long-query-type=select"
OPT_STREAM=--stream=xbstream
OPT_COMPRESS=--compress
OPT_PV=
TEMP_DIR=/usr/local/mysql/backup_tmp/
BACKUP_DIR=/usr/local/mysql/bak/
BACKUP_TIME=`date +%Y%m%d_%H%M%S`
BACKUP_FILE_SURFFIX=
BACKUP_RTN_DAYS=2
 
if [ "${OPT_STREAM}" == "--stream=xbstream" ]; then
    BACKUP_FILE_SURFFIX=${BACKUP_FILE_SURFFIX}".xbstream"
 
    if [ "${OPT_COMPRESS}" == "--compress" ]; then
        BACKUP_FILE_SURFFIX=${BACKUP_FILE_SURFFIX}".cp"
    fi
fi
 
BACKUP_FILE=${SERVICE_NAME}_${HOST_NAME}_${BACKUP_TIME}${BACKUP_FILE_SURFFIX}
 
echo
echo "*****************************************************************"
echo "* Service Name        :" ${SERVICE_NAME}
echo "* Host Name           :" ${HOST_NAME}
echo "* Backup User         :" ${USER_NAME}
echo "* Backup Option       :" ${OPT_SLAVE} ${OPT_STREAM} ${OPT_COMPRESS} ${OPT_PV}
echo "* Temporary Directory :" ${TEMP_DIR}
echo "* SSH Remote Access   :" ${REMOTE_USER}@${REMOTE_HOST}
echo "* Backup file Name    :" ${REMOTE_PASS}${BACKUP_FILE}
echo "*****************************************************************"
echo
 
## -----------------------------------------------------------------------------
## Backup
## -----------------------------------------------------------------------------
 
echo "Starting Copy my.cnf..."
echo "cp -f ${MYSQL_CNF} ${BACKUP_DIR}${SERVICE_NAME}_${HOST_NAME}_${BACKUP_TIME}_my.cnf"
cp -f ${MYSQL_CNF} ${BACKUP_DIR}${SERVICE_NAME}_${HOST_NAME}_${BACKUP_TIME}_my.cnf
 
echo "Starting Backup Using ExtraBackup..."
echo "innobackupex ${OPT_CNF} --user=${USER_NAME} --password=${USER_PWD} ${LOCK_WAIT_TIMEOUT} ${LOCK_WAIT_THRESHOLD} ${KILL_LONG_QUERIES_TIMEOUT} ${KILL_LONG_QUERIES_TYPE} ${OPT_SLAVE} ${OPT_SAFE_SLAVE} ${OPT_STREAM} ${OPT_COMPRESS} ${BACKUP_DIR} ${OPT_PV} > ${BACKUP_DIR}${BACKUP_FILE}"
 
innobackupex ${OPT_CNF} --user=${USER_NAME} --password=${USER_PWD} ${LOCK_WAIT_TIMEOUT} ${LOCK_WAIT_THRESHOLD} ${KILL_LONG_QUERIES_TIMEOUT} ${KILL_LONG_QUERIES_TYPE} ${OPT_SLAVE} ${OPT_SAFE_SLAVE} ${OPT_STREAM} ${OPT_COMPRESS} ${BACKUP_DIR} ${OPT_PV} > ${BACKUP_DIR}${BACKUP_FILE}
 
 
##echo "Create TAR file from backup..."
##TAR_FILE_NAME="${BACKUP_DIR}backup_"`date "+%Y%m%d_%H%M%S"`.tar
##echo "cd ${TEMP_DIR}"
##cd ${TEMP_DIR}
##echo "tar -cvf ${TAR_FILE_NAME} ./*"
##tar -cvf ${TAR_FILE_NAME} ./*
##echo "rm -rf ${TEMP_DIR}*"
##rm -rf ${TEMP_DIR}*
 
echo "Copy a bakcup file into a remote storage..."
export AWS_CONFIG_FILE=/etc/awscli.conf
echo "aws s3 cp ${BACKUP_DIR}${BACKUP_FILE} s3://cocone-backup/portaldb/mysql/"
aws s3 cp ${BACKUP_DIR}${BACKUP_FILE} s3://cocone-backup/portaldb/mysql/
 
echo "Delete Old backup files and directories ${BACKUP_DIR}"
echo "find /usr/local/mysql/bak/ -ctime +${BACKUP_RTN_DAYS} -delete"
find /usr/local/mysql/bak/ -ctime +${BACKUP_RTN_DAYS} -delete
#find /usr/local/mysql/bak/ -delete
 
ETIME=`date "+%Y-%m-%d %T"`
ESEC=`date +%s`
RSEC=`echo "$ESEC - $SSEC" | bc`
 
echo
echo "*** Start Time  : " $STIME
echo "*** End Time    : " $ETIME
echo "*** Run Time    : " $RSEC "sec"

 

crontab 설정

0 4 * * * /usr/local/mysql/support-files/innobackupex.sh > /usr/local/mysql/backup_logs/innobackupex_`date +\%Y\%m\%d_\%H\%M\%S`.log 2>&1
728x90
300x250

'IT > Confluence' 카테고리의 다른 글

Confluence 7.4.5로 업그레이드  (0) 2021.08.17
Confluence 업그레이드 절차  (0) 2021.08.17
Confluence Upgrade  (0) 2021.08.09
Confluence 서버 이관 및 재설정  (0) 2021.08.09
Confluence 설정  (0) 2021.08.09

+ Recent posts