Skip to content

Commit 6290dde

Browse files
committed
ci(deployment): 更新 CI 工作流并添加 Docker 部署
- 注释掉 Maven项目初始化步骤 - 添加 SSH部署步骤,使用 appleboy/ssh-action 进行远程服务器操作 - 实现 Docker 登录和镜像拉取步骤 - 新增 im-core-server Dockerfile- 更新 im-gateway Dockerfile,调整目录结构和环境变量
1 parent 3fb8d0a commit 6290dde

File tree

3 files changed

+52
-10
lines changed

3 files changed

+52
-10
lines changed

.github/workflows/ci.yml

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ jobs:
3434
maven-${{ runner.os }}-
3535
maven-
3636
37-
- name: Initialize Maven project with flatten plugin
38-
run: mvn flatten:flatten
37+
# - name: Initialize Maven project with flatten plugin
38+
# run: mvn flatten:flatten
3939

4040
- name: Build with Maven
4141
run: mvn clean package -DskipTests -Pprod
@@ -123,8 +123,28 @@ jobs:
123123
runs-on: ubuntu-latest
124124
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master'
125125
steps:
126-
- name: Deploy to production
127-
run: echo "Deployment steps would go here"
126+
- name: SSH Deploy
127+
uses: appleboy/[email protected]
128+
with:
129+
host: ${{ secrets.SERVER_IP }}
130+
username: ${{ secrets.SSH_USERNAME }}
131+
key: ${{ secrets.SSH_PRIVATE_KEY }}
132+
script: |
133+
sleep 2
134+
docker login ${{ env.DOCKER_REGISTRY }} --username=${{ secrets.TENCENT_REGISTRY_USERNAME }} --password=${{ secrets.TENCENT_REGISTRY_PASSWORD }}
135+
136+
# 拉取最新的镜像
137+
docker pull ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_NAMESPACE }}/im-gateway:${{ github.sha }}
138+
docker pull ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_NAMESPACE }}/ruoyi-auth:${{ github.sha }}
139+
docker pull ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_NAMESPACE }}/ruoyi-system:${{ github.sha }}
140+
docker pull ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_NAMESPACE }}/ruoyi-gen:${{ github.sha }}
141+
docker pull ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_NAMESPACE }}/ruoyi-job:${{ github.sha }}
142+
docker pull ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_NAMESPACE }}/ruoyi-resource:${{ github.sha }}
143+
docker pull ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_NAMESPACE }}/im-core-server:${{ github.sha }}
144+
145+
# 可以在这里添加停止旧容器、启动新容器的命令
146+
# 例如:docker-compose up -d 或 kubectl apply -f k8s-deployment.yaml
147+
128148
- name: Manual approval
129149
uses: trstringer/manual-approval@v2
130150
with:

im-core/im-core-server/Dockerfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
2+
FROM bellsoft/liberica-openjdk-debian:17.0.11-cds
3+
#FROM bellsoft/liberica-openjdk-debian:21.0.3-cds
4+
#FROM findepi/graalvm:java17-native
5+
6+
RUN mkdir -p /imai/core/logs \
7+
/imai/core/temp \
8+
/imai/skywalking/agent
9+
10+
WORKDIR /imai/core
11+
12+
ENV SERVER_PORT=9601 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
13+
14+
EXPOSE ${SERVER_PORT}
15+
16+
ADD ./target/im-core-server.jar ./app.jar
17+
18+
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
19+
#-Dskywalking.agent.service_name=ruoyi-gateway \
20+
#-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
21+
-XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
22+
-jar app.jar

im-gateway/Dockerfile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ FROM bellsoft/liberica-openjdk-debian:17.0.11-cds
33
#FROM bellsoft/liberica-openjdk-debian:21.0.3-cds
44
#FROM findepi/graalvm:java17-native
55

6-
RUN mkdir -p /ruoyi/gateway/logs \
7-
/ruoyi/gateway/temp \
8-
/ruoyi/skywalking/agent
6+
RUN mkdir -p /imai/im-gateway/logs \
7+
/imai/im-gateway/temp \
8+
/imai/skywalking/agent
99

10-
WORKDIR /ruoyi/gateway
10+
WORKDIR /imai/im-gateway
1111

12-
ENV SERVER_PORT=8080 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
12+
ENV SERVER_PORT=8080 WS_PORT=9688 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
1313

14-
EXPOSE ${SERVER_PORT}
14+
EXPOSE ${SERVER_PORT} ${WS_PORT}
1515

1616
ADD ./target/im-gateway.jar ./app.jar
1717

0 commit comments

Comments
 (0)