Jenkins에서 SpringBoot 자동 배포
4370 단어 Jenkinsspring-boot
목표
지금까지 왠지 Jenkins를 사용하고 있었지만, Jenkins가 거의 Cron이라는 것을 알았다.
여러가지 플러그인 넣으면 편리한 것 같지만, 우선 Cron의 정리역으로서 사용해 본다.
Github에서 푸시된 타이밍에 Jar를 작성하는 쉘을 Jenkins로 이동한다.
Jenkins 다운로드 및 시작
아래 참고 링크에서 Jenkins 다운로드
htps : // 이 m / 어딘가에서 나가면 l / ms / b526 fbd 77 f2b443f1
Java 문자 코드 설정
java 명령을 실행하면 ???라는 문자가 깨지기 때문에 다음과 같이 설정하십시오.
UTF8 지정
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
Jenkins 사용자가 sudo에서 쉘을 실행할 때 비밀번호 없음
Jenkins에서 Sudo에서 실행하면 제대로 작동하지 않으므로 다음 설정을 수행하십시오.
visudo 부여
sudo /usr/sbin/visudo
#追記箇所(最終行等に加える)------------------
Defaults:jenkins !requiretty
jenkins ALL=(ALL) NOPASSWD:ALL
GitHub에서 소스 얻기
Github에서 소스 얻기
cd /opt/
git clone https://github.com/xxxx/xxxxx.git
쉘 생성
Jenkins에서 실행되는 쉘. Git에서 최신 소스를 가져와 Maven을 실행합니다.
build.sh
#!/bin/sh
filepath="/opt/gitsource-filename"
## 実行するディレクトリ移動(適時修正)
echo '***Change Directory'
cd $filepath
## 最新のソースアップデート
echo '***Git Update'
git pull
## Mavenクリーンアップ
echo '***Maven Clean'
mvn clean
## DomaのためSQLファイルをコピー
echo '***Directry Copy'
mkdir -m 777 -p ./target/classes/
cp -r ./src/main/java/META-INF ./target/classes/
## Jarに固める(テスト実行はスキップ)
echo '***Maven Download'
mvn package -Dmaven.test.skip
## 実行するJar変更
chmod 666 ./target/xxxxxxx-0.0.1-SNAPSHOT.jar
## Jar実行&ProcessIdをテキストファイルに書き込み
java -jar ./target/xxxxxxx-0.0.1-SNAPSHOT.jar & echo $! > ./pid.file &
Jenkins에서 GitHub 폴링 설정
GitHub 로그인 정보를 설정합니다. SCM 폴링으로 시작하도록 설정.
Jenkins에서 쉘 실행 설정
위의 쉘을 두드리는
곤란한 일 · 앞으로 해결하고 싶은 과제
1. Doma SQL이 패키징되지 않음
이번에 자신이 만든 앱에 Doma를 이용했지만,
Doma에서 사용하는 META-INF 아래의 SQL 파일이 빌드 폴더에 복사되지 않음
억지로 복사하고 있는 것이 현상. Eclipse라면 빌드 경로를 지정했지만 CentOS에서는 어떻게해야합니까? 검색 중. . .
SQL 파일 [META-INF/../select.sql]을 클래스 경로에서 찾을 수 없습니다.
h tp : // Doma. 세아사 r. rg/후아q. HTML # # ゔ ぇ p 멘 t - 엔 ゔ
2.SprigBoot jar 실행하면 Jenkins 결과가 돌아 오지 않습니다.
jar 실행하면 당연하지만. 실행하면 돌아오지 않는다. 기동했을 때, 일단 OK를 돌려주면 기쁘다.
→ 아래와 같이 Jar를 텍스트 출력으로 바꾸면 결과가 표시되었다
변경 전
java -jar ./target/xxxxxxx-0.0.1-SNAPSHOT.jar
변경 후
java -jar ./target/xxxxxxx-0.0.1-SNAPSHOT.jar & echo $! > ./pid.file &
Reference
이 문제에 관하여(Jenkins에서 SpringBoot 자동 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/haruto167/items/5dfc210a1178d1f2566b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)