CentOS 7.4에 gitlab 설치하기

2019/06/13 13:28
Gitlab을 설치할 서버 OS 버전 : CentOS Linux release 7.4.1708 (Core)
설치할 Gitlab Version 및 Intallation Guide : https://about.gitlab.com/install/#centos-7

1. 사전 확인 작업 (안해도 됨)
Swap 파티션을 추가하고, swappiness를 설정한다.
sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m
시스템 성능을 위해서 kernel swappiness 설정은 10이하로 유지하는 것이 좋다.
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness
필요할 경우, 도메인을 설정한다.


2. 방화벽 설정
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

만약, 설치 도중 [bash: firewall-cmd: command not found]과 같은 메시지가 뜬다면,
다음과 같이 firewalld를 설치해 주어야 한다.
sudo yum install -y firewalld

설치 완료 후, firewalld를 시작한다.
sudo systemctl unmask firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld

HTTP에 대한 방화벽 작업을 다시 설정한다.
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

3. Notification Email을 위해서 postfix를 설치한다.
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
만약, 외부 메일을 사용한다면 postfix 설치는 Skip하고 외부 SMTP 메일 서버를 설정한다.
아래는 gmail 설정 예제이다.
vi /etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "my.email@gmail.com"
gitlab_rails['smtp_password'] = "my-gmail-password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
# Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html

자세한 정보는 https://docs.gitlab.com/omnibus/settings/smtp.html 에서 확인 가능

4. Repository에서 gitlab package 설치
<Enterprise Version>
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
yum install gitlab-ce

<Community Version>
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install gitlab-ce

5. cur : (60) Peer's Certificate issuer is not recognized. 오류 발생 시
rpm을 직접 다운로드 받아서 설치한다.
<rpm 다운로드>
wget --no-check-certificate --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-11.11.3-ce.0.el7.x86_64.rpm/download.rpm
<rpm 설치>
rpm -i download.rpm

6. gitlab 설정 변경 및 방화벽 오픈
<gitlab 설정 변경>
vi /etc/gitlab/gitlab.rb
external_url 'http://localhost' --> external_url 'http://{server ip}'
gitlab은 기본적으로 80포트를 사용하고, 내부 인증으로는 8080을 사용한다.
따라서 80포트에 대한 방화벽 오픈이 필요하다.
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
7. gitlab 설정 변경 적용
마지막으로 변경된 gitlab 설정을 적용한다.
gitlab-ctl reconfigure
8. 최초 로그인
설치가 성공하면, 해당 서버의 IP를 치고 들어갔을 경우 비밀번호를 변경하게 된다.
관리자 계정의 비밀번호에 해당하므로, 비밀번호 변경 후 [root / 변경비밀번호]로 로그인한다.


9. 참조 Sites.







Continuous Integration Environment Reference Model

2019/04/25 14:58
기본적인 Continuous Integration 환경에 대한 다이어그램
사용자 삽입 이미지

Java Class member 변수에 대한 Getter Setter Method 생성하는 기능이 Eclipse나 IntelliJ에서는 IDE Menu로 존재합니다.

그러나 VSCode에서는 해당 기능을 가진 Extension을 설치해 주어야 합니다.
관련하여 사용법을 정리했습니다.

01. Extension 버튼 클릭
사용자 삽입 이미지

02. Getter and Setter Generator Extension 검색 및 설치
사용자 삽입 이미지

03. Getter/Setter를 만들고자 하는 변수 선택 후 마우스 오른쪽 클릭하여 Command Palette 선택
사용자 삽입 이미지

04. Generate 키워드로 검색
사용자 삽입 이미지

05. Generate Getter and Setter Method
사용자 삽입 이미지

Visual Studio Code로 Java 프로그래밍을 할 때, 주석이나 JavaDoc 처리 주석 내에 TODO List를 작성하는 경우에는 하단에 Problem에 문제가 발생했다는 표시가 뜹니다.

이에 대한 해결책으로는 [TODO Parser] Extension을 설치하면 해결할 수 있습니다.

그리고 TODO, FIXME, ANCHOR, REVIEW 등의 키워드를 Highlight해주는 Extension으로는
여러 가지 중에 Comment Anchors Extension이 그래도 가장 마음에 드네요.

Visual Studio Code를 사용하여 프로그래밍하면서 하나하나 알아가며 정리하는 것도 나중을 위해서는 많은 도움이 될 듯 합니다.
Windows 10 환경에서 vscode를 설치하고, OpenJDK 1.8을 설치했습니다.
그리고 JAVA_HOME 설정을 한 후, Maven을 설치하고 Path를 추가했습니다.

vscode에서 maven 프로젝트를 archetype-quickstart로 생성하고 프로그램을 작성한 후, 테스트를 해보고 싶었습니다.
그런데 한가지 오류와 2가지 경고(!) 메세지가 떴습니다.
정확하지는 않지만, 다음과 같았던 것 같습니다.

<오류>
새로 추가된 Java Class에 package 명을 적을 때, package root가 다르다.
<경고>
1. Build Path에 설정된 것은 JavaSE 1.7이다. 올바르게 설정해라.
2. Compiler가 1.7을 사용하도록 설정되어 있는데, 실제로는 jre 1.8을 사용했다.
다음과 같이 해결했습니다.

<오류>
vscode의 메뉴에서 File > Add Folder to Workspace 에서 프로젝트 Root Folder를 선택.
(workspaces 폴더 아래에 myProject 폴더가 있는 경우, myProject 폴더를 Root Folder로 선택)

<경고>
1. Build Path 관련
.classpath 파일에서 JavaSE 버전 변경
사용자 삽입 이미지

2. Compiler 버전 관련
org.eclipse.jdt.core.prefs 파일 내 컴파일러 버전 변경
사용자 삽입 이미지