SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Gitlab 을 이용한 개발 시작
최종석
2016.03.08
목차
Gitlab for oneM2M Security Development
목차
I. Introduction of 

Gitlab
Introduction
Procedure for the usage
III. Usage of git
command line
II. Setting up
Environment
installing git
host setup
IV. Our 

Development
Source code hierarchy
Management
I. 사업 개요
3
1. Introduction of Gitlab
2. Procedures of the usage
I. Introduction of Gitlab
I. Introduction of OneM2M
Introduction of Gitlab
소프트웨어 형상 관리 도구
✓ 소프트웨어의 구현과정에서 변경관리/버전관리/릴리즈관리 기능을 수행한다. CVS(Concurrent Version System),
SVN(Subversion), Git 을 주로 이용한다.
Git
✓ 중앙시스템을 통한 형상관리를 하는 CVS, SVN과는 달리 Local과 Remote 두군데에서의 형상관리를 할 수 있음
✓ git의 사용자 인증방법
•SSH-based authentication
•Web-based authentication
SSH-based authentication
✓ 이를 사용하기 위해서는 사용자들에 대해서 SSH 아이디를 모두 발급하고, 상호간에 사용할 수 있도록 SSH key를 추가함으
로써 프로젝트를 공유할 수 있는 형태로 인증을 하게됨
✓ SSH 계정을 추가해주는 여러 취약점에 더 많이 노출될 가능성이 있음.
Web-Based Authentication
✓ Github, Gitlab, Gitblit 등 다양한 솔루션이 존재하지만, 우리는 Gitlab을 사용하고 있음.
✓ Gitlab은 Ruby on Rails로 개발되었음.
4
Procedures of the usages
Procedure
5
Install Git
Setting
Hostname
Create git
repository
Add
members
to the
project
Cloning git
repository
Commit
and push
source
codes
I. 사업 개요
6
1. Install git
2. Host setup
I. Setting up Environments
I. Introduction of OneM2M
Installing git command
on Windows
✓ https://git-scm.com/download/win
on Mac
✓ sudo port upgrade git
on Linux
✓ use package manager (apt-get, yum/dnf, pacman, emerge, etc.)
✓ https://git-scm.com/download/linux
7
Host setup
on *nix and Mac
✓ add hostname in /etc/hosts
on Windows
✓ Run cmd as administrator
8
$ sudo emacs /etc/hosts
164.125.68.157 git.artofthings.org
> notepad c:windowssystem32driversetchosts
164.125.68.157 git.artofthings.org
I. 사업 개요
9
1. Command line tools
I. Usage of Git
I. Introduction of OneM2M
testing on the command line
Cloning
Committing and pushing codes
pushing selected commit
10
$ git clone http://git.artofthings.org/hackartist/onem2m-
security.git
$ touch test.c
$ echo "//this is test for pushing" >> test.c
$ git add test.c
$ git commit test.c
add comments for the test
$ git push origin master
$ git log
$ git push origin {commit hash}:master
Useful commands
Logging and viewing commitments
11
$ git log
$ git log -p -2 #detail view
$ git log --pretty=format:"%h - %an, %ar : %s"
Options Descriptions
%H Commit hash
%h Abbreviated commit hash
%T Tree hash
%t Abbreviated tree hash
%P Parent hashes
%p Abbreviated parent hashes
%an Author name
%ar Author email
%ad Author date
%ar Author date, relative
Options Descriptions
%cn Committer name
%ce Committer email
%cd Committer date
%cr Committer date, relative
%s Subject
Using branches and GUI tools
Updating brach refs and heads
GUI tools
✓ on Windows, TortoiseGit
✓ on Mac OS X, GitX
12
$ git fetch
$ git checkout v0.1.0 #{branch name}
I. 사업 개요
13
1. Source code hierarchy
2. Management
I. Our Development
I. Introduction of OneM2M
Development Environments
Environments
✓ Oracle JDK 1.8
✓ IDE : JetBrain IntelliJ IDEA
✓ Gitlab
Git flow
14
masterdevelopfeature release hotfix
개발 메인새로운 기능/기능별 브랜치 릴리즈, 태그전 점검 버그
tag 0.1
tag 1.0
tag 1.1
tag
Source hierarchy and To-Do
Source Hierarchy
Server works
✓ Adding hostname will not be needed
✓ http will be changed to https
15
감사합니다감사합니다
Q & AQ & A

Weitere ähnliche Inhalte

Was ist angesagt?

[기초] GIT 교육 자료
[기초] GIT 교육 자료[기초] GIT 교육 자료
[기초] GIT 교육 자료JUNPIL PARK
 
이클립스로 GIT 사용하기
이클립스로 GIT 사용하기이클립스로 GIT 사용하기
이클립스로 GIT 사용하기우영 주
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1Hansol Kang
 
Go 1.설치와 세팅
Go 1.설치와 세팅Go 1.설치와 세팅
Go 1.설치와 세팅재봉 이
 
Eclipse git 튜토리알
Eclipse git 튜토리알Eclipse git 튜토리알
Eclipse git 튜토리알Mirinae, Inc.
 
Git + gitlab + sourcetree
Git + gitlab + sourcetreeGit + gitlab + sourcetree
Git + gitlab + sourcetree현우 고
 
Git+, Git 조금 더 배워보기
Git+, Git 조금 더 배워보기Git+, Git 조금 더 배워보기
Git+, Git 조금 더 배워보기현진 김
 
git 간단한 사용방법
git 간단한 사용방법git 간단한 사용방법
git 간단한 사용방법Oh Dongju
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드Insub Lee
 
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Hyunjun Roh
 
KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guidelinesangyun han
 
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2sangyun han
 
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀 Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀 주형 고
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubJunyoung Lee
 

Was ist angesagt? (20)

[기초] GIT 교육 자료
[기초] GIT 교육 자료[기초] GIT 교육 자료
[기초] GIT 교육 자료
 
이클립스로 GIT 사용하기
이클립스로 GIT 사용하기이클립스로 GIT 사용하기
이클립스로 GIT 사용하기
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1
 
go-qml
go-qmlgo-qml
go-qml
 
git-workflow
git-workflowgit-workflow
git-workflow
 
Go 1.설치와 세팅
Go 1.설치와 세팅Go 1.설치와 세팅
Go 1.설치와 세팅
 
Eclipse git 튜토리알
Eclipse git 튜토리알Eclipse git 튜토리알
Eclipse git 튜토리알
 
Git + gitlab + sourcetree
Git + gitlab + sourcetreeGit + gitlab + sourcetree
Git + gitlab + sourcetree
 
Git+, Git 조금 더 배워보기
Git+, Git 조금 더 배워보기Git+, Git 조금 더 배워보기
Git+, Git 조금 더 배워보기
 
git 간단한 사용방법
git 간단한 사용방법git 간단한 사용방법
git 간단한 사용방법
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드
 
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)
 
KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guideline
 
Git tutorials
Git tutorialsGit tutorials
Git tutorials
 
Git lecture1
Git lecture1Git lecture1
Git lecture1
 
Git lecture2
Git lecture2Git lecture2
Git lecture2
 
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2
 
Git 코드랩 스터디 2
Git 코드랩 스터디 2Git 코드랩 스터디 2
Git 코드랩 스터디 2
 
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀 Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
 

Andere mochten auch

Andere mochten auch (10)

Welcome back
Welcome backWelcome back
Welcome back
 
Wearable technology
Wearable technologyWearable technology
Wearable technology
 
Trend briefs security
Trend briefs securityTrend briefs security
Trend briefs security
 
Lgpl license
Lgpl licenseLgpl license
Lgpl license
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Dr Awad CV
Dr Awad CVDr Awad CV
Dr Awad CV
 
Lgpl license
Lgpl licenseLgpl license
Lgpl license
 
Decreto 1850 de 2002
Decreto 1850 de 2002Decreto 1850 de 2002
Decreto 1850 de 2002
 
Quantum computers
Quantum computersQuantum computers
Quantum computers
 
Joyería
JoyeríaJoyería
Joyería
 

Ähnlich wie Gitlab.key

Git Tutorial
Git TutorialGit Tutorial
Git TutorialMDLicht
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습BJ Jang
 
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1sangyun han
 
Git을 조금 더 알아보자!
Git을 조금 더 알아보자!Git을 조금 더 알아보자!
Git을 조금 더 알아보자!Young Kim
 
Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션Dabi Ahn
 
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장MinPa Lee
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Junyoung Lee
 
Open Source Mini Concert-Session 3-Tizen
Open Source Mini Concert-Session 3-TizenOpen Source Mini Concert-Session 3-Tizen
Open Source Mini Concert-Session 3-TizenYoonsoo Kim
 
How to contribute at OpenStack
How to contribute at OpenStackHow to contribute at OpenStack
How to contribute at OpenStackSK Telecom
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)Ildoo Kim
 
Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기영우 김
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
 
[NEXT 프연 Week1] Git 시작하기
[NEXT 프연 Week1] Git 시작하기[NEXT 프연 Week1] Git 시작하기
[NEXT 프연 Week1] Git 시작하기Young-Ho Cho
 
git, git flow
git, git flowgit, git flow
git, git floweva
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
 

Ähnlich wie Gitlab.key (20)

Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
 
Why use git
Why use gitWhy use git
Why use git
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
 
11. git basic
11. git basic11. git basic
11. git basic
 
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1
 
Git 기본
Git 기본Git 기본
Git 기본
 
Git을 조금 더 알아보자!
Git을 조금 더 알아보자!Git을 조금 더 알아보자!
Git을 조금 더 알아보자!
 
Gitflow ppt
Gitflow pptGitflow ppt
Gitflow ppt
 
Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션
 
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
 
Git basic
Git basicGit basic
Git basic
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)
 
Open Source Mini Concert-Session 3-Tizen
Open Source Mini Concert-Session 3-TizenOpen Source Mini Concert-Session 3-Tizen
Open Source Mini Concert-Session 3-Tizen
 
How to contribute at OpenStack
How to contribute at OpenStackHow to contribute at OpenStack
How to contribute at OpenStack
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)
 
Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
 
[NEXT 프연 Week1] Git 시작하기
[NEXT 프연 Week1] Git 시작하기[NEXT 프연 Week1] Git 시작하기
[NEXT 프연 Week1] Git 시작하기
 
git, git flow
git, git flowgit, git flow
git, git flow
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 

Mehr von Jongseok Choi

Hyperledger 구조 분석
Hyperledger 구조 분석Hyperledger 구조 분석
Hyperledger 구조 분석Jongseok Choi
 
Blockchain trends and research
Blockchain trends and researchBlockchain trends and research
Blockchain trends and researchJongseok Choi
 
Bitcoin and Ethereum
Bitcoin and EthereumBitcoin and Ethereum
Bitcoin and EthereumJongseok Choi
 
oneM2M security summary
oneM2M security summaryoneM2M security summary
oneM2M security summaryJongseok Choi
 
Case Study on Intelligent IoT Platform
Case Study on Intelligent IoT PlatformCase Study on Intelligent IoT Platform
Case Study on Intelligent IoT PlatformJongseok Choi
 
oneM2M Introduction and security
oneM2M Introduction and securityoneM2M Introduction and security
oneM2M Introduction and securityJongseok Choi
 
IoT Introduction and Security
IoT Introduction and SecurityIoT Introduction and Security
IoT Introduction and SecurityJongseok Choi
 
Basic of Exploitation
Basic of ExploitationBasic of Exploitation
Basic of ExploitationJongseok Choi
 
wordpress with nginx on virtualization, jail
wordpress with nginx on virtualization, jailwordpress with nginx on virtualization, jail
wordpress with nginx on virtualization, jailJongseok Choi
 

Mehr von Jongseok Choi (16)

Hyperledger 구조 분석
Hyperledger 구조 분석Hyperledger 구조 분석
Hyperledger 구조 분석
 
Blockchain trends and research
Blockchain trends and researchBlockchain trends and research
Blockchain trends and research
 
블록체인 개요
블록체인 개요블록체인 개요
블록체인 개요
 
Bitcoin and Ethereum
Bitcoin and EthereumBitcoin and Ethereum
Bitcoin and Ethereum
 
Effective Go
Effective GoEffective Go
Effective Go
 
oneM2M security summary
oneM2M security summaryoneM2M security summary
oneM2M security summary
 
Case Study on Intelligent IoT Platform
Case Study on Intelligent IoT PlatformCase Study on Intelligent IoT Platform
Case Study on Intelligent IoT Platform
 
oneM2M Introduction and security
oneM2M Introduction and securityoneM2M Introduction and security
oneM2M Introduction and security
 
IoT Introduction and Security
IoT Introduction and SecurityIoT Introduction and Security
IoT Introduction and Security
 
Usage of GDB
Usage of GDBUsage of GDB
Usage of GDB
 
Basic of Exploitation
Basic of ExploitationBasic of Exploitation
Basic of Exploitation
 
Web penetration
Web penetrationWeb penetration
Web penetration
 
Svn
SvnSvn
Svn
 
wordpress with nginx on virtualization, jail
wordpress with nginx on virtualization, jailwordpress with nginx on virtualization, jail
wordpress with nginx on virtualization, jail
 
Web hacking 개요
Web hacking 개요Web hacking 개요
Web hacking 개요
 
Forensic 2
Forensic 2Forensic 2
Forensic 2
 

Gitlab.key

  • 1. Gitlab 을 이용한 개발 시작 최종석 2016.03.08
  • 2. 목차 Gitlab for oneM2M Security Development 목차 I. Introduction of 
 Gitlab Introduction Procedure for the usage III. Usage of git command line II. Setting up Environment installing git host setup IV. Our 
 Development Source code hierarchy Management
  • 3. I. 사업 개요 3 1. Introduction of Gitlab 2. Procedures of the usage I. Introduction of Gitlab I. Introduction of OneM2M
  • 4. Introduction of Gitlab 소프트웨어 형상 관리 도구 ✓ 소프트웨어의 구현과정에서 변경관리/버전관리/릴리즈관리 기능을 수행한다. CVS(Concurrent Version System), SVN(Subversion), Git 을 주로 이용한다. Git ✓ 중앙시스템을 통한 형상관리를 하는 CVS, SVN과는 달리 Local과 Remote 두군데에서의 형상관리를 할 수 있음 ✓ git의 사용자 인증방법 •SSH-based authentication •Web-based authentication SSH-based authentication ✓ 이를 사용하기 위해서는 사용자들에 대해서 SSH 아이디를 모두 발급하고, 상호간에 사용할 수 있도록 SSH key를 추가함으 로써 프로젝트를 공유할 수 있는 형태로 인증을 하게됨 ✓ SSH 계정을 추가해주는 여러 취약점에 더 많이 노출될 가능성이 있음. Web-Based Authentication ✓ Github, Gitlab, Gitblit 등 다양한 솔루션이 존재하지만, 우리는 Gitlab을 사용하고 있음. ✓ Gitlab은 Ruby on Rails로 개발되었음. 4
  • 5. Procedures of the usages Procedure 5 Install Git Setting Hostname Create git repository Add members to the project Cloning git repository Commit and push source codes
  • 6. I. 사업 개요 6 1. Install git 2. Host setup I. Setting up Environments I. Introduction of OneM2M
  • 7. Installing git command on Windows ✓ https://git-scm.com/download/win on Mac ✓ sudo port upgrade git on Linux ✓ use package manager (apt-get, yum/dnf, pacman, emerge, etc.) ✓ https://git-scm.com/download/linux 7
  • 8. Host setup on *nix and Mac ✓ add hostname in /etc/hosts on Windows ✓ Run cmd as administrator 8 $ sudo emacs /etc/hosts 164.125.68.157 git.artofthings.org > notepad c:windowssystem32driversetchosts 164.125.68.157 git.artofthings.org
  • 9. I. 사업 개요 9 1. Command line tools I. Usage of Git I. Introduction of OneM2M
  • 10. testing on the command line Cloning Committing and pushing codes pushing selected commit 10 $ git clone http://git.artofthings.org/hackartist/onem2m- security.git $ touch test.c $ echo "//this is test for pushing" >> test.c $ git add test.c $ git commit test.c add comments for the test $ git push origin master $ git log $ git push origin {commit hash}:master
  • 11. Useful commands Logging and viewing commitments 11 $ git log $ git log -p -2 #detail view $ git log --pretty=format:"%h - %an, %ar : %s" Options Descriptions %H Commit hash %h Abbreviated commit hash %T Tree hash %t Abbreviated tree hash %P Parent hashes %p Abbreviated parent hashes %an Author name %ar Author email %ad Author date %ar Author date, relative Options Descriptions %cn Committer name %ce Committer email %cd Committer date %cr Committer date, relative %s Subject
  • 12. Using branches and GUI tools Updating brach refs and heads GUI tools ✓ on Windows, TortoiseGit ✓ on Mac OS X, GitX 12 $ git fetch $ git checkout v0.1.0 #{branch name}
  • 13. I. 사업 개요 13 1. Source code hierarchy 2. Management I. Our Development I. Introduction of OneM2M
  • 14. Development Environments Environments ✓ Oracle JDK 1.8 ✓ IDE : JetBrain IntelliJ IDEA ✓ Gitlab Git flow 14 masterdevelopfeature release hotfix 개발 메인새로운 기능/기능별 브랜치 릴리즈, 태그전 점검 버그 tag 0.1 tag 1.0 tag 1.1 tag
  • 15. Source hierarchy and To-Do Source Hierarchy Server works ✓ Adding hostname will not be needed ✓ http will be changed to https 15