기본 콘텐츠로 건너뛰기

Eclipse Che with CentOS7

Eclipse che with CENTOS 7


[Eclipse Che 논리 구조]

요구사항 : JAVA, Docker 1.12.5+ 이상 설치된 서버

-- Docker 설치 --
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum makecache fast
$ sudo yum install docker-ce
$ yum list docker-ce.x86_64  --showduplicates |sort -r
$ sudo systemctl start docker
$ sudo docker run hello-world

-- Eclipse che 설치 --
# docker run -it eclipse/che start
# docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /c/tmp:/data eclipse/che start --fast
실행이 완료 되면 http://[나의 아이피]:8080 으로 접속
// 서버에서 보이는 아이피로 접근해야 접속이 가능함(Openstack 유동아이피를 붙여서 사용하면 에러 발생)
[root@bigdata-lim templates]# docker ps
CONTAINER ID   IMAGE  COMMAND  CREATED    STATUS        PORTS    NAMES
400753247f33  eclipse/che-server:5.10.0  "/entrypoint.sh" 18 hours ago      Up 18 hours    8000/tcp, 0.0.0.0:8080->8080/tcp   che
Eclipse Che Docker
접속을 하게 되면 아래의 화면을 볼 수 있다.

처음 생성하였기 때문에 workspace를 생성하라는 페이지다.
Create 버튼을 누르게 되면

Workspace 생성을 하고 대기를 하면 Web IDE 화면이 나온다
서버는 Workspace 개수 만큼  서버의 Docker에서 새로운 Container를 생성한다.


화살표에 나오는 build and run 을 하게 되면 Tomcat이 구동 되고 아래 console 창으로 볼 수 있다. 구동이 완료되면 아래의 preview : http://[주소] 를 클릭하게 되면 테스트 할 수 있다


Eclipse che 설치된 서버에서 Docker 명령어로 해당 Workspace Container에 들어가게 되면 /projects 에 사용중인 언어의 프로젝트파일이 있다. /projects 폴더는 Workspace Container Image commit 을 할 때 반영되지 않는다.

war 생성 경로
위의 project를 실행 하게 되면 /tmp/instance/data/workspaces/[워크스페이스이름]/[프로젝트이름]/target/[프로젝트 이름]-1.0-SNAPSHOT.war

-- 기본 제공 Stack --
기본 제공 Stack 을 사용하려면 Docker image pull Docker image가 있어야 한다.
인터넷이 제공되지 않는 환경에서는 Docker image를 직접 넣어줘야 한다.

Reporting

개발환경

기본적으로 Web에서 사용하는 명령어 빼고 일반적인 Eclipse 단축키들을 사용 할 수 있다.
웹 환경에서 사용 하기 때문에 어디서든 접속해서 개발 할 수 있다.
Web IDE 화면에 단축키 명시되어 있어도 잘 적용이 안된다.

Eclipse Eclipse Che 의 차이점, 불가능한 점

Project Explorer 에서 Drag & Drop 기능이 없다.

Local -> Che Remote 수정 작업

Local에 있는 war , jar 파일을 Eclipse Che Web IDE로 옮길 때 수정해야 할 사항은 어렵지 않다.

Service 수준의 Size?

Docker에 여러 개의 Che를 띄울 수 있다. 여러 개의 컨테이너를 띄우기 위해서는 3가지 항목에 충족되어야 한다. 1. 포트 , 2. 컨테이너이름, 3.Data 폴더
아직까지는 kubernetes 를 공식적으로 지원하지 않는다.


권한 관리

Eclipse Che 는 여러 사용자가 동일한 서버에 액세스 할 수 있지만 키와 토큰을 포함하여 동일한 프로파일을 공유하는 단일 ID 시스템이다.
권한 관리를 하려면 Codenvy 처럼 엔터프라이즈 오퍼링을 구축하여 멀티 유저, 멀티 테넌시를 사용해야 한다.




참고 자료


https://github.com/eclipse/che/wiki/Development-Workflow

최신버전 : https://www.eclipse.org/che/docs/6/che/docs/quick-start.html

댓글

이 블로그의 인기 게시물

Message Queue 란 무엇인가

Message Queue 란 무엇인가?? 메시지 지향 미들웨어(Meesage Oriented Middleware: MOM)은 비동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터 송수신을 의미 MOM을 구현한 시스템을 메시지 큐(MessageQueue: MQ)라 함 Producer(sender) 가 메시지를 큐에 전송하면 Consumer(receiver) 가 처리하는 방식으로, producer 와 consumer 에 message 프로세스가 추가되는 것이 특징 메시지 큐의 장점 비동기(Asynchronous): Queue에 넣기 때문에 나중에 처리할 수 있습니다. 비동조(Decoupling): 애츨리케이션과 분리할 수 있습니다. 탄력성(Resilience): 일부가 실패 시 전체에 영향을 받지 않습니다. 과잉(Redundancy): 실패할 경우 재실행 가능합니다. 보증(Guarantees): 작업이 처리된걸 확인할 수 있습니다. 확장성(Scalable): 다수의 프로세스들이 큐에 메시지를 보낼 수 있습니다. 메시지 큐 종류 Apache ActiveMQ, Apache Kafka, Apache Qpid, Apache RocketMQ, Beanstalkd, Enduro/X, HTTPSQS, JBoss Messaging, JORAM, RabbitMQ, Sun Open Message Queue, and Tarantool 등 Apache ActiveMQ Java Message Service (JMS)를 사용하는 오픈소스 MQ Java, C, C ++, C #, Ruby, Perl, Python, PHP 등 다양한 크로스 언어 클라이언트 및 프로토콜 지원 Spring 지원으로 Spring xml config 메커니즘 이용 가능 JDBC 지원으로 DB 높은 퍼포먼스 가능 높은 퍼포먼스를 위해 클러스터링 구성 가능 Restful API 제공 단 모니터링 도구제공하지 않음 ...