Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

jenkins setting

CM/Jenkins 2017.04.28 11:37
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



OS : CentOS 7.2



JDK : jdk8

명령어 : sudo yum install -y java-1.8.0-openjdk



Tomcat : 9

http://tomcat.apache.org/



Jenkins

War file : curl -L -O http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war

Tomcat 위치 : /apache-tomcat-9.0.0.M20/webapps 에 Jenkins.war를 배치! 그리고나서 톰캣을 기동 시킨다.


go (build target : go lang)

sudo yum install go


tomcatJenkins가 풀리면

http://localhost:8080/jenkins로 붙어서 좀 더 세부적인 셋팅을 하면 된다.




저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

jenkins setting  (0) 2017.04.28
Jenkins Overall/Read permission  (0) 2017.04.27
빌드&배포 시스템 구축  (0) 2017.04.25
젠킨스 빌드 오류  (0) 2015.01.16
Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

mesosphere

OpenSource 2017.04.28 11:36
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



https://mesosphere.github.io/marathon/



Marathon은 Mesosphere의 Datacenter Operating System (DC / OS) 및 Apache Mesos 용 프로덕션 급 컨테이너 오케스트레이션 플랫폼입니다.


특징

  • 고 가용성. Marathon은 100 % 가동 시간 동안 리더를 선출 한 액티브 / 패시브 클러스터로 실행됩니다.
  • 다중 컨테이너 런타임. Marathon은 Mesos 컨테이너 (cgroup 사용)와 Docker에 대한 first-class 지원을 제공합니다.
  • Stateful apps(상태 보존 형 앱). Marathon은 영구 저장소 볼륨을 응용 프로그램에 바인딩 할 수 있습니다. MySQL 및 Postgres와 같은 데이터베이스를 실행할 수 있으며 Mesos로 스토리지를 구성한다. 
  • 아름답고 강력한 UI.
  • 제약 조건. 예 : 랙, 노드 등 하나당 하나의 애플리케이션 인스턴스
  • 서비스 검색 및 로드 밸런싱. 몇 가지 방법을 사용할 수 있습니다.
  • Health Checks. HTTP 또는 TCP 검사를 사용하여 응용 프로그램의 상태를 평가.
  • Event Subscripton(이벤트 구독). HTTP 엔드 포인트에 통지를 수신하려면 - 예를 들어 외부 로드 밸런서와 통합.
  • 측정 항목. JSON 형식으로 / metrics에서 쿼리하거나 graphite, statsd 및 Datadog와 같은 시스템에 푸시.
  • 손쉬운 통합과 스크립트 작성을위한 완벽한 REST API 제공.
하다가 중단하게 되어 아쉽지만 여기까쥐..ㅜ.ㅜ.



저작자 표시 비영리 변경 금지
신고

'OpenSource' 카테고리의 다른 글

mac os에서 kafka-console-consumer 사용하기  (0) 2017.09.13
mesosphere  (0) 2017.04.28

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Jenkins Overall/Read permission

CM/Jenkins 2017.04.27 15:23
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


Jenkins Overall/Read permission


LDAP 설정하다가;; 전부 날아갔을 때!! 


Jenkins의 config.xml를 열어서 설정을 해주면 된다.

<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy"/> 이렇게 되어있는데
이것을 아래처럼 설정하면 잘되어진다 ㅎㅎ
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
<permission>hudson.model.Hudson.Administer:***Here is your username***</permission>
</authorizationStrategy>




저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

jenkins setting  (0) 2017.04.28
Jenkins Overall/Read permission  (0) 2017.04.27
빌드&배포 시스템 구축  (0) 2017.04.25
젠킨스 빌드 오류  (0) 2015.01.16
Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

about docker

CM/docker 2017.04.27 14:40
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


docker 란?

docker install 

docker 명령어

docker 오류



docker란?

참조 사이트 : 

https://www.slideshare.net/pyrasis/docker-docker-38286477

http://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/


docker install - CentOS 7 ver.

아래의 부분이 없으면 최신버전으로 install 되지 않는다.

sudo vi /etc/yum.repos.d/docker.repo   

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg 


sudo yum makecache fast # 레파지토리 캐시 만들기


sudo yum -y install docker-engine


docker 명령어

daemon 띄우기

  - sudo service docker restart 또는 sudo systemctl restart docker.service

  - 참고: http://stackoverflow.com/questions/35969721/run-docker-in-daemon-mode


동작 중인 컨테이너 확인

docker ps


정지된 컨테이너 확인

docker ps -a


컨테이너 삭제

docker rm [컨테이너 id]


현재 이미지 확인

docker images


이미지 삭제

docker rmi [이미지 id]


컨테이너 삭제 전에 이미지를 삭제할 경우

-f 옵션을 붙이면 컨테이너도 강제 삭제.

docker rmi -f [이미지id]



docker 오류

1. shim error: docker-runc not installed on system 발생.

해결책으로 sudo ln -s docker-runc-current docker-runc 수행. 그러나 역시 해결 X.


아래의 명령 수행 후 다시 셋팅 도오전..

sudo yum remove docker \                  

docker-common \                  

container-selinux \                  

docker-selinux \                  

docker-engine


2. Cannot connect to the Docker daemon. Is the docker daemon running on this host?

sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock & 로 하였으나 이방법 보다는 sudo service docker restart 이 방법이 더 나은것 같다.


3. docker 명령어를 수행하는데 있어서 뭔가 방화벽이 막혀있는것 처럼 보인다면..(CentOS 7 기준)

firewalld를 셋팅하여 포트를 설정하여 본다.

참고 :

https://www.lesstif.com/pages/viewpage.action?pageId=22053128

https://okky.kr/article/276568



저작자 표시 비영리 변경 금지
신고

'CM > docker' 카테고리의 다른 글

Docker ?  (0) 2017.06.27
about docker  (0) 2017.04.27

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

GOROOT와 GOPATH

Language/go lang 2017.04.27 13:42
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



https://github.com/golang/go/wiki/GOPATH


GOPATH 환경 변수는 Go 프로젝트 및 해당 바이너리 소스를 포함하는 $ GOROOT 외부의 디렉토리를 지정하는 데 사용됩니다.

GO Lang은 아래와 같은 구조로 강제성을 가진다.

terrypark@MacBook-Pro:~/go$ ll -rw-r--r--@ 1 terrypark staff 6148 4 26 13:41 .DS_Store drwxr-xr-x 19 terrypark staff 646 4 4 17:21 bin drwxr-xr-x 3 terrypark staff 102 2 2 11:13 pkg drwxr-xr-x 9 terrypark staff 306 3 2 14:20 src


/Users/terrypark/go/src/github.com/ace-t/test-code

위와 같이 go directory 아래는 src 즉, 소스부분이 된다.

go install 수행 시 bin에 바이너리가 만들어진다.


GOPATH부분은 아래를 보면 어디까지가 GOPATH인지 가늠할 수가 있다.


$GOPATH/src/code.google.com/p/gomatrix


ex) jenkins에서 go build 시

export GOPATH=$WORKSPACE/$BUILD_NUMBER

echo "build=>"+$GOPATH

cd $GOPATH/src/github..com/ace-t/xxxProject

glide install

go build

echo "go build end" 


IDE에서도 알수가 있는데 GOPATH와 GPROOT는 아래와 같다.



저작자 표시 비영리 변경 금지
신고

'Language > go lang' 카테고리의 다른 글

go lang - Map  (0) 2017.07.05
golang 정리  (0) 2017.05.18
GOROOT와 GOPATH  (0) 2017.04.27
go land에서 formatting 설정하기  (0) 2017.04.26
go lang Tip.  (0) 2017.02.15
go lang - fresh를 사용해 보자.  (0) 2017.02.15

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

go land에서 formatting 설정하기

Language/go lang 2017.04.26 18:57
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

go land에서 formatting 설정하기


1.  Preferences.. > Plugins 에서 File Watchers를 install 합니다.



2. File Watchers > gofmt 설정. go bin에 gofmt가 없다면 goimports로 해도 된다.

Arguments: -w $FilePath$


저작자 표시 비영리 변경 금지
신고

'Language > go lang' 카테고리의 다른 글

golang 정리  (0) 2017.05.18
GOROOT와 GOPATH  (0) 2017.04.27
go land에서 formatting 설정하기  (0) 2017.04.26
go lang Tip.  (0) 2017.02.15
go lang - fresh를 사용해 보자.  (0) 2017.02.15
go lang을 해보자.  (0) 2017.02.03

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Spring WebFlux

OpenSource/Spring 2017.04.26 17:40
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

toby님이 회사에 오셨다.
스프링캠프 2017을 등록 못해서 못갔는데 다행히 좋은 강의를 들을수 있어서 좋았다.

강의자료 : 

Spring WebFlux
 람다식 
 추가 : 구 Spring web reactive 
  •  용도
    • 서비스간 호출이 많은 마이크로서비스 아키텍처에 적합.
    • 비동기 - 논블럭킹 개발방식.
    • 성능을 뛰어나게 만들겠다.
  • 기존 @MVC 방식, 새로운 방식
  • 서블릿 스택과 api에서 탈피
  • 블록킹, 논블록킹
    • 동기, 비동기와는 관점이 다름.
    • 내가 직접 제어할 수 없는 대상을 상대하는 방법
    • 대상이 제한적임
      • IO
      • 멀티 쓰레드 동기화 
  • 함수형 스타일의 콜백 방식

스프링 웹
1. 요청 매핑
2. 요청 바인딩
3. 핸들러 실행
4. 핸들러 결과 처리(응답 생성)

WebFlux
  • Router Function - 1. 요청매핑 (.route())
    • 함수형 스타일 (람다식..)
  • Handler Function - 2,3,4

RouterFunction의 등록 -> @Bean으로 만든다.
and(), andRoute(), nest() 등의 유용 메소드들.
flatMap

장점
  • 모든 웹 요청 처리 작업을 명시적인 코드로 작성.
  • 어노테이션에 의존하는 @MVC 스타일보다 명확
  • 정확한 타입 체크 가능.
  • 함수 조합을 통한 편리한 구성, 추상화에 유리
  • 테스트 작성의 편리함.

단점
  • 함수형 스타일의 코드가 익숙치 않음.
  • 기존 방식 가능

섞어서 사용 가능.
@MVC 요청 바인딩 + return Mono/Flux 사용.

WebFlux와 리액티브 기술
블로킹 IO 사용 X

JPA - JDBC 기반 RDB 연결
현재는 노답. - 블로킹 메소드로 점철된 jdbc api
JDK 10에서 Async JDBC가 등장할 수도(빠른 시간내에 적용)
@Async (적절한 쓰레드풀을 사용)
단, MongoDB, Redis, CouchDB등 Async 가능.

Spring5 함수형 스타일..

ReactiveStreams
RxJava를 비롯한 다양한 리액티브 기수에 적용된 표준 인터페이스
자바9에 Flow api로 포함.

뭘 공부해야하나?
java8 + 함수형 프로그래밍에 익숙해질 것.
Completablefuture와 같은 비동기 작업의 조합, 결합에 뛰어난 툴에 사용법을 익힐 것.

ReactorCore 학습 

열심히 공부하자+ㅁ+ㅋㅋ


저작자 표시 비영리 변경 금지
신고

'OpenSource > Spring' 카테고리의 다른 글

Spring WebFlux  (0) 2017.04.26
ChainedTransactionManager를 이용한 글로벌트랜잭션  (0) 2013.08.22
Bug  (0) 2013.06.21
@Vaild 처리 시 주의 할 사항!!  (0) 2013.06.21
Spring jmsTemplate 사용하기  (0) 2013.03.26
HornetQ, JMS Client using Springframework and Maven  (0) 2013.03.22

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

빌드&배포 시스템 구축

CM/Jenkins 2017.04.25 18:46
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

환경

  • OS : CentOS 7.x
  • CI Tool : Jenkins
    • apache tomcat 9
    • jdk 8
  • Build Target : go lang
    • git setting
    • go sdk setting
    • glide setting
    • docker-client setting


============ show docker images =============
+ docker images
REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
/terry_park/vsc   v0.3              e1ad78d5741f        3 seconds ago       858MB
/terry_park/vsc   v0.2              384a8f1df578        6 minutes ago       858MB
/terry_park/vsc   v0.1              219d8bcc0779        3 hours ago         1.04GB
+ echo '============ docker push ================'
============ docker push ================
+ docker push /terry_park/vsc
The push refers to a repository [/terry_park/vsc]



ansible 작업은 pass~ 다른분이 작업! 아쉽게 mesos를 사용하려다가 사용하지 않는걸로..

저작자 표시 비영리 변경 금지
신고

'CM > Jenkins' 카테고리의 다른 글

jenkins setting  (0) 2017.04.28
Jenkins Overall/Read permission  (0) 2017.04.27
빌드&배포 시스템 구축  (0) 2017.04.25
젠킨스 빌드 오류  (0) 2015.01.16
Jenkins Setting  (0) 2015.01.15
[JIRA] 리눅스 커맨드 상에서 지라 컨트롤 하기!  (0) 2012.10.23

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

Apache Mesos

Architecture 2017.04.18 19:03
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


Mesos는?

  • 아파치 프로젝트(http://mesos.apache.org/)

  • 트위터, 에어비앤비, 미소스피어가 사용.

  • 기본적으로 Docker 지원.

  • 분산 시스템 커널.

  • 모든 머신에서 동작.

  • 실행 어플리케이션에 대해 리소스 관리와 스케줄링 api를 제공.

  • Mesosphere = Mesos + Marathon + Chrnons

    • Marathon : 작업(컨테이너) 관리 담당.

    • Chronos   : 작업 스케줄러.


  • Mesos 노드 추상화
    • Mesos의 노드들은 모든 Task에 대해 공유 된다.



  • Mesos 동작 구성도
    • Docker는 작업의 Type중 하나이다.
    • Zookeeper를 통해 HA를 구성한다.
    • Scheduler는 Chronos을 사용하거나, 직접 개발이 가능하다.



  • Mesos 구성도 1
    • Marathon은 PaaS플랫폼.
    • 향후 Kubernates(참고) 지원계획.


  • Mesos 구성도2
    • 하이브리드 Cloud 구성가능.
    • Batch 작업은 Chronos로 지원.


  • Mesos Framework
    • Meta-Frameworks / HA Services : Aurora, Marathon
    • Distributed Cron : Chronos
    • Contailners : Docker
    • Continuous Integration : Jenkins, GitLab, GoCD
    • Big Data : Hadoop, Spark, Storm, Kafka, Cassandra, Hypertable, MPI
    • Python workloads : DPark, Exelixi






  • Mesos Architecture





위 그림은 Mesos의 주요 구성 요소를 보여줍니다.

Mesos는 각 클러스터 노드에서 실행되는 에이전트 데몬을 관리하는 마스터 데몬과 이러한 에이전트에서 Task를 실행하는

Mesos 프레임워크로 구성됩니다. 마스터는 리소스 제공을 통해 프레임 워크 전반에서 리소스 (CPU, RAM, ...)를 세밀하게 공유 할 수있게합니다.

각 리소스 오퍼에는 <agent ID, resource1 : amount1, resource2 : amount2, ...> 목록이 포함되어 있습니다

(참고 : 키워드 'slave'는 'agent'를 사용하지 않으므로 드라이버 기반 프레임 워크는 여전히 슬레이브 ID, v1 HTTP API를 사용하는 프레임 워크는 에이전트 ID가있는 오퍼를받습니다.)

마스터는 공정한 공유 또는 엄격한 우선 순위와 같이 주어진 조직 정책에 따라 각 프레임 워크에 제공 할 리소스의 수를 결정합니다.

다양한 정책을 지원하기 위해 마스터는 플러그인 메커니즘을 통해 새로운 할당 모듈을 쉽게 추가 할 수있는 모듈 식 아키텍처를 사용합니다.

Mesos에서 실행되는 프레임 워크는 리소스를 제공 받기 위해 마스터에 등록하는 스케줄러와 프레임 워크의 작업을 실행하기 위해 에이전트 노드에서 실행되는 executor 프로세스로 구성됩니다.

(프레임 워크 스케줄러 및 executors 의 더욱 더 자세한 내용은 App / Framework 개발 가이드 참조 )


마스터가 각 프레임 워크에 제공되는 리소스 수를 결정하는 동안 프레임 워크의 스케줄러는 제공된 리소스 중에서 사용할 리소스를 선택합니다. 프레임 워크가 제공된 자원을 받아들이면 프레임 워크에서 실행하려는 작업에 대한 설명을 Mesos로 전달합니다.

다음 step으로 Mesos는 해당 에이전트에서 Task를 시작합니다.





그림의 이벤트를 살펴 봅시다. 1 . 에이전트 1은 4 개의 CPU와 4GB의 메모리가 있음을 마스터에게보고합니다.

그런 다음 마스터는 할당 정책 모듈을 호출하여 프레임 워크 1에 사용 가능한 모든 리소스가 제공되어야 함을 알립니다.

2. 마스터는 에이전트 1에서 사용할 수있는 것을 프레임 워크 1에 설명하는 리소스 오퍼를 보냅니다. 3. 프레임 워크의 스케줄러는 첫 번째 작업에는 <2 CPU, 1GB RAM>, 두 번째 작업에는 <1 CPU, 2GB RAM>을 사용하여 에이전트에서 실행할 두 가지 작업에 대한 정보로 마스터에 응답합니다. 4. 마지막으로, 마스터는 작업을 에이전트로 보냅니다. 에이전트는 프레임 워크의 executor에게 적절한 자원을 할당하고 두 가지 작업 (그림에서 점선으로 표시)을 시작합니다. CPU 1 개와 RAM 1 개가 아직 할당되지 않았기 때문에 할당 모듈은 프레임 워크 2에 할당 할 수 있습니다. 또한 이 리소스 제공 프로세스는 작업이 완료되고 새 리소스가 해제 될 때 반복됩니다.

Mesos가 제공하는 thin 인터페이스는 확장이 가능하고 프레임 워크가 독립적으로 진화 할 수있게 해주지만 한 가지 질문이 남아 있습니다 : Mesos가 이러한 제약 조건을 안다면 프레임 워크의 제약 조건을 어떻게 만족시킬 수 있습니까?

예를 들어 프레임 워크가 프레임 워크에서 요구하는 데이터를 저장하는 노드를 알면 Mesos없이 어떻게 데이터 지역성을 얻을 수 있습니까?

Mesos는 단순히 프레임 워크에 오퍼를 거부 할 수있는 기능을 부여하여 이러한 질문에 답합니다.

프레임 워크는 제약 조건을 충족시키지 못하는 제안을 거부하고 이를 수용합니다.

특히 프레임 워크가 제한된 시간 동안 입력 데이터를 저장하는 노드를 확보하기 위해 대기하는 지연 스케줄링이라는 간단한 정책이 거의 최적의 데이터 지역을 산출한다는 것을 알게 되었습니다.


출처 : https://www.slideshare.net/songaal/paa-s-mesosmesosphere

        http://mesos.apache.org/

         https://abhishek-tiwari.com/post/building-distributed-systems-with-mesos



저작자 표시 비영리 변경 금지
신고

'Architecture' 카테고리의 다른 글

Apache Mesos  (0) 2017.04.18
아키텍트 지침 15가지!!  (0) 2012.09.14
CBD방법론  (0) 2012.06.04

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

패킷 분석을 위한 툴 - wireshark

network 2017.04.18 18:13
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

https://www.wireshark.org/download.html




wire shark 

이녀석은 네트워크 분석 툴이다.

걍 클릭신공으로 셋팅한 뒤..아래와 같이 Capture > Options...를 통해서 start 시켜주면 된다.


혹은 아래와 같이 검정 버튼을 눌러도 된다.


아래처럼 선택 후 start를 클릭!!





가장 간단한 내용이다.

패킷을 분석할 때 매우 유용한 툴임에 틀림없다!


더욱 더 알고 싶다면 http://search.daum.net/search?w=tot&DA=UME&t__nil_searchbox=suggest&sug=&sugo=5&sq=wire+shark&o=2&q=wireshark+%EC%82%AC%EC%9A%A9%EB%B2%95


를 클릭!!


  - 끝 -



저작자 표시 비영리 변경 금지
신고

'network' 카테고리의 다른 글

패킷 분석을 위한 툴 - wireshark  (0) 2017.04.18

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바