๐ ์๋๋ฐฐํฌ ์คํฌ๋ฆฝํธ ๋น๋
์๋ ๋น๋๊ฐ ์ ํ์ํ๊ฐ?
์ง๊ธ๊น์ง ์์ ์ฌํญ์ด ์์ผ๋ฉด ์์ , ์ถ๊ฐํ๊ณ gradle ๋น๋ ์งํํ๋ ๊ณผ์ ์ ํตํ๋๋ฐ ๊ทธ๊ฒ์ ์คํฌ๋ฆฝํธ๋ฅผ ํตํด GitLab Merge๊ฐ ์งํ๋๋ฉด ๋์ปค์ ์๋์ผ๋ก ๋ก๊ทธ์ธ, ๋น๋, ํธ์๊น์ง ์งํ์ด ๋๋๋ก ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด์ pipeline์ ์์ฑํด ๋๋ค.
1. Settings - CI/CD ์ธํ ํ๊ธฐ
- settings > CI/CD
- ์๋ ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉ๋ ๋ณ์ซ๊ฐ์ ๋ฏธ๋ฆฌ ์ค์
- ์ค์ ํ๋ ๋ฐฉ๋ฒ
GITLAB_USER๋
@kahyeonlee์์ @ ์ ์ธํ๊ณ ์์ฑGITLAB_password๋
gitlab ๋ก๊ทธ์ธ ์ ๋น๋ฐ๋ฒํธ ์ฌ์ฉ (์๋ฌธ+์ซ์๊ฐ ์ธ์ ์๋จ)PROJECT_NAME
๋ ์ด ํ๋ก์ ํธ์ ์ด๋ฆ
๐์ฃผ์์ฌํญ
Mask variable์ ์ฒดํฌํด์ผ์ง ๋น๋ฐ๋ฒํธ ๊ฐ์ ์ ๋ณด๊ฐ ์คํ๋ ๋ ์ ์ถ์ด ์๋๋ค.
2. ์๋ ๋ฐฐํฌ ์คํฌ๋ฆฝํธ ์์ฑ
- CI/CD > Editor ์ด๋
- ํ์ผ ๋ด์ Dockerfile ํฌํจ๋์ด ์์ ๋ ์ฌ์ฉ
# stage → ๋จ๊ณ
stages:
- dockerbuild-push
package:
only:
- main
image: docker:latest
stage: dockerbuild-push
services:
- docker:dind
before_script:
- docker login registry.gitlab.com -u $GITLAB_USER -p $GITLAB_PASSWORD
script:
- docker build -t registry.gitlab.com/$GITLAB_USER/$PROJECT_NAME .
- docker push registry.gitlab.com/$GITLAB_USER/$PROJECT_NAME
after_script:
- docker logout
- ์์ ์คํฌ๋ฆฝํธ ๋ณต์ฌํด์ ๋ถ์ฌ ๋ฃ๊ธฐ
- CI/CD > Pipelines ์ด๋
- pass ๋์๋์ง ํ์ธ
3. container Registry ํ์ธํ๊ธฐ
๐ Docker๋ก ๋ฐฐํฌ
1. docker pull < Registry ์ฃผ์>
- Registry ์ฃผ์ํ์ธ
- docker pull < Registry ์ฃผ์>
- docker images๋ก ํ์ธ
2. docker run
- docker run ์คํ
docker run -p 8080:8080 --name <์ ํด์ค ์ด๋ฆ> -e SPRING_DATASOURCE_URL=jdbc:mysql://<DB์ ec2 ์ฃผ์>:3306/<์คํค๋ง๋ช > -e SPRING_DATASOURCE_PASSWORD=<๋น๋ฐ๋ฒํธ> -d <์ด๋ฏธ์ง๋ช >
- ๊ฒฐ๊ณผ
3. docker logs < container id>
- ์ด๋ ๊ฒ ๋์ค๋ฉด ์ฑ๊ณต, url๋ก ๋ฐฐํฌํ์ธํ๊ธฐ
'๐ Today _I_Learned > GitLab' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
GitLab ํ๋ก์ ํธ ์ญ์ ํ๊ธฐ (0) | 2023.03.21 |
---|---|
GitLab ๋ฉค๋ฒ ์ด๋, Issue ์์ฑ / ๋ถ๋ฐฐ / Merge Request (0) | 2023.03.21 |
GitLab ๊ฐ์ , ํ๋ก์ ํธ ์์ฑํ๊ธฐ (0) | 2023.03.20 |