fix: maven uses nexus maven-public; build+run image locally (skip nexus push)
deploy-userbase-service / build-deploy (push) Failing after 5s
deploy-userbase-service / build-deploy (push) Failing after 5s
This commit is contained in:
@@ -25,23 +25,18 @@ jobs:
|
|||||||
|
|
||||||
# 用宿主 docker 守护进程跑 maven(--network=host 走宿主外网拉依赖),
|
# 用宿主 docker 守护进程跑 maven(--network=host 走宿主外网拉依赖),
|
||||||
# 产出 target/userbase.jar 落到工作区。
|
# 产出 target/userbase.jar 落到工作区。
|
||||||
- name: Build jar (maven, host network)
|
- name: Build jar (maven, host network, nexus maven-public)
|
||||||
run: docker run --rm --network=host -v $PWD:/build -w /build maven:3.9-eclipse-temurin-8 mvn -B -DskipTests package
|
# maven-settings.xml 将 central 指向 nexus maven-public(含内部 SNAPSHOT BOM 与 central 代理)
|
||||||
|
run: docker run --rm --network=host -v $PWD:/build -w /build maven:3.9-eclipse-temurin-8 mvn -s maven-settings.xml -B -DskipTests package
|
||||||
|
|
||||||
- name: Login to Nexus docker registry
|
- name: Build image on host daemon
|
||||||
# 单引号包裹 secret,避免密码中的 $ 被 shell 展开
|
run: docker build -f docker/Dockerfile -t userbase-service:latest .
|
||||||
run: echo '${{ secrets.NEXUS_PASSWORD }}' | docker login -u '${{ secrets.NEXUS_USER }}' --password-stdin 192.168.10.160:8083
|
|
||||||
|
|
||||||
- name: Build image
|
|
||||||
run: docker build -f docker/Dockerfile -t 192.168.10.160:8083/docker-hosted/userbase-service:latest .
|
|
||||||
|
|
||||||
- name: Push image
|
|
||||||
run: docker push 192.168.10.160:8083/docker-hosted/userbase-service:latest
|
|
||||||
|
|
||||||
- name: Deploy on host (infra-infra-net)
|
- name: Deploy on host (infra-infra-net)
|
||||||
|
# 镜像已在宿主本地,直接运行,无需推送到 nexus(nexus docker 仓库为 HTTP,需 daemon insecure-registries 才能推送)
|
||||||
run: |
|
run: |
|
||||||
docker rm -f userbase-service 2>/dev/null || true
|
docker rm -f userbase-service 2>/dev/null || true
|
||||||
docker run -d --name userbase-service --network infra-infra-net -p 8060:8060 --restart unless-stopped 192.168.10.160:8083/docker-hosted/userbase-service:latest
|
docker run -d --name userbase-service --network infra-infra-net -p 8060:8060 --restart unless-stopped userbase-service:latest
|
||||||
|
|
||||||
- name: Done
|
- name: Done
|
||||||
run: 'echo "UserBaseService deployed -> http://192.168.10.160:8060/userbase"'
|
run: 'echo "UserBaseService deployed -> http://192.168.10.160:8060/userbase"'
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<settings>
|
||||||
|
<profiles>
|
||||||
|
<profile>
|
||||||
|
<id>nexus</id>
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>central</id>
|
||||||
|
<url>http://192.168.10.160:8081/repository/maven-public/</url>
|
||||||
|
<releases><enabled>true</enabled></releases>
|
||||||
|
<snapshots><enabled>true</enabled></snapshots>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
<pluginRepositories>
|
||||||
|
<pluginRepository>
|
||||||
|
<id>central</id>
|
||||||
|
<url>http://192.168.10.160:8081/repository/maven-public/</url>
|
||||||
|
<releases><enabled>true</enabled></releases>
|
||||||
|
<snapshots><enabled>true</enabled></snapshots>
|
||||||
|
</pluginRepository>
|
||||||
|
</pluginRepositories>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
||||||
|
<activeProfiles>
|
||||||
|
<activeProfile>nexus</activeProfile>
|
||||||
|
</activeProfiles>
|
||||||
|
</settings>
|
||||||
Reference in New Issue
Block a user