java專案如何在linux本地docker(Jenkins)打包

**1**.

首先把程式碼拉下來然後打包:

linux命令:git clone (git地址)

**2**

。接下來你可以選擇建立或者複製,或者直接拉進去一個 dockerFile

**3**

。然後修改這個檔案 比如jar包的名稱啊,jvm記憶體大小啊等等;

相關命令:

1。vi 檔名。txt 。 命令中的“vi”部分是選擇“Vim”文字編輯器來編輯檔案。用目標檔名來代替命令中的“檔名”。

2。 按下i鍵,讓文件進入“插入”模式,在目標位置輸入文件文字。按下I鍵後,視窗的底部應該會彈出—— INSERT ——。

3。輸入文件文字。你可以像編輯其它文字檔案一樣輸入文字的內容。如果想要儲存當前行並跳到下一行,請按下回車鍵。

4。按下Esc鍵。它位於電腦鍵盤的左上角。這個按鍵會讓Vim程式進入“命令”模式。你應該能看到視窗的底部出現一個游標。

5。在終端視窗中輸入:w ,然後按下回車鍵。 命令會儲存當前文件。在終端中輸入:q ,按下回車鍵。 這樣會退出Vim程式,返回到終端主介面。你可以輸入:wq命令,儲存檔案並退出編輯器。

6。輸入vi 檔名。txt命令開啟檔案。開啟後,你應該就能看到之前做出的更改了。

**例項:**

Xmx 和。jar等相關都要修改

**dockerFile:**

#centOS7 包含 JDK8 基礎映象

FROM registry。cn-beijing。aliyuncs。com/unisound-docker-registry/base-c7-jdk8

# 建立 /app 目錄, 作為程式的主目錄

RUN mkdir -p /app/logs /app/temp

COPY sol-badge-eval-controller/target/*。jar /app/sol-badge-eval。jar

# 設定啟動引數環境變數

ENV JAVA_OPTS=“-server -Xmx1024M -Xms1024M -Xloggc:/app/logs/gc。log -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled \

-XX:ErrorFile=/app/logs/hs_err_pid%p。log \

-XX:HeapDumpPath=/app/logs -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError \

-Djava。io。tmpdir=/app/temp \

-XX:+PrintHeapAtGC \

-XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=128M -Dfile。encoding=UTF-8 -Duser。timezone=GMT+8” \

SERVER_PORT=8080

# 配置暴露埠

EXPOSE ${SERVER_PORT}

# Docker 自身健康檢查

#HEALTHCHECK ——interval=10s ——timeout=3s \

# CMD curl -v ——fail http://localhost:${SERVER_PORT} || exit 1

# 切換服務目錄

WORKDIR /app

ENTRYPOINT [ “sh”, “-c”, “java $JAVA_OPTS -Djava。security。egd=file:/dev/。/urandom -jar sol-badge-eval。jar” ]

**4**

。然後透過指令碼去部署,必須在指令碼檔案件下執行 比如我的是在名為docker的資料夾下面;

到達相應資料夾以後輸入命令:

bash deploy_tag。sh(指令碼名稱) sol-badge-eval(服務名稱) v1。5。2。a(tag號)

就可以得到相應的部署資訊

指令碼(deploy_tag。sh)

#!/bin/bash

# 服務名

SERVICE=“$1”

#分支

TAG=“$2”

cd /data/docker_package/${SERVICE}

git pull

git checkout ${TAG}

mvn -Dhttps。protocols=TLSv1。2 -Dmaven。test。skip=true clean install -U

docker login -u dev_acr@1872929475821083 registry。cn-beijing。aliyuncs。com/unisound-docker-registr -p DN1GCKu11oxU > /dev/null 2>&1

docker build -t ${SERVICE}:${TAG} 。

docker tag ${SERVICE}:${TAG} registry。cn-beijing。aliyuncs。com/unisound-docker-registry/${SERVICE}:${TAG}

docker push registry。cn-beijing。aliyuncs。com/unisound-docker-registry/${SERVICE}:${TAG}

docker images ——digests

java專案如何在linux本地docker(Jenkins)打包