시작하기 전에 hipchat, jenkins 계정은 모두 있다고 가정하고 설명합니다.

Hipchat

먼저 방을 생성한 다음, ... 버튼을 눌러 Integrations를 누른 후 Install new integrations를 선택합니다.



다음 Build your own integration 버튼을 클릭합니다.



다음 적당한 별칭 (bot의 이름)을 정해줍니다. 여기선 Deployment Bot이라 생성했습니다. (아래 스크린샷과 다름..)



Create버튼을 누르면 아래와 같은 화면과 


Send messages to this room by posting to this URL의 값이 있는데 여기서 room/252352 와 같이 room 번호와 auth_token=Hcr8hO8Hihoph8P 와 같은 api tocken을 따로 저장해둡니다. (jenkins에 등록할 때 필요함)


Jenkins



Jenkins > Credentials > System > Add Credentials을 눌러 아래와 같은 화면에서 Secret text를 선택한 후, Scope에 아까 적어놓은 api tocken을 붙여 넣습니다. id와 description은 jenkins에서 확인하는 용도로 아무 이름이나 지으면 됩니다.



다음 젠킨스 잡을 생성한 다음 '빌드 후 조치' 탭에서 HipChat notifications를 선택해 활성화 시킵니다.



마지막으로 Credentials부분에 아까 설정한 Credentials을 선택하고 미리 저장해놓은 프로젝트 방번호를 입력합니다.  다음 아래와 같이 언제 HipChat notifications을 발생할 지를 선택해주면 끝입니다.

'저장소' 카테고리의 다른 글

Jenkins - Hipchat 연동  (0) 2017.10.16
SourceTree 설치방법 및 용어  (0) 2016.07.08

http://blog.appkr.kr/learn-n-think/comparing-workflows/

'저장소 > gitlab' 카테고리의 다른 글

(펌) Git을 이용한 협업 워크플로우 배우기  (0) 2017.03.08
README.md  (0) 2016.12.26
[docker] gitlab 설치하기  (0) 2016.09.24

README.md 파일은 git, github 등과 같이 저장소에서 많이 본 파일입니다. 해당 파일은 소스코드에 앞서 어떠한 목적으로 개발이 되었는지, 코드의 개요, 구조도 등을 처음 사람들에게 노출함으로써 해당 프로젝트에 대해 설명을 합니다.

여기서는 여러형태의 리드미 파일을 전부 다루는 것이 아닌 현재 사용중인 gitlab의 README.md파일을 위주로 필요성 및 문법을 설명하도록 하겠습니다.

리드미(readme)란?


리드미 (README, readme, read me) 파일은 디렉토리나 압축 파일에 포함된 기타 파일에 대한 정보를 가지고 있으며, 일반적으로 소트프웨어와 함께 배포됩니다. 또한 현재 git과 같은 저장소에서도 해당 파일을 default로 생성하여 해당 저장소에 대한 설명을 기입하도록 하고 있습니다.

리드미의 파일 형태는 README.TXT, README.md, README.1ST, README.DOC READ.ME 또는 간단히 README 등 많은 파일 명과 확장자 형태를 가지고 있습니다.


리드미 (README의 다양한 형태를 여기서는 '리드미'로 부르겠습니다.)는 다음 중 하나 이상의 정보를 포함합니다.

  • 컴퓨터 구성 안내
  • 설치 안내
  • 사용법
  • 파일 메니페스트 (파일 목록 포함)
  • 저작권 및 사용권 정보
  • 배포자 및 프로그래머의 연락처 정보
  • 알려진 버그
  • 트러블슈팅
  • 크레딧
  • 체인지로그


위에 나열한 목록 이외의 정보를 포함할 수 있습니다. 또한 오픈소스 배포판을 일반적으로 아래와 같은 표준 집합의 리드미 파일들을 포함합니다.


README일반 정보
AUTHORS제작 정보
THANKS도와주신 분들에 대한 정보
ChangeLog프로그래머들이 참고 할 수 있는 자세한 체인지로그
NEWS사용자들이 참고할 수 있는 기본적인 체인지로그
INSTALL설치 안내
COPYING/LICENSE저작권 및 사용권 정보
BUGS알려진 버그 및 새로운 버그 보고 방법 안내

리드미 파일로 해당 프로젝트의 버젼, 이전버젼과 변경된 사항들, 파일 목록, 시스템 구조도 등을 작성하여 사용자들이 특이 사항들을 바로 확인 할 수 있도록 합니다.

리드미(readme)작성법


readme작성은 사실 사용자 마음대로 작성해도 되지만 Markdown 문법에 맞게 작성하면 html과 같이 더 멋지게 꾸밀 수 있습니다.

마크다운 소개 

마크다운(Markdown)은 일종의 마크업 언어로 텍스트에 태그를 이용해서 글자를 굵게 하거나, 이미지를 삽입하거나 하는 일이 가능합니다. 엔하위키에 글을 쓸 때 위키 언어를 이용해서 글을 써야하는데, 마크다운 언어는 그 위키 언어와 상당히 유사하다고 할 수 있습니다. 하지만 마크다운은 위키문법보다 훨씬 더 간단하므로 익히는데 그리 긴 시간이 필요하지 않다는 장점을 가지고 있습니다.

요즘 마크다운은 아주 여러 곳에서 사용되고 있습니다. 이제 워드프레스에서는 기본적으로 마크다운을 지원하기 시작했고, Tumblr나 Ghost와 같은 블로그 플랫폼에서도 마크다운 언어를 기본적으로 지원하고 있습니다. 그리고 심지어는 그누보드나 XE에도 마크다운을 쓸 수 있는 플러그인이 있어서 그 플러그인을 설치하면 그누보드나 XE에서 글을 쓸 때, 마크다운을 이용하는 것이 가능합니다.

마크다운의 장단점

장점

  • 읽기 쉽다.
    마크다운은 다른 마크업 언어에 비해 훨씬 알아보기 쉽습니다. 제목은 앞에 #을 붙여주면 되고, 글자를 강조하려면 글자 주위를 **으로 감싸주면 됩니다. HTML로 글을 쓸 때는, 그 글이 실제로 브라우저에 어떻게 보여질지 상상하는 것이 꽤 어려운 일이었다면 마크다운으로 쓴 텍스트는, 텍스트만으로 그 글이 브라우저에서 어떻게 보여질지 쉽게 상상할 수 있습니다.
  • 익히기 쉽다
    마크다운은 상당히 간단합니다. John Gruber가 처음에 마크다운을 만들었을 때, 사람들이 가장 많이 사용하는 기능만을 마크다운으로 쓰고, 복잡한 것은 HTML로 쓰도록 디자인했기 때문입니다. 그래서 비록 몇가지 제한이 있기는 하지만 마크다운으로 글을 쓸 때, 중간에 HTML을 그대로 써도 상관 없습니다.
  • 모바일 친화적이다
    요즘 모바일을 통해서 글을 쓰고 올리는 경우가 상당히 많아졌습니다. 그런데, 모바일로 서식이 들어간 글을 쓰는 것은 상당히 불편하다. 특히 모바일에서는 에디터가 제대로 작동하지 않는 경우도 있고, 작동하더라도 작은 화면때문에 에디터를 통해서 글을 작성하는 것이 상당히 불편한 경우가 많습니다. 하지만 마크다운을 이용해서 글을 쓰면 간단한 태그만으로 쉽게 서식을 넣을 수 있어서, 위지윅 에디터를 사용하는 것보다는 훨씬 편리합니다.

단점

  • 문법이 너무 단순하다
    문법이 너무 단순해서 그 기능을 벗어나려고 할 때는 결국 HTML을 써야하는 경우가 생깁니다. 예를 들어, 마크다운에는 이미지를 정렬하는 문법이 없습니다. 따라서 이미지를 정렬하려면 HTML의 img 태그를 써야합니다. 또한 태그에 클래스 지정등이 불가능하기 때문에, 클래스나 id를 지정하려면 역시 HTML을 써야합니다.
  • 확장 문법이 많다
    이것은 첫 번째 단점 때문에 발생한 문제라고 볼 수 있습니다. 문법이 너무 단순하기 때문에 그 불편함을 해소하기 위해서 여러가지 확장 문법들이 생기기 시작했고, 그런 파편화 때문에 한 곳에서 잘 작동하는 마크다운 문서가 다른 곳에서는 잘 작동하지 않는 현상이 생기기도 합니다.
  • 멀티미디어 삽입이 불편하다
    위지윅 에디터에서 이미지를 삽입할 때는, 보통 이미지 업로드 버튼을 이용해서 이미지를 삽입합니다. 하지만 마크다운은 그저 텍스트만 입력 가능하기 때문에, 이미지를 삽입하는 것과 이미지를 업로드하고, 그 주소를 따오는 과정들이 모두 분리되어 있습니다. 그래서 마크다운을 이용해서 블로그의 글을 작성할 때 가장 불편한 것이 바로 이미지를 삽입할 때입니다. 하지만 유튜브 등의 외부 동영상을 삽입할 때는 위지윅 에디터를 쓰는 것과 크게 다르지 않습니다.

마크다운 문법

제목

# 을 하나 쓰면 HTML의 <H1> 태그이고 #을 2개쓰면 <H2> 태그를 의미합니다. #은 총 6개까지 사용할 수 있고 #이 늘어날 때 마다 글씨가 작아집니다.

# 제목
## 부제목
### 소제목

번호가 없는 리스트

* 목록 
* 목록 1
- 다른 목록
- 다른 목록 1
+ 다른 목록 3

번호가 있는 리스트

1 첫 번쨰
2 두 번째
3 세 번째
5 다섯 번째
4 여섯 번째 

반드시 숫자를 맞춰 사용할 필요는 없습니다.

기울여진 글씨

*텍스트*
OR
_텍스트_

굵은 글씨

**텍스트**
OR
__텍스트__

인용

> 텍스트

인용문안에 인용문을 또 사용하려면 >을 추가하면 됩니다.

인라인 링크

[텍스트](링크주소)

참조링크

[텍스트][참조명]
 
[참조명]: 링크주소

이미지

![텍스트](이미지링크)

수평선

_, *, - 을 3개 이상씩 나열
 
---
***
___

코드

\`코드 내용\`

코드블럭

앞에 공백 4개 이상 삽입


'저장소 > gitlab' 카테고리의 다른 글

(펌) Git을 이용한 협업 워크플로우 배우기  (0) 2017.03.08
README.md  (0) 2016.12.26
[docker] gitlab 설치하기  (0) 2016.09.24

gitlab 이미지 설치

$ docker pull gitlab/gitlab-ce

gitlab 이미지 실행

sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 443:443 --publish 80:80 --publish 22:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest


'저장소 > gitlab' 카테고리의 다른 글

(펌) Git을 이용한 협업 워크플로우 배우기  (0) 2017.03.08
README.md  (0) 2016.12.26
[docker] gitlab 설치하기  (0) 2016.09.24

공통

1. https://www.sourcetreeapp.com/ 에서 SourceTree 다운로드 후 실행

2. 실행 도중 Atlassian의 계정이 없을 경우, Atlassian 생성

3. 가입한 계정 또는 기존 존재하는 계정으로 이메일 인증

4. Remotes 부분 건너뛰기

5. SSH 키 불러오기 아니요 선택

Windows

6. 컴퓨터에 git이 설치되어 있지 않을 경우 ( SourceTree가 git을 찾지 못할 경우) git 설치에 대한 4개의 선택지 존재

  • 단일 내장 Source Tree용 Git 설치

7. Mercurial이 설치되어 있지 않을 경우 Mercurial설치에 대한 4개의 선택지 존재

  • 첫 번째 선택

8. 설치 완료



10. 복제 / 생성 아이콘 클릭 후, 소스 경로에 clone받을 git 주소 입력

11. 유효한 경로일 경우, 로그인 창 팝업

12. 클론 선택 이후 본인에 맞는 브랜치를 따온 후 작업 시작.

Mac

6. 윈도우와 설치방법이 크게 다르진 않으나 git이나 mercurial의 추가 설치가 없습니다.

용어


복제 / 생성 : git 저장소를 새로 생성 및 복제를 할 수 있음

커밋 : 본인이 작업한 내용을 로컬 저장소에 반영

  • 커밋을 진행하지 않고선 풀, 푸시 및 다른 브랜치로 이동할 수 없음

스태시 : 간단하게 말해 임시 저장소. 본인이 작업하던 내용을 커밋하지 않고 스태시에 저장할 수 있음

  • 스태시에 저장하면 커밋해야 되는 (업데이트된 내용들)이 전부 임시 저장되어 사라짐

푸시 : 본인이 로컬저장소에 커밋한 내용들을 원격 저장소 (서버)에 반영

페치 : 원격 저장소에 있는 내용을 로컬 저장소로 가져오는 작업 ( 가져오기만 하고 병합은 진행 x)

병합 : 로컬 저장소에서 두 개의 코드들을 병합

브랜치 : 새로운 브랜치를 생성 및 삭제

 : 원격 저장소에 업데이트 데이터들을 내려받음

  • 만약 가져오기 위한 원격 브랜치를 본인의 브랜치가 아닌 다른 브랜치를 선택할 경우, fetch + merge가 한번에 이뤄짐

설정 : 원격저장소의 경로를 추가, 편집, 제거할 수 있음

'저장소' 카테고리의 다른 글

Jenkins - Hipchat 연동  (0) 2017.10.16
SourceTree 설치방법 및 용어  (0) 2016.07.08

bower는 트위터에서 만든 프론트앤드용 패키지 매니저 입니다. bower는 node.js로 만들어진 도구이므로 npm을 이용해서 설치하고 커맨드라인 명령어로 사용합니다. npm과 pypi와 마찬가지로 지금부터 private하게 구축하는 방법을 설명하겠습니다.

private-bower 설치


아래 명령어로 bower 이미지를 다운받습니다.

 $ docker pull tandrup/private-bower

빠른 시작

$  docker run -e ADDRESS=ip주소 -i -t -d -v /home/bower:/data -p 5678:5678 -p 6789:6789 -p 7891:7891 --name bower tandrup/private-bower


모든 데이터는 /home/bower에 저장되며 컨테이너 내의 /data 공유합니다.

5678 포트는 bower registry를 나타내고 6789는 git cache, 7891은 svn cache 포트를 나타냅니다.

private-bower에 패키지 업로드


url에 http://위에서 지정한 주소:5678로 들어가면 다음과 같은 화면을 볼 수 있습니다.


+를 눌러 url에서 패키지를 업로드할 수 있습니다.


private bower는 pypi와 다르게 서버에 직접 패키지를 관리하는 것이 아닌 저장소는 git에서 따로 관리하고 git 주소를 관리하는 툴입니다. (public bower도 동일)


여기서 private-bower 자체 문제가 있어 불안정 합니다.


package url은 http://나 git:// 또는 https://로 입력해야 다음과 같은 화면을 볼 수 있습니다.



POST를 사용해 등록을 할 수 있다고 나와 있지만 (https://github.com/Hacklone/private-bower/blob/master/README.md) POST로 url을 입력해도 url이 들어가지 않아 에러가 나며, 명령어로 실행하는 방법이 존재하지 않습니다.

'저장소 > BOWER' 카테고리의 다른 글

BOWER  (0) 2016.05.21

+ Random Posts