一個簡單的 SpringBoot 專案的 Dockfile 和 cicd 檔案配置
第一次發帖,分享一個我遇到的問題吧
最近有用springBoot寫一個測試平臺的後端服務,感覺以後容器部署會是主流吧,所以拋棄Jenkins部署到虛擬機器的方式,改使用Gitlab自帶的cicd來打映象包
Dockerfile很簡單,就是將專案jar上傳啟動就行,裡面的倉庫名稱和路徑已隱去
FROM xxx.xx.com/images/xxx:centos7.3-openjdk1.8
RUN mkdir -p /home/app
WORKDIR /home/app
COPY target/test-project-0.0.1-SNAPSHOT.jar /home/app/
EXPOSE 80
ENTRYPOINT ["java", "-jar","/home/app/test-project-0.0.1-SNAPSHOT.jar"]
然後就是.gitlab-ci.yml檔案了,這裡分了兩步,一步是mvn打包,第二步就是打Docker映象並上傳到倉庫
stages:
- package
- build
package:
stage: package
image: xxx.xxx.com/xxx/ci:maven-jdk-image
script:
- mvn -U clean package -Dmaven.test.skip=true
only:
- tags
artifacts:
expire_in: 1 day
paths:
- target/test-project-0.0.1-SNAPSHOT.jar
docker-build:
stage: build
script:
- docker login xxx.xxx.com -u $HUBUSER -p $HUBPASS
- docker build . -t xxx.xxx.com/test/xxx-project:$CI_COMMIT_TAG
- docker push xxx.xxx.com/test/xxx-project:$CI_COMMIT_TAG
only:
- tags
然後我遇到啥問題呢,就是第一個job執行了以後會把jar包打出來,但是第二個job執行的時候執行Dockerfile總是提示沒有jar,然後看日誌才發現執行job前會清理target目錄,網上查了好久資料以後才知道加paths以後就可以把前一個job的檔案傳遞到後一個job
paths:
- target/test-project-0.0.1-SNAPSHOT.jar
以後每次只需要打一個tag就可以自動打映象並上傳到倉庫了
相關文章
- 一個簡單的ipf配置檔案
- 配置一個簡單的傳統SSM專案SSM
- 一個.Net簡單、易用的配置檔案操作庫
- springboot簡單的專案Spring Boot
- 最簡單的SpringBoot示例之.yml配置檔案Spring Boot
- 簡單的ANT配置檔案
- IDEA配置Maven執行一個簡單的專案IdeaMaven
- SpringBoot專案中獲取配置檔案的配置資訊Spring Boot
- SpringBoot專案配置檔案加密Spring Boot加密
- Springboot專案中需整合的依賴集和檔案配置Spring Boot
- 一個簡單的檔案管理程式 (轉)
- 一個最簡單的XML檔案(轉)XML
- SpringBoot專案配置檔案中密碼的加密Spring Boot密碼加密
- 建立一個SpringBoot專案,實現簡單的CRUD功能和分頁查詢Spring Boot
- 簡單說說webpack的配置檔案Web
- 一個簡單的Gradle指令碼檔案Gradle指令碼
- 分享一個簡單的聊天室專案
- springBoot快速搭建簡單的SSM專案Spring BootSSM
- SpringBoot獲取配置檔案,就這麼簡單。Spring Boot
- SpringBoot專案配置檔案佔位符Spring Boot
- 構建一個簡單的react-typescript專案ReactTypeScript
- 如何在jenkins上新建一個專案及其簡單配置Jenkins
- 檔案解析,在mysql配置和檢查項一樣的專案MySql
- application.yml檔案配置springboot專案APPSpring Boot
- 一個基於SpringBoot+阿里雲OSS的簡單圖床專案Spring Boot阿里圖床
- Go 專案配置檔案的定義和讀取Go
- 使用 Fuse 和 java 17 編寫一個簡單的檔案系統Java
- 如何在Linux安裝Python+JDK+Mysql+Tomcat+Django以及簡單的跑一個java web專案和一個簡單的Django專案LinuxPythonJDKMySqlTomcatDjangoJavaWeb
- 做一個簡單的 APT 小專案——AppShortcutAPTAPP
- 將framework檔案放在一個單獨的檔案中Framework
- SpringBoot 中獲取專案的路徑和檔案流Spring Boot
- Laravel 學習筆記一: 專案框架和配置檔案Laravel筆記框架
- 【SpringBoot】配置檔案Spring Boot
- SpringBoot(配置檔案)Spring Boot
- Springboot配置檔案Spring Boot
- 第一個SpringBoot專案Spring Boot
- 搭建一個SpringBoot專案Spring Boot
- 從一道簡單的“SpringBoot配置檔案”相關面試題,我就能知道你的水平Spring Boot面試題