GitLab의 자체 제작 웹 앱을 Docker 이미지를 빌드 할 때 clone

3015 단어 도커GitLab
자작 앱을 GitLab에서 빌드시 clone하는 Docker 이미지를 만들었습니다.
메모로 남겨주세요.

운영 환경



Windows10 Pro
GitLab

참고문헌



절차



GitLab의 내 계정에 대한 Token 받기



GitLab의 오른쪽 상단 메뉴에서 'Settings'를 누릅니다.


왼쪽 메뉴에서 "Access Token"을 누릅니다.


이름에 임의의 Token 이름을 입력하고 Scope api를 선택하고 Create personal access token을 누릅니다.


작성에 성공하면 Token이 표시되므로 삼가해 둡니다.


Docker 이미지 빌드



다음과 같이 Dockerfile을 만듭니다.

Dockerfile
# Nodeのexpressのアプリを入れたかったので、nodeのイメージを利用
FROM node:10.12

# 作業ディレクトリを指定
WORKDIR /src

# 作成者情報を記述
LABEL maintainer="y.matsumoto <[email protected]>"

# -Cオプションでcloneするディレクトリを明記。https://oauth2:[GitLabで取得したToken]@gitlab.com/[プロジェクト名]/[リポジトリ名].gitがURLの構文
RUN git -C / clone chat https://oauth2:[GitLabで取得したToken]@gitlab.com/[プロジェクト名]/[リポジトリ名].git

# expressの実行ファイル系がappディレクトリに入っているので作業ディレクトリにコピー
RUN cp -r /[リポジトリ名]/app/* /src

# clone後、不要なファイルを削除
RUN rm -rf /[リポジトリ名]

# 作業ディレクトリにアプリのpackage.jsonがコピーされているので、npm installがそのまま実行できる
RUN npm install

# コンテナを実行時、サーバが開始するように設定
CMD npm start

Dockerfile이 있는 디렉토리에서 다음 명령을 실행하여 빌드 및 컨테이너를 실행합니다.
docker image build . --tag [任意のタグ名]
docker container run -d -p 3000:3000 [指定したタグ名]

브라우저로 접속하면 문제없이 일어났습니다!


이상입니다.

빌드시에 자작의 앱의 최신판을 pull한 docker 이미지를 이번 작성했습니다만,
나중에 registry에 push하고, Kubernetes에서 pull해서 이용할 수 있는 형태를 목표로 해 가고 싶습니다.

만약 지적 등 있으면 꼭 부탁드립니다!

좋은 웹페이지 즐겨찾기