最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何通過idea把項目到私有倉庫

 更新時間:2025年07月18日 17:08:01   投稿:jingxian  
本文介紹Harbor倉庫的創(chuàng)建與使用流程,涵蓋Maven遠(yuǎn)程配置、pom.xml參數(shù)設(shè)置、Dockerfile構(gòu)建鏡像及執(zhí)行發(fā)布步驟,旨在實現(xiàn)項目運維自動化,降低維護(hù)成本

前言

該篇文章主要是harbor倉庫創(chuàng)建和使用,如果需要看docker創(chuàng)建部署可以看第一篇文章。

通過下面四篇文章可以快速的實現(xiàn)項目運維部署管理,大大減少項目維護(hù)的工作量

一、修改maven配置

我們本地如果安裝了docker環(huán)境則不用做處理,直接調(diào)用本地環(huán)境進(jìn)行打包制作鏡像發(fā)布;但很多時候我們本地不一定會安裝docker的環(huán)境,這時候我們就需要通過配置遠(yuǎn)程連接服務(wù)器的方式進(jìn)行打包制作鏡像。

打開idea設(shè)置,進(jìn)入Settings > Build, Execution, Deployment > Build Tools > Maven > Runner,配置環(huán)境變量:

  • DOCKER_TLS_VERIFY:啟用安全驗證
  • DOCKER_HOST:服務(wù)器docker的地址
  • DOCKER_CERT_PATH:遠(yuǎn)程的服務(wù)器docker的加密證書地址
DOCKER_TLS_VERIFY=1;DOCKER_HOST=https://10.37.129.2:2376;DOCKER_CERT_PATH=/Library/zheng/docker/tls

二、配置pom.xml文件

下面配置由幾部分組成:

  • <properties> 主要用來讀取版本聲明和harbor倉庫域名地址
  • <plugins> 用來聲明插件集合,主要包括了maven打包的插件以及docker構(gòu)建插件

下面的配置是可以直接粘貼使用的,只需要修改自己的harbor倉庫的賬號密碼,以及項目名稱即可

    <properties>
        <!-- docker鏡像的版本號  -->
        <image.tag.verion>1.0.1</image.tag.verion>
        <!-- 遠(yuǎn)程harbor倉庫的域名地址 -->
        <docker.repostory>10.37.129.2:5000</docker.repostory>
        <!-- harbor為這個項目創(chuàng)建的目錄   -->
        <harbor.project>ssyx</harbor.project>
    </properties>

    <build>
        <finalName>${project.artifactId}</finalName> <!--jar包名字-->
        <plugins>
            <!-- Maven Compiler Plugin -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- 在此處添加 Maven 編譯插件的配置,如果需要的話 -->
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Docker 構(gòu)建插件 -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.13</version>
                <executions>
                    <execution>
                        <id>default</id>
                        <!--    maven打包階段就觸發(fā)dockerfile-maven-plugin插件的以下動作   -->
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                            <goal>tag</goal>
                            <goal>push</goal>
                        </goals>
                        <configuration>
                            <!-- docker鏡像版本號,引用上面的 -->
                            <tag>${image.tag.verion}</tag>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <!-- 指定dockerfile所在目錄 -->
                    <contextDirectory>${project.basedir}</contextDirectory>
                    <!-- 指定docker鏡像名,格式必須這樣寫,  注意:這里${docker.repostory}倉庫地址必須有,因為docker需要這個去連接你真實倉庫地址,否則就會連接到官方的docker.io倉庫了, 鏡像名稱格式是:harbor倉庫域名/子倉庫/鏡像名稱,版本號由上面的tag動作標(biāo)注 -->
                    <repository>${docker.repostory}/${harbor.project}/${project.artifactId}</repository>
                    <!-- 連接遠(yuǎn)程harbor倉庫的用戶名和密碼 -->
                    <username>admin</username>
                    <password>Harbor12345</password>
                    <!-- 傳遞環(huán)境變量:JAR_FILE給dockerfile -->
                    <buildArgs>
                        <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

三、創(chuàng)建Dockerfile配置文件

Dockerfile作用主要是構(gòu)建docker的鏡像使用,下面的代碼大致的作用就是先指定基礎(chǔ)鏡像,因為是java應(yīng)用,所以指定jdk作為啟動環(huán)境,然后在讀取本地maven打好的jar包,構(gòu)建好一個鏡像,最后在通過ENTRYPOINT設(shè)置啟動命令

需要注意FROM 引用的jdk鏡像根據(jù)自己情況選擇一個

# 設(shè)置JAVA版本,如果需要生成圖片(驗證碼等),則需要使用 openjdk:8-jdk 這個基礎(chǔ)鏡像、
# openjdk:8-jre #如果只需要運行時環(huán)境則可以使用這個會比jdk的更小
# openjdk:8-jdk
FROM openjdk:8-jdk-alpine
# 接收pom.xml文件傳遞的變量
ARG JAR_FILE
# 注意WORKDIR指向的目錄必須提前存在,否則后面復(fù)制文件的時候會失敗,導(dǎo)致容器無法運行
RUN echo "JAR_FILE is: ${JAR_FILE}" && mkdir /app
WORKDIR /app
COPY target/${JAR_FILE} ./app.jar
RUN echo "ls result" && ls -l /app

ENTRYPOINT ["java","-Xms512m", "-Xmx1g", "-Dfile.encoding=UTF-8", "-jar", "app.jar"]


四、執(zhí)行

最后點擊package即可執(zhí)行打包jar并且把jar包轉(zhuǎn)為鏡像發(fā)布到倉庫

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中URL的處理方法詳解

    Java中URL的處理方法詳解

    URL(Uniform?Resource?Locator)中文名為統(tǒng)一資源定位符,有時也被俗稱為網(wǎng)頁地址,表示為互聯(lián)網(wǎng)上的資源,本文主要為大家介紹了Java是如何處理URL的,感興趣的可以了解一下
    2023-05-05
  • 如何使用Java模擬退火算法優(yōu)化Hash函數(shù)

    如何使用Java模擬退火算法優(yōu)化Hash函數(shù)

    為了解決局部最優(yōu)解問題,1983年,Kirkpatrick等提出了模擬退火算法(SA)能有效的解決局部最優(yōu)解問題。模擬退火算法包含兩個部分即Metropolis算法和退火過程。Metropolis算法就是如何在局部最優(yōu)解的情況下讓其跳出來,是退火的基礎(chǔ)
    2021-06-06
  • java 如何復(fù)制非空對象屬性值

    java 如何復(fù)制非空對象屬性值

    這篇文章主要介紹了java 如何復(fù)制非空對象屬性值的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 詳解SpringBoot+Ehcache使用示例

    詳解SpringBoot+Ehcache使用示例

    本文介紹了SpringBoot中配置Ehcache、自定義get/set方式,并實際使用緩存的過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-09-09
  • Springmvc完成ajax功能實例詳解

    Springmvc完成ajax功能實例詳解

    在本篇文章里小編給大家整理了關(guān)于Springmvc完成ajax功能實例內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2019-09-09
  • MyBatis mapping類基本用法

    MyBatis mapping類基本用法

    這篇文章主要為大家介紹了MyBatis mapping類基本用法示例詳解,
    有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java中的內(nèi)存模型(JMM)和鎖機(jī)制詳解

    Java中的內(nèi)存模型(JMM)和鎖機(jī)制詳解

    這篇文章主要介紹了Java中的內(nèi)存模型(JMM)和鎖機(jī)制使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 詳解Java編程中包package的內(nèi)容與包對象的規(guī)范

    詳解Java編程中包package的內(nèi)容與包對象的規(guī)范

    這篇文章主要介紹了Java編程中包package的內(nèi)容與包對象的規(guī)范,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-12-12
  • SpringBoot配置文件密碼加密的三種方案

    SpringBoot配置文件密碼加密的三種方案

    這篇文章主要介紹了SpringBoot配置文件密碼加密的三種方案,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-04-04
  • MyBatisPlus 15個高級用法詳解

    MyBatisPlus 15個高級用法詳解

    MyBatis-Plus(簡稱MP)是Java后端開發(fā)中非常流行的ORM框架,它能夠簡化CRUD操作,下面給大家分享MyBatisPlus 15個高級用法,感興趣的朋友跟隨小編一起看看吧
    2026-03-03

最新評論

芜湖市| 嘉黎县| 密云县| 印江| 台前县| 河间市| 瓮安县| 尉犁县| 甘泉县| 玉溪市| 博罗县| 都江堰市| 临江市| 石家庄市| 湘乡市| 翁牛特旗| 台东市| 改则县| 洱源县| 康平县| 水城县| 吕梁市| 肇庆市| 广平县| 灯塔市| 醴陵市| 乳源| 鲁山县| 衡水市| 大洼县| 方正县| 时尚| 无极县| 巴彦淖尔市| 丹江口市| 阿尔山市| 赣榆县| 朝阳县| 平陆县| 卢龙县| 莎车县|