최대 1 분 소요

1. 우분투 인스턴스에 환경변수 파일 생성

env
⎿ application-oauth.yml
⎿ application-jwt.yml

스크린샷 2023-06-14 오후 7 45 19

2. 젠킨스 컨테이너 접속 후 폴더 생성

호스트에 생성한 aws-s3.yml 파일을 젠킨스 컨테이너 내부로 복사할 것이다.
복사할 폴더를 생성해주자.

$ docker exec -it jenkins /bin/bash
$ mkdir my-env

스크린샷 2023-03-20 오후 3 05 51

호스트 -> 컨테이너 파일 복사

젠킨스 컨테이너를 exit 한 뒤 호스트에서 진행한다!

# docker cp [host 파일경로] [container name]:[container 내부 경로]
$ docker cp /home/ubuntu/env/application-oauth.yml jenkins:/my-env/application-oauth.yml
$ docker cp /home/ubuntu/env/application-jwt.yml jenkins:/my-env/application-jwt.yml

스크린샷 2023-06-14 오후 7 53 04

🚨 컨테이너를 지웠다가 다시 생성하면 my-env가 사라지기 때문에 파일 복사를 다시 해주어야 함..
나중에 스크립트로 만들 수 있을듯

확인

젠킨스 컨테이너에 접속하여 잘 복사되었는지 확인하자.

$ docker exec -it jenkins /bin/bash
$ cd my-env
$ ls -al

스크린샷 2023-06-14 오후 7 55 10
잘 복사되었다!

3. 젠킨스 설정

젠킨스 build Steps 변경

기존 shell 에서 환경변수 파일 주입 단계를 추가해야 한다!
(프로젝트에 .gitignore에 등록되어 있는 aws-s3.yml 파일을 주입하기 위해서)

echo "환경변수 파일 주입"
cp /my-env/application-oauth.yml ./src/main/resources
cp /my-env/application-jwt.yml ./src/main/resources

echo "환경변수 파일 위치 확인"
find -name application-oauth.yml
find -name application-jwt.yml

echo "jar 파일 생성"
./gradlew build jar -x test

echo "도커 이미지 빌드"
docker-compose build --no-cache

echo "도커 컨테이너 생성 및 실행"
docker-compose up --force-recreate -d

sleep 5s
docker ps -a

지금 빌드



💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기

태그:

카테고리:

업데이트: