Runner는 yaml을 파일을 수행한다. 특정 프로젝트에 국한되거나, 여러 프로젝트에서 사용할 수 있도록 제공된다. 여기서 모든 여러 프로젝트에서 사용할 수 있는 Runner를 **Shared Runner**이라고 하며, 특정 프로젝트에 국한되서 사용되는 Runner를 **Specific Runner**라고 한다.
...
...
@@ -192,3 +192,8 @@ GitLAB의 pipeline을 보면, 다음과 같이 진행된 것을 확인할 수
Runner는 yaml을 파일을 수행한다. 특정 프로젝트에 국한되거나, 여러 프로젝트에서 사용할 수 있도록 제공된다. 여기서 모든 여러 프로젝트에서 사용할 수 있는 Runner를 **Shared Runner**이라고 하며, 특정 프로젝트에 국한되서 사용되는 Runner를 **Specific Runner**라고 한다.
홍쓰넷 컨테이너 배포에는 `Specific Runner`를 사용한다.
## Container Deploy Overview
-**STEP 1** : STAG 시스템에 먼저 Docker Image를 배포한 후 검증한다.
> 사전에 devel 브랜치로 checkout을 수행한다.
-**STEP 2** : STAG 시스템에서 검증이 완료되면, 다음과 같이 두 가지 Stage가 수행된다.
- First : **push** stag는 GitLAB의 Container Registry에 Container Image를 PUSH 한다.
- Second : **deploy** stag는 Docker Swarm Manager 서버에 Image 배포를 명령한다. 단, 모든 WORKER Node가 한 번에 업데이트되는 것이 아니라 한 대씩(**--update-parallelism 1**) 업데이트를 수행하게 된다.
## www.hongsnet.net **Dockerfile**
```bash
# cat Dockerfile
FROM registry.hongsnet.net/joohan.hong/docker/centos:7.6.1810
MAINTAINER Hongs <master@hongsnet.net>
ENV TZ=Asia/Seoul
RUN ln-snf /usr/share/zoneinfo/$TZ /etc/localtime &&echo$TZ> /etc/timezone &&\
yum -yinstall epel-release
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
RUN yum -yinstall glibc glibc-common freetype-devel libjpeg-devel openssl-devel net-tools vi vim iproute vsftpd wget postfix cronie crontabs supervisor