go cd란?
오픈소스이다! 그리고 Continuous Integration and Continuous Delivery system이다.
gocd는 gocd 서버와 gocd agent로 이루어져있다.
셋팅 시 자바기반이라 jdk가 필요하다.
그리고나서 go-server와 go-agent를 셋팅하면 된다.
셋팅 예제(CentOS기반)
1) 자바 설치
sudo yum install -y java-1.8.0-openjdk-devel.x86_64 # 자바 기반이라 자바 설치
2) go-server 설치
sudo yum install -y go-server # go-server 설치
sudo /etc/init.d/go-server start # goCD server start
3) go-agent 설치
sudo yum install -y go-agent
sudo /etc/init.d/go-agent start
사용법
8153포트(default)로 들어가면 젠킨스와 같이 관리 페이지가 나온다. 파이프라인을 만들수가 있다.
파이프라인
파이프라인은 여러개의 Stage로 구성된다. Stage1이 실패하면 2로 넘어가지 않는다.
아래의 그림처럼 파이프라인은 여러개의 스테이지로 구성, 스테이지는 Job을 구성한다.
Job들은 여러개의 Task로 구성된다.
스테이지
여러 Job을 구성. Job은 Stage내에서 독립적(병렬수행)으로 실행된다. Job은 독립적으로 수행되지만 하나의 Job이 실패하는 경우 그 Stage는 실패로 간주한다.
Job
여러 Task를 구성하며 Task들은 순서대로 실핸된다.
Task
파이프라인의 최하위 작업 개념이고 Shell Script를 실행하거나 실질적인 cmd를 수행한다.
Materials
파이프라인이 트리거되기 위한 조건이다.
(git, svn 등 동작 이후 파이프라인이 트리거되도록 설정 할 수 있다.)
간단하게 개념을 정리해 보았다.
더 나아가서 셋팅과 파이프라인을 만들어보면서 실력을 향상 시켜야하겠다.
끝~