人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

dockerfile-maven-plugin使用指南小結(jié)

發(fā)布日期:2021-12-09 22:25 | 文章來(lái)源:站長(zhǎng)之家

最近在將應(yīng)用部署到容器平臺(tái),需要在打包時(shí)生成docker鏡像,在網(wǎng)上首先搜到了docker-maven-plugin這個(gè)插件,但使用起來(lái)很麻煩,在maven和dockfile都要做很多額外的配置。后來(lái)在官方Github看到作者推薦使用dockerfile-maven-plugin這個(gè)新的插件,于是替換成這個(gè),但這個(gè)插件在網(wǎng)上的相關(guān)資料較少。在此記錄一哈

pom配置

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <!-- Dockerfile maven plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.10</version>
                <executions>
                    <!--<execution>--><!--<id>default</id>--><!--<goals>-->
<!--&lt;!&ndash;如果package時(shí)不想用docker打包,就注釋掉這個(gè)goal&ndash;&gt;-->
<!--<goal>build</goal>-->
<!--<goal>push</goal>--><!--</goals>-->
                    <!--</execution>-->
                </executions>
                <configuration>
                    <repository>docker-reg.****.com/feedback/${artifactId}-${profiles.active}</repository>
                    <tag>${project.version}</tag>
                    <buildArgs><JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>

setting.xml配置

這個(gè)文件在maven目錄下,可以 cd $M2_HOME/conf 進(jìn)入。

在pluginGroups中增加一個(gè)com.spotify

  <pluginGroups>
    <pluginGroup>com.spotify</pluginGroup>
  </pluginGroups>

登錄情況

需要登錄

關(guān)于如何驗(yàn)證登錄,坑比較多。如果你在habor設(shè)置你的倉(cāng)庫(kù)為私有,那必須要登錄,按照官方配置就可以,如下。

 <plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>${version}</version>
    <configuration>
        <username>repoUserName</username>
        <password>repoPassword</password>
        <repository>${docker.image.prefix}/${project.artifactId}</repository>
        <buildArgs>
            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
        </buildArgs>
    </configuration>
</plugin>

無(wú)需登錄

但因?yàn)槲遗渲昧嗽趉8s自動(dòng)從habor獲取鏡像,所以設(shè)置了公開,這種情況下無(wú)需登錄,但有時(shí)也會(huì)執(zhí)行失敗,此時(shí)你需要?jiǎng)h掉~/.docker/config.json中的這個(gè)網(wǎng)站的配置。

cat ~/.docker/config.json
{
    "auths": {
        "192.168.87.110:5000": {
            "auth": "YWRtaW46JKDtaW4xMjM="
        }(刪掉此處)
    },
    "HttpHeaders": {
        "User-Age

確認(rèn)這里為空后,如果還報(bào)錯(cuò),可以再執(zhí)行一次docker login … ,這樣就成功了

maven多模塊情況配置

在多模塊的情況下,打包插件一定要放置在Application子模塊中,如果放在root pom中會(huì)導(dǎo)致打包不成功。

如下情況:

  • -app
  • ​ -common
  • ​ -file
  • ​ -mail
  • ​ -application
  • ​ -pom.xml

這種情況,我們可以分兩個(gè)步驟

第一步先打包全部模塊,在根目錄下

mvn clean package -P test

第二步在要打包鏡像的子模塊中執(zhí)行deploy命令

mvn dockerfile:build dockerfile:push

這樣,就能成功將子模塊打包為鏡像并push。

jenkins

在本地測(cè)試完之后,要將這個(gè)流程弄到j(luò)enkins,做一些配置。

jenkins服務(wù)器安裝docker

此處不再贅述,maven的setting.xml等配置和本地一樣。

修改jenkins項(xiàng)目配置

此時(shí),由于項(xiàng)目需要打包兩次(一次在根目錄打包,第二次在子目錄打包為鏡像),所以需要執(zhí)行兩次mvn命令,和之前不一樣,所以將第一次的執(zhí)行還是使用jenkins的Build模塊。

第二次的執(zhí)行放置在post steps中通過(guò)命令在執(zhí)行

cd 子模塊目錄
mvn clean package -P $env dockerfile:build dockerfile:push

這樣,就可以完成打包并制作鏡像的步驟了

到此這篇關(guān)于dockerfile-maven-plugin使用指南小結(jié)的文章就介紹到這了,更多相關(guān)dockerfile-maven-plugin使用 內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部