반응형

Jenkins 서비스를 구동시킨 후 Jenkins 웹 페이지로 접속한다.

Jenkins 웹 페이지에 처음 접속하면, 아래와 같이 초기 관리자 비밀번호를 입력하라는 페이지가 출력된다.

 

초기 관리자 비밀번호 파일 내용을 복사하여 붙여넣기 한 후 [Continue] 버튼을 누른다.

$ cat /var/lib/jenkins/secrets/initialAdminPassword

 

이번엔 플러그인 설치 화면이 출력된다.

특별히 설치해야 하는 플러그인이 없다면, [Install Suggested plugins]를 선택한다.

 

플러그인 설치가 진행된다. (대략 5~15분 정도 소요됨)

 

플러그인 설치가 완료되면, 관리자 계정 생성 페이지가 출력된다.

계정명, 암호, 이름, 이메일 주소를 입력한 후 저장한다.

 

마지막으로 Jenkins 접속 정보를 수정할 수 있는 페이지가 출력된다.

변경할 내용이 있다면 수정한 후 저장하고 마무리한다.

 

이제 Jenkins를 사용할 수 있게 되었다!!!



 
 
 

 

 

반응형
반응형

Java 17 버전이 설치되었으면, 이제 Jenkins를 설치하여 사용할 수 있다.

 

 

1. Jenkins 저장소 설치

Jenkins를 설치하기 전에 yum repository를 먼저 설치한다.

$ yum -y install ca-certificates
$ wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
$ rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

 

 

2. Jenkins 설치

$ yum -y install epel-release
$ yum -y install jenkins

 

 

3. Jenkins 설치 확인

$ rpm -qa | grep jenkins
$ systemctl status jenkins

 

 

4. Jenkins 서비스 포트 변경

Jenkins는 기본 포트로 8080 포트를 사용한다. (기본 포트를 사용하려면 이 부분은 skip !!!)

다른 포트를 사용하도록 변경하기 위해서는 Jenkins 설정 파일을 수정한 후 서비스를 재시작해준다.

$ vi /usr/lib/systemd/system/jenkins.service

Environment="JENKINS_PORT=[변경하려는 포트 번호]"

 

만약, 방화벽 서비스(firewalld)를 사용중이라면 변경할 포트를 열어줘야 한다.

$ firewall-cmd --permanent --zone=public --add-port=[변경하려는 포트 번호]/tcp

### firewalld 재시작
$ firewall-cmd --reload

 

 

5. Jenkins 작업 디렉토리(Workspace) 변경

Jenkins의 기본 작업 디렉토리는 "/var/lib/jenkins" 로 설정되어있다. (기본 작업 디렉토리를 사용하려면 이 부분은 skip !!!)

다른 디렉토리를 사용하기 위해서는 Jenkins 설정 파일을 수정한 후 서비스를 재시작해준다.

$ vi /usr/lib/systemd/system/jenkins.service

Environment="JENKINS_HOME=[변경하려는 작업 디렉토리]"
WorkingDirectory=[변경하려는 작업 디렉토리]

 

 

6. Jenkins 구동

$ systemctl daemon-reload
$ systemctl enable --now jenkins

 

 

7. Jenkins 구동 및 포트 확인

$ systemctl status jenkins
$ netstat -anp | grep `ps -ef | grep -v grep | grep jenkins | awk '{print $2}'`

 
 
 
 

 

 

 

반응형
반응형

Jenkins를 사용하기 위해서는 Java가 설치되어 있어야한다.

Jenkins에서는 Java 17 버전 이상 사용을 권장하므로 Java 17 버전을 설치해보자. 

 

참고로 Java 11 버전이 설치된 시스템에 Jenkins를 설치하여 사용하면 아래와 같은 경고를 출력한다.

 

 

1. 필요 패키지 설치

Java 17을 다운로드 받기 위해 wget을 설치한다.

$ yum -y install wget

 

 

2. Java 17 다운로드 및 설치

$ wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
$ rpm -ivh jdk-17_linux-x64_bin.rpm

 

 

3. Java 버전 확인

$ java --version

 

 

4. Java 활성화 버전 확인

Java 17 버전이 선택되어 있지 않으면, 선택하여 활성화 해준다.

$ alternatives --config java



 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

가상 서버에 Jenkins를 설치하여 자동 빌드 환경을 구성하는 방법을 알아보자.

물론, Jenkins Docker 이미지를 사용하면 설치 과정없이 보다 쉽게 자동 빌드 환경을 구성할 수 있다.

하지만, 서버 하나에 [Jenkins 빌드 환경] 과 [Compile 환경] 을 모두 구성해야 한다면, Jenkins를 직접 설치하여 사용해야 할 경우가 생긴다. (특히, C나 C++같이 컴파일이 필요하고, 빌드 환경의 영향을 많이 받는 프로그램을 빌드할 경우에는 더욱 그렇다.)

 

이번 글에서는 Jenkins 빌드 환경을 구성하기 위한 첫 단계로 Linux OS를 설치해보자.

 

1. Linux 설치

Virtual Box에 VM을 하나 생성하고, CentOS 7.9 Minimal 이미지로 부팅을 한다.

부팅 후 언어 선택 화면이 나오면 설치 언어를 선택한다. (영어로 선택해도 무방)

 

언어를 선택했으면, 아래의 항목들을 목적에 맞게 선택한다.

- 날짜와 시간 : 아시아/서울

- 소프트웨어 선택 : 최소 설치

- 설치 대상 : 자동 설정 혹은 수동으로 파티션 설정

 

항목들을 선택했으면, [설치 시작]을 누른다.

 

설치가 진행되는 동안 ROOT 암호를 설정한다. (사용자 생성은 필요시 생성)

 

설치가 완료되면, [재부팅] 버튼을 눌러 시스템을 재시작한다.

 

OS가 정상 설치되었으면, 부팅시 아래처럼 OS 선택 화면이 출력된다. (처음 항목을 선택)

 

처음 항목을 선택하여 부팅하면, 로그인 화면이 출력된다.

설치시 설정한 root 사용자 패스워드를 사용하여 로그인한다.

 

 

2. Linux 설정

아래의 설정들은 보안 관련 설정을 해제하는 설정으로, 보안 설정을 사용중이라면 그대로 유지해도 된다.

 

(1) SELinux 사용해제

$ vi /etc/selinux/config

SELINUX=enforcing 으로 되어있는 부분을 SELINUX=disabled 로 변경한 후 저장

 

 

(2) 방화벽 사용해제

$ systemctl disable --now firewalld

 

(3) 네트워크 설정

$ vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

파일의 내용을 수정 (IPADDR, GATEWAY, NETMASK, DNS)


 
 
 

반응형
반응형

1. 패키지 설치

rpm -ivh [package]                  # 패키지 설치

rpm -Uvh [package]                # 설치된 패키지가 있으면 삭제하고 설치

rpm -Uvh [package] --force     # 버전에 상관없이 강제 설치

rpm -Uvh [package] --nodeps  # 의존성 무시하고 설치

 

 

2. 패키지 삭제

rpm -e [package]                     # 패키지 삭제

rpm -e [package] --nodeps      # 의존성 무시하고 패키지 삭제

 

 

3. 패키지 확인

rpm -qR [package]                  # 의존성 확인

rpm -qa | grep [package]        # 설치된 패키지 확인

rpm -qi [package]                    # 패키지 정보 확인

반응형
반응형

외부에서 리눅스 시스템으로의 PING을 차단하거나 허용할 수 있다.

 

 

1. proc 파일시스템을 직접 수정하는 방법

[PING 차단]

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

[PING 허용]

# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

 

2. sysctl 커맨드를 사용하는 방법

[PING 차단]

# sysctl -w net.ipv4.icmp_echo_ignore_all=1

 

[PING 허용]

# sysctl -w net.ipv4.icmp_echo_ignore_all=0

 

두가지 방법중 어떤 방법을 사용해도 결과는 동일하다.

 

차이가 있다면,

1번 방법은 반드시 root 사용자가 사용해야 한다.

2번 방법은 root권한을 가진 사용자가 사용할 수 있다.

 

즉, 2번 방법은 sudo 명령으로도 사용이 가능하다.

 

 

 

  

 

 

 

 

 

 

반응형

'Linux > 공통' 카테고리의 다른 글

빌드 자동화를 위한 Jenkins 서버 설치 (1) - Linux 설치  (0) 2024.07.09
유용한 RPM 명령어  (23) 2024.06.17
SVN 사용법 정리  (0) 2015.04.28
SCP 명령어 사용법  (2) 2015.04.27
하드디스크 쓰기 속도 측정 방법  (0) 2015.04.23
반응형

1. 소스 내려받기

svn checkout[co] http://192.168.0.128/svn/sandbox (sandbox 디렉토리에 체크아웃받음)
svn checkout[co]
http://192.168.0.128/svn/sandbox source (source 디렉토리에 체크아웃받음)

 

 

2. 소스 최신버전으로 업데이트

svn update[up]

 

 

3. 소스 변경사항 적용하기

svn commit[ci] -m "수정사항에 대한 메시지 입력"

* 주의점 - 커밋전에는 update를 실행하여 최신소스로 변경하고, make를 실행시켜 컴파일이 성공했을 경우에만 커밋해야함.

 

 

4. 소스 차이점 비교

svn diff
svn diff -r 4 (리비전 4와 비교)
svn diff -r 4 test.c (리비전 4의 test.c 파일비교) 

 

 

5. 소스의 리비전 로그 보기

svn log
svn log -r 4 (리비전 4의 변경사항 로그 보기)
svn log -r 4 test.c (리비전 4의 test.c파일의 변경사항 로그 보기)
svn log -r 4:5 (리비전 4~5의 변경사항 로그 보기)

 

 

6. 파일 import 하기

* 아무것도 들어있지 않은 저장소에 맨 처음 소스를 넣을때 사용.

 

 

7. 파일 export 하기

* 체크아웃과는 달리 버전 관리 파일들을 뺀 순수한 소스 파일을 받아옴.

 

 

8. 새로운 파일 추가하기

svn add newfile.c

* 실제 변경사항은 커밋시에 적용됨.

 

 

9. 새로운 디렉토리 만들기

svn mkdir newdir

* 실제 변경사항은 커밋시에 적용됨.

 

 

10. 파일/디렉토리 삭제하기

svn delete[del, rm, remove] newfile.c

* 실제 변경사항은 커밋시에 적용됨.

 

 

11. 파일 이동하기

svn move[mv] test.c ./src/

* 실제 변경사항은 커밋시에 적용됨.

 

12. 파일 리스트 확인하기

 

 

13. 이전 작업들 되돌리기

svn revert (현재 디렉토리의 작업들 되돌리기)
svn revert newdir (newdir에 작업했던 내용들 되돌리기)

* 커밋전의 작업내용들을 되돌림. 커밋후에는 되돌릴 수 없음.

 

 

14. 소스 파일에 작업한 내용 확인하기

svn blame test.c
svn blame -r 4 test.c

* 한 소스파일을 대상으로 각 리비전에 대해서 어떤 행을 누가 수정했는지 알아보기 위한 명령.
* 출력 순서는 리비전, 커밋한 사용자의 ID, 소스 순임.

 

 

15. 파일 이름 변경하기

svn rename[ren] test.c sample.c

* 실제 변경사항은 커밋시에 적용됨.

 


16. 소스 서버 변경하기

svn switch --relocate [이전주소] [새로운주소]

 

 

 

 

 

 

 

 

 

 

반응형

'Linux > 공통' 카테고리의 다른 글

유용한 RPM 명령어  (23) 2024.06.17
리눅스 PING 차단&허용  (0) 2015.05.07
SCP 명령어 사용법  (2) 2015.04.27
하드디스크 쓰기 속도 측정 방법  (0) 2015.04.23
랜선 연결 확인하는 방법  (0) 2015.04.23
반응형

리눅스에서 FTP를 사용하지 않고 간편하게 파일을 복사하는 방법으로는 SCP 커맨드를 사용하는 방법이 있다. SCP는 Secure CoPy의 약자로 보안이 강화된 복사를 뜻한다.

FTP를 자주 사용해봤다면 FTP를 이용해 디렉토리를 복사하는게 쉽지 않다는 것을 알고 있을 것이다. (주로 스크립트를 만들어 사용한다.)

반면, SCP는 파일뿐만 아니라 디렉토리까지 깔끔하게 복사할 수 있다는 장점이 있고, SSH와 동일한 포트(22)를 사용하여 SSL기반의 세션 보안 프로토콜을 사용하므로 보안측면에서도 FTP보다 뛰어나다고 볼 수 있다.

FTP를 사용하기 위해서 21번 포트가 OPEN되어 있어야 하는것처럼 SCP를 사용하려면 22번 포트가 OPEN되어 있어야 한다.

 

SCP 커맨드를 사용해 파일을 복사하는 명령은 아래와 같다.

# scp [File Name] [User Name]@[Dest Addr]:[Dest Path]

 

File Name은 복사하려는 파일 이름을 지정한다.

User Name은 복사하려는 목적지의 계정에 대한 유저이름을 지정한다.

Dest Addr은 복사하려는 목적지의 주소를 지정한다. (IP Address 또는 Domain Name)

Dest Path는 복사하려는 목적지의 파일 저장 경로를 지정한다.

 

예를 들어, 192.168.0.10번 서버의 testuser 계정의 홈디렉토리로 testfile 파일을 전송하는 커맨드는 아래와 같다.

# scp testfile testuser@192.168.0.10:~/ 

 

마지막으로 SCP 커맨드를 사용해 디렉토리를 복사하는 명령은 아래와 같다.

# scp -r [File Name] [User Name]@[Dest Addr]:[Dest Path]

 

파일복사 커맨드에 -r만 추가해 주면 된다.

 

예를 들어, 192.168.0.10번 서버의 testuser 계정의 홈디렉토리로 testdir 디렉토리와 하위의 다렉토리/파일들을 전송하는 커맨드는 아래와 같다.

# scp -r testdir testuser@192.168.0.10:~/  

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'Linux > 공통' 카테고리의 다른 글

리눅스 PING 차단&허용  (0) 2015.05.07
SVN 사용법 정리  (0) 2015.04.28
하드디스크 쓰기 속도 측정 방법  (0) 2015.04.23
랜선 연결 확인하는 방법  (0) 2015.04.23
리눅스 캐쉬 메모리 삭제하는 방법  (0) 2013.12.20
반응형

리눅스에서 하드디스크의 읽기/쓰기 속도를 측정하는 방법으로는 dd 커맨드를 사용하는 방법이 있다.

 

# dd if=/dev/zero of=/testfile count=4000 bs=1024k

 

if는 Input File을 의미하며 보통 리눅스 설치시 기본적으로 생성되는 제로파일을 사용한다.

of는 Output File을 의미하며 Input File을 복사하여 저장할 파일의 위치를 지정한다.

bs는 Block Size를 의미하며 Input File을 한번에 읽을 사이즈를 지정한다. (보통 1024k 사용)

count는 Input File을 Block Size만큼 몇번을 읽어서 Output File에 저장할지를 지정한다.

 

즉, 위의 커맨드대로 실행하면 약 4GB의 파일에 대한 쓰기 시험이 되는 셈이다.

(1024k X 4000번 = 1024000 X 4000 = 4096000000 = 약 4GB)

 

마지막으로 위의 커맨드로 두 종류의 하드웨어에서 시험한 결과는 아래와 같다. (4GB에 대한 쓰기 속도 측정)

 

1. 320G 5400RPM 노트북 하드 1개를 장착한 시스템

# dd if=/dev/zero of=/testfile count=4000 bs=1024k
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB) copied, 101.293 seconds, 41.4 MB/s

 

2. 500G 서버용 하드 4개로 RAID5 구성된 서버 시스템

# dd if=/dev/zero of=/testfile count=4000 bs=1024k
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB) copied, 5.70978 s, 735 MB/s

 

속도의 차이는 실로 어마어마하다~!!!

 

 

 

 

 

 

 

 

 

 

반응형

'Linux > 공통' 카테고리의 다른 글

SVN 사용법 정리  (0) 2015.04.28
SCP 명령어 사용법  (2) 2015.04.27
랜선 연결 확인하는 방법  (0) 2015.04.23
리눅스 캐쉬 메모리 삭제하는 방법  (0) 2013.12.20
VirtualBox에 CentOS 6.4 설치하기  (4) 2013.07.24
반응형

리눅스에서 실제 물리적인 랜선이 이더넷카드에 연결되어 정상적으로 동작중인지를 확인해야할 경우가 경우가 종종 있다. 이럴 경우 mii-tool 커맨드를 사용하여 연결 상태를 쉽게 확인할 수 있다.

 

/sbin/mii-tool [인터페이스]

 

인터페이스에는 eth0, eth1 등등의 eth 인터페이스와 bond0, bond1과 같은 bond 인터페이스등의 모든 인터페이스를 지정할 수 있다.

실제 랜선이 연결되어 있다면 아래와 같은 결과가 출력된다.

 

# /sbin/mii-tool eth0
eth0: negotiated 100baseTx-FD flow-control, link ok 

 

실제 랜선이 연결되어 있지않다면 아래와 같은 결과가 출력된다.

 

# /sbin/mii-tool eth0
eth0: no link

 

해당 커맨드는 root계정에서만 실행할 수 있다.

 

 

 

 

 

 

 

 

 

반응형
반응형

리눅스 시스템에서 작업을 하다보면 간혹 메모리가 부족하여 시스템이 버벅거리는 경우가 발생한다.

그럴때 free 명령어로 메모리 상태를 출력해보면 보통 캐쉬쪽에 메모리가 많이 할당되어있는것을 볼 수 있다

# free
                    total        used       free    shared     buffers    cached
Mem:      16425800    1786268   14639532          0     147028    1052388
-/+ buffers/cache:     586852   15838948
Swap:            0          0          0 

 

 

캐쉬 메모리를 해제하여 다른 프로세서에서 메모리를 바로 사용 가능하도록 하기 위해

캐쉬 메모리를 강제로 해제하려면 root에서 아래의 커맨드를 입력해보자.

# echo 3 > /proc/sys/vm/drop_caches

 

 

cached가 줄고, free가 늘어난것을 볼 수 있다.

# echo 3 > /proc/sys/vm/drop_caches
# free
                    total       used       free    shared     buffers    cached
Mem:      16425800     738168   15687632          0       1036     331852
-/+ buffers/cache:     405280   16020520
Swap:            0          0          0

 

 

 

 

 

 

 

 

반응형
반응형

1. CentOs 파일 다운로드 

redhat은 유료기 때문에 무료버전인 cenos 파일을 다운로드 합니다. 


 http://www.centos.org/modules/tinycontent/index.php?id=32











한국내 미러사이트중 땡기는 곳에서 최신 버전 경로로 이동합니다.(6.4 -> isos -> i386

32비트 컴퓨터일경우이고 64비트일경우, 6.4 -> isos ->x86_64로 이동하면 되겠습니다. 








다음파일을 다운받습니다. 

 CentOS-6.4-i386-bin-DVD1.iso 









2. virtaulbox 가상머신 만들기



virtaulbox실행후, 새로 만들기 클릭후, linux-> Redhat 선택합니다. 






gui모드를 사용하기 위해 메모리를 늘려줍니다.

이 다음부턴 defualt로 선택합니다. 

































3. VirtualBox 가상머신 설정




금방 만든 가상머신을 선택후 설정 버튼을 클릭합니다. 












gui 모드를 사용하기 위해 디스플레이 선택후, 48 MB 로 늘려줍니다. 












좌측에 저장소 선택후, IDE하부에 비어있음 클릭후 cd모양을 선택하여, 디스크파일 선택









다운로드 받은 centos iso파일을 선택합니다. 






4. 가상머신 시작후 centOS설치




install or upgrade an existing system을 선택합니다. 











디스크 검사는 pass후

사용언어는 영어로 선택합니다.  











키보드 언어는 us를 선택합니다. 









Basic Storage Devices를 선택합니다. 












추후, 서버에서 수정가능하므로 host name은 우선 디폴트로 설정합니다. 












시간은 아시아/서울을 선택합니다. 











root계정(관리자)의 비밀번호를 입력합니다. 










가상머신의 메모리 공간을 그대로 사용합니다. 










write changes to disk

설치를 시작합니다. 









설치가 진행중입니다. 










재부팅을 합니다.






5. CentOS 서버의 환경설정 수정 





재부팅이 된 화면에 root계정과 계정의 비번을 입력합니다. 








네트워크 설정파일을 수정해야 합니다. 

다음 파일을 열고

cd /etc/sysconfig/network-scripts/


vi ifcfg-eth0

ONBOOT를 yes로 수정해줍니다. 










네트워크를 리스타트를 해줍니다. 

 /etc/rc.d/init.d/network restart










 ifconfig

virtualbox의 외부포트를 열어주기 위하여 게스트ip를 알아야 하는데

inet addr을 적어두셨다 잠시후에 쓰면 됩니다. 









6. 가상머신 네트워크 설정 수정 




이제 virtualbox관리자의 해당 가상머신의 설정에 들어갑니다. 

거기서 네트워크를 선택하고 

- 다음에 연결됨 : NAT

- 케이블연결됨 : 체크

- 포트 포워딩을 선택합니다. 









아까 적어놓은 게스트ip를 적어주고 ssh접속을 위하여 

다음과 같이 적어줍니다. 추후 개방할 포트를 추가하면 됩니다. 








마지막으로 127.0.0.1 22번포트로 ssh접속을 하면 됩니다. 





















반응형
반응형

nohup을 사용시, nohup.out 파일이 생기게 되는데 

이 파일이 차지하는 디스크용량이 아까워 지워버리게 되면, 디스크 용량은 계속 증가하게 됩니다. 

-> 해당 프로세스를 종료 할때까지 


nohup실행시, 처음부터 nohup.out파일이 생기지 않게 실행하는게 최선입니다. 

다음과 같이 실행하면 됩니다. 

 

nohup 실행파일 1> /dev/null 2>&1 &














반응형
반응형

1. svn폴더 위치

/source/svn


2. svn Repository 생성 방법

- root로 로그인하여 저장소 생성 (2가지 중 택1)

 

# 일반 파일시스템으로 생성 

$ svnadmin create --fs-type fsfs /source/svn/project1


# berkeley db 형식으로 생성

$ svnadmin create --fs-type bdb /source/svn/project1



- 생성된 Repository에 대한 계정설정파일 수정

  /source/svn/project1/conf/svnserve.conf

  # 인증받지않은 사용자에 대한 권한 (none)

anon-access = none

# 인증받은 사용자에 대한 권한 (write)

auth-access = write


# passwd 파일로 패스워드를 관리한다.

password-db = passwd



/source/svn/project1/conf/passwd

# 유저계정정보

user = password


- trunk, branches, tags 디렉토리 생성

$ svn mkdir svn://localhost/project1/trunk --username user

$ svn mkdir svn://localhost/project1/branches --username user

$ svn mkdir svn://localhost/project1/tags --username user

















반응형
반응형


터미널 프롬프트상에서 아래의 커맨드를 입력하면 에러 코드에 대한 정보가 출력됩니다.

cat /usr/include/bits/errno.h
cat /usr/include/asm-generic/errno.h
cat /usr/include/asm-generic/errno-base.h

참고사이트 : http://www.basiclinuxcommands.com/2008/07/linux-error-codes-basic-linux-command.html

반응형

+ Recent posts