diff --git a/.github/workflows/aurora.yml b/.github/workflows/aurora.yml index 8691035..1fbc0ca 100644 --- a/.github/workflows/aurora.yml +++ b/.github/workflows/aurora.yml @@ -2,13 +2,14 @@ name: Aurora CI on: push: - branches: ["master"] + branches: ["dev"] jobs: - build: + aurora-springboot-build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v3 - name: Set up JDK uses: actions/setup-java@v3 @@ -22,11 +23,84 @@ jobs: cd aurora-springboot mvn -B package --file pom.xml - - name: Delete old jar - run: sshpass -p ${{secrets.REMOTE_HOST_B_PASSWORD}} ssh -o StrictHostKeyChecking=no root@${{secrets.REMOTE_HOST_B_IP}} "cd /usr/local/aurora-springboot && rm -rf ./aurora-springboot-0.0.1.jar" + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 - - name: Copy jar to remote server - run: sshpass -p ${{secrets.REMOTE_HOST_B_PASSWORD}} scp -o StrictHostKeyChecking=no ./aurora-springboot/target/aurora-springboot-0.0.1.jar root@${{secrets.REMOTE_HOST_B_IP}}:/usr/local/aurora-springboot + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{secrets.DOCKER_USERNAME}} + password: ${{secrets.DOCKER_PASSWORD}} + + - name: Build and push + uses: docker/build-push-action@v2 + with: + push: true + context: aurora-springboot + tags: ${{secrets.DOCKER_USERNAME}}/aurora-springboot:latest + file: aurora-springboot/Dockerfile + + - name: Update aurora-springboot container + run: + sshpass -p ${{secrets.REMOTE_HOST_B_PASSWORD}} ssh -o StrictHostKeyChecking=no + root@${{secrets.REMOTE_HOST_B_IP}} "cd /usr/local/aurora-springboot && sh aurora-springboot.sh" + + aurora-vue-build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: "16" + cache: "npm" + cache-dependency-path: "aurora-vue/aurora-*/package-lock.json" + + - name: Install aurora-blog dependencies + run: | + cd aurora-vue/aurora-blog + npm install + + - name: Build aurora-blog + run: | + cd aurora-vue/aurora-blog + npm run build + + - name: Install aurora-admin dependencies + run: | + cd aurora-vue/aurora-admin + npm install + + - name: Build aurora-admin + run: | + cd aurora-vue/aurora-admin + npm run build + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{secrets.DOCKER_USERNAME}} + password: ${{secrets.DOCKER_PASSWORD}} + + - name: Build and push + uses: docker/build-push-action@v2 + with: + push: true + context: aurora-vue + tags: ${{ secrets.DOCKER_USERNAME }}/aurora-vue:latest + file: aurora-vue/Dockerfile + + - name: HostB transfer aurora-vue to tencent-registery + run: + sshpass -p ${{secrets.REMOTE_HOST_B_PASSWORD}} ssh -o StrictHostKeyChecking=no + root@${{secrets.REMOTE_HOST_B_IP}} "cd /usr/local/aurora-vue && sh aurora-vue.sh" - - name: Run jar on remote server - run: sshpass -p ${{secrets.REMOTE_HOST_B_PASSWORD}} ssh -o StrictHostKeyChecking=no root@${{secrets.REMOTE_HOST_B_IP}} "cd /usr/local/aurora-springboot-0.0.1.jar && ./aurora-start.sh" + - name: Update aurora-vue container + run: + sshpass -p ${{secrets.REMOTE_HOST_A_PASSWORD}} ssh -o StrictHostKeyChecking=no + root@${{secrets.REMOTE_HOST_A_IP}} "cd /usr/local/aurora-vue && sh aurora-vue.sh" diff --git a/README.md b/README.md index 4a17103..88a3a47 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ ## 前言 - 开源不易,希望大家star支持一下 +- 由于本人还在上学,主语言不是Java,所以项目更新频率较慢,但是本项目会长期维护,有问题可以提issue, + 同时也欢迎大家来共建此项目,包括但不限于:bug 修复、代码优化、功能开发等等 ## 在线地址 @@ -13,6 +15,7 @@ ## 相关技术 ### 前端: + - 基础框架:vue3(前台) vue2(后台) - 状态管理:pinia(前台) vuex(后台) - 路由组件:vue-router @@ -20,6 +23,7 @@ - 其他技术:详见前端项目的package.json ### 后端: + - 基础框架:springboot - ORM框架:mybatisplus - 权限框架:springsecurity diff --git a/aurora-springboot/Dockerfile b/aurora-springboot/Dockerfile new file mode 100644 index 0000000..f89d846 --- /dev/null +++ b/aurora-springboot/Dockerfile @@ -0,0 +1,8 @@ +FROM openjdk:8 +RUN rm -f /etc/localtime \ +&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ +&& echo "Asia/Shanghai" > /etc/timezone +COPY target/aurora-springboot-0.0.1.jar /app/aurora-springboot-0.0.1.jar +COPY src/main/resources/application.yml /config/application.yml +ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/aurora-springboot-0.0.1.jar","--spring.config.location=/config/application.yml"] +EXPOSE 8080 diff --git a/aurora-vue/Dockerfile b/aurora-vue/Dockerfile new file mode 100644 index 0000000..436a1eb --- /dev/null +++ b/aurora-vue/Dockerfile @@ -0,0 +1,8 @@ +FROM nginx:stable-alpine3.17 +RUN mkdir -p /usr/local/aurora-vue/blog/ +RUN mkdir -p /usr/local/aurora-vue/admin/ +COPY aurora-blog/dist/ /usr/local/aurora-vue/blog/ +COPY aurora-admin/dist/ /usr/local/aurora-vue/admin/ +CMD ["nginx", "-g", "daemon off;"] +EXPOSE 80 +EXPOSE 443