인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

비전공자도 이해할 수 있는 CI/CD 입문·실전

[실습] .gitignore에 추가된 application.yml을 CI/CD로 관리하기

java 환경변수 주입 질문

해결된 질문

작성

·

181

0

안녕하세요 실습하다보니 질문이 생겨서 질문드립니다.

 

저같은 경우에는 .yml 파일을 올리돼, 중요한 값은 ${변수명} 이런식으로 작성해서 올리는 편입니다.

 

따라서 이를 EC2 서버의 .bashrc 파일에 export로 설정한 뒤, source ~.bashrc로 값을 초기화해놓았습니다.

 

echo로 확인해보니 문제없이 출력되구요...

 

그 후 CICD를 적용시켯더니 계속 해당 환경변수를 찾지 못한다는 에러가 발생합니다.. 어떤 부분이 잘못되었는지 모르겠어서 질문드립니다.

 

name: deploy chatGPT server to AWS EC2

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: ssh로 서버 접근 & git pull 후 재배포 진행
        uses: appleboy/ssh-action@v1.0.3
        with:
          host: ${{ secrets.EC2_HOST }}
          username: ${{ secrets.EC2_USERNAME }}
          key: ${{ secrets.EC2_PRIVATE_KEY }}
          script_stop: true
          script: |
            source ~/.bashrc
            cd /home/ubuntu/spring-chatgpt-communication
            git pull origin main
            ./gradlew clean build
            sudo fuser -k -n tcp 8081 || true
            nohup java -jar build/libs/*SNAPSHOT.jar > ./output.log 2>&1 &

 

아래는 저의 CICD yml 파일입니다!

답변 2

0

EC2에서는 제대로 잘 동작하는것을 확인했습니다.

 

https://github.com/appleboy/ssh-action/issues/58

 

찾아보니 이런 springboot에서의 환경변수 인식 문제가 있는 것을 확인했습니다.

아마 이 문제때문이 아닌가 생각합니다!

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

ssh-action의 자체 문제였군요👍👍

나와있는 이슈에서의 해결 방법으로도 해결이 안 되신다면

또 질문 남겨주세요:D

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 용관님!

보여주신 코드만 봤을 때는 크게 문제가 되는 부분은 없어보여서 하나하나씩 디버깅을 해봐야 알 것 같습니다!

우선 위 코드를 Github Actions로 작동시키지 않고
직접 EC2에 들어가서 하나하나 명령어를 실행시켰을 때는 정상 작동하는 지 확인 한 번 부탁드립니다~!

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기