gitlab cicd 를 이용해 프로젝트를 배포하려고 한다.
먼저 gitlab runner를 만들어주고
2021.11.02 - [공부/Git] - [Gitlab] gitlab runner 생성하기
gitlab 프로젝트에 Dockerfile 과 .gitlab-ci.yml 파일 두개를 만들어 준다.
현재 프로젝트는
spring + gradle + jar 로 배포할 것이다.
Dockerfile 에는 이미지 기본 환경을 세팅해준다.
FROM payneteasy/jdk-8
COPY ${JAR_FILE} app.jar
ENV JAVA_OPTS=""
ENV DOCKER_OPTS="--insecure-registry <IP>:35000"
ENTRYPOINT ["java","-jar","/app.jar"]
FROM 에 사용된 payneteasy/jdk-8 이미지는
도커에서 docker searc jdk 로 필요한 jdk 환경을 선택해주었다.
gitlab-ci.yml
variables:
IMAGE_NAME: <IP>:35000/<NAME>/<PROJECT_NAME>:$CI_PIPELINE_ID
# DOCKER_HOST: "tcp://172.17.0.1:2375"
before_script:
- export
stages:
# - test
- build
- deploy
build:
stage: package
image: docker:latest
services:
- docker:dind
stage: build
script:
# - ls -al
- docker login -u <ID> -p <PASSWORD> <IP>:35000
- docker build --tag $IMAGE_NAME .
- docker push $IMAGE_NAME
deploy:
stage: deploy
image: docker:latest
services:
- docker:dind
script:
# - docker container ls -a
- ID=$(docker ps -a --filter="name=build-$CI_PROJECT_NAME" -q) && [[ -n $ID ]] && docker stop $ID && docker rm $ID
- docker images && docker rmi
- docker run -itd --name build-$CI_PROJECT_NAME -p 35100:9009 $IMAGE_NAME
environment:
name: build
url: http://192.168.10.52:35100
only:
- master
반응형
'공부 > Git' 카테고리의 다른 글
[Jenkins] jenkins github 연결하기 (0) | 2022.05.25 |
---|---|
[github] Git Action 이용해서 티스토리 게시글 깃허브에 업로드하기 (0) | 2022.04.14 |
[Gitlab] gitlab runner 생성하기 (0) | 2021.11.02 |
git config 설정 (0) | 2021.09.14 |
[gitlab] clone url 도메인 변경 (외부 URL 구성) (0) | 2021.09.09 |