ci: add Docker CI workflow for Aliyun and update docker-compose files

Add a new GitHub Actions workflow for building and pushing Docker images to Aliyun. Update the docker-compose.yml file to use the new image tag and introduce a new docker-compose-aliyun.yml file for Aliyun-specific configurations.
This commit is contained in:
pnoker
2025-04-21 20:08:38 +08:00
parent 16751b84c1
commit c3c48322a0
3 changed files with 82 additions and 4 deletions
+35
View File
@@ -0,0 +1,35 @@
name: Docker Image
on:
push:
tags:
- 'dc3.release.*'
jobs:
build-push:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login Docker
uses: docker/login-action@v3
with:
registry: registry.cn-beijing.aliyuncs.com
username: ${{ vars.ALIYUN_DOCKERHUB_USERNAME }}
password: ${{ secrets.ALIYUN_DOCKERHUB_TOKEN }}
- name: Set QEMU
uses: docker/setup-qemu-action@v3
- name: Set Docker Buildx
uses: docker/setup-buildx-action@v3
with:
platforms: linux/arm64,linux/amd64
- name: Build and Push
uses: docker/build-push-action@v6
with:
push: true
file: Dockerfile
context: '{{defaultContext}}:/'
platforms: linux/arm64,linux/amd64
tags: registry.cn-beijing.aliyuncs.com/dc3/dc3-web:2025.2.dev
+46
View File
@@ -0,0 +1,46 @@
#
# Copyright 2016-present the IoT DC3 original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
services:
web:
image: registry.cn-beijing.aliyuncs.com/dc3/dc3-web:2025.2.dev
restart: always
ports:
- '8080:80'
- '8443:443'
environment:
- APP_API_HOST=dc3-gateway
- APP_API_PORT=8000
container_name: dc3-web
hostname: dc3-web
volumes:
- nginx:/var/log/nginx
logging:
driver: json-file
options:
max-size: '20m'
max-file: '20'
networks:
dc3net:
aliases:
- dc3-web
volumes:
nginx:
networks:
dc3net:
driver: bridge
+1 -4
View File
@@ -16,10 +16,7 @@
services:
web:
build:
context: ../
dockerfile: ./Dockerfile
image: pnoker/dc3-web:2024.3.0.dev
image: pnoker/dc3-web:2025.2.dev
restart: always
ports:
- '8080:80'