Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: SpringCloud CI/CD with Docker
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

env:
MODULE_1: gateway
MODULE_2: hello
MODULE_3: login
MODULE_4: provider_one
MODULE_5: provider_two
MODULE_6: provider_three

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '8'
cache: 'maven'
- name: Build with Maven
run: |
whoami
pwd
cd dasedevops_spring_demo
mvn -B package --file pom.xml
pwd
- name: Login to Aliyun Container Registry (ACR)
uses: aliyun/acr-login@v1
with:
login-server: https://registry.cn-shanghai.aliyuncs.com
region-id: cn-shanghai # 3
username: "${{ secrets.ACR_USERNAME }}"
password: "${{ secrets.ACR_PASSWORD }}"
- name: Build and push image
run: |
docker build -t ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_1:latest ./dasedevops_spring_demo/$MODULE_1
docker push ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_1:latest
docker build -t ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_2:latest ./dasedevops_spring_demo/$MODULE_2
docker push ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_2:latest
docker build -t ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_3:latest ./dasedevops_spring_demo/$MODULE_3
docker push ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_3:latest
docker build -t ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_4:latest ./dasedevops_spring_demo/$MODULE_4
docker push ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_4:latest
docker build -t ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_5:latest ./dasedevops_spring_demo/$MODULE_5
docker push ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_5:latest
docker build -t ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_6:latest ./dasedevops_spring_demo/$MODULE_6
docker push ${{ secrets.ALI_NAMESPACE_URL }}/$MODULE_6:latest

- name: Copy single file to remote
uses: garygrossgarten/github-action-scp@release
with:
local: ./dasedevops_spring_demo/docker-compose.yml
remote: scp/devops_demo/docker-compose.yml
host: ${{ secrets.HOST }}
username: ${{ secrets.USER_NAME }}
password: ${{ secrets.USER_PASSWORD }}
port: ${{ secrets.PORT }}

depoly:
needs: [ build ]
name: Docker Pull And Docker-compose Run
runs-on: ubuntu-latest
steps:
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USER_NAME }}
password: ${{ secrets.USER_PASSWORD }}
port: ${{ secrets.PORT }}
script: |
docker-compose -f scp/devops_demo/docker-compose.yml up -d
docker-compose -f scp/devops_demo/docker-compose.yml stop
docker-compose -f scp/devops_demo/docker-compose.yml pull
docker-compose -f scp/devops_demo/docker-compose.yml up -d
docker image prune -f
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@

后端使用Springboot作为框架,还使用了下面几个微服务管理组件:微服务注册中心:Nacos、微服务配置中心:Nacos、微服务服务调用客户端:Feign、路由控制:Spring Cloud Gateway。

我修改还修改?


再来6
32 changes: 32 additions & 0 deletions dasedevops_spring_demo/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
version: "3"

services:
providerOne:
image: ${{ secrets.ALI_NAMESPACE_URL }}/provider_one:latest
ports:
- "8666:8666"

gateway:
image: ${{ secrets.ALI_NAMESPACE_URL }}/gateway:latest
ports:
- "8080:8080"

login:
image: ${{ secrets.ALI_NAMESPACE_URL }}/login:latest
ports:
- "8000:8000"

hello:
image: ${{ secrets.ALI_NAMESPACE_URL }}/hello:latest
ports:
- "8001:8001"

providerTwo:
image: ${{ secrets.ALI_NAMESPACE_URL }}/provider_two:latest
ports:
- "8667:8667"

providerThree:
image: ${{ secrets.ALI_NAMESPACE_URL }}/provider_three:latest
ports:
- "8668:8668"
6 changes: 6 additions & 0 deletions dasedevops_spring_demo/gateway/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM openjdk:8
MAINTAINER ningzhicheng
VOLUME /tmp
ADD ./target/*.jar /gateway.jar
ENTRYPOINT ["java","-jar","/gateway.jar"]
EXPOSE 8080
6 changes: 6 additions & 0 deletions dasedevops_spring_demo/hello/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM openjdk:8
MAINTAINER ningzhicheng
VOLUME /tmp
ADD ./target/*.jar /hello.jar
ENTRYPOINT ["java","-jar","/hello.jar"]
EXPOSE 8001
6 changes: 6 additions & 0 deletions dasedevops_spring_demo/login/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM openjdk:8
MAINTAINER ningzhicheng
VOLUME /tmp
ADD ./target/*.jar /login.jar
ENTRYPOINT ["java","-jar","/login.jar"]
EXPOSE 8000
6 changes: 6 additions & 0 deletions dasedevops_spring_demo/provider_one/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM openjdk:8
MAINTAINER ningzhicheng
VOLUME /tmp
ADD ./target/*.jar /provider_one.jar
ENTRYPOINT ["java","-jar","/provider_one.jar"]
EXPOSE 8666
6 changes: 6 additions & 0 deletions dasedevops_spring_demo/provider_three/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM openjdk:8
MAINTAINER ningzhicheng
VOLUME /tmp
ADD ./target/*.jar /provider_three.jar
ENTRYPOINT ["java","-jar","/provider_three.jar"]
EXPOSE 8668
6 changes: 6 additions & 0 deletions dasedevops_spring_demo/provider_two/dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM openjdk:8
MAINTAINER ningzhicheng
VOLUME /tmp
ADD ./target/*.jar /provider_two.jar
ENTRYPOINT ["java","-jar","/provider_two.jar"]
EXPOSE 8667