mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 16:32:12 +08:00 
			
		
		
		
	* fix: add openim server deploy Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * feat: add openim im ctl Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * feat: add more deployment docs Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * feat: add openim save images and release Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * build: set IBM sarama and set k8s deployment helm Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: add openim code fix Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: add openim code fix Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> --------- Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
		
			
				
	
	
		
			322 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			322 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # Copyright © 2023 OpenIM open source community. All rights reserved.
 | |
| #
 | |
| # 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
 | |
| #
 | |
| #     http://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.
 | |
| 
 | |
| name: Docker Buildx Images CI
 | |
| 
 | |
| on:
 | |
|   schedule:
 | |
|   - cron: '30 1 * * *'
 | |
|   push:
 | |
|     branches:
 | |
|       - release-*
 | |
|     tags:
 | |
|       - v*
 | |
|   workflow_dispatch:
 | |
| 
 | |
| jobs:
 | |
|   build-ghcr:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Checkout
 | |
|         uses: actions/checkout@v3
 | |
|         
 | |
|       - name: Set up QEMU
 | |
|         uses: docker/setup-qemu-action@v2
 | |
|         
 | |
|       - name: Set up Docker Buildx
 | |
|         uses: docker/setup-buildx-action@v2
 | |
|         with:
 | |
|           install: true
 | |
| 
 | |
|       - name: Cache Docker layers
 | |
|         uses: actions/cache@v3
 | |
|         with:
 | |
|           path: /tmp/.buildx-cache
 | |
|           key: ${{ runner.os }}-buildx-${{ github.sha }}
 | |
|           restore-keys: |
 | |
|             ${{ runner.os }}-buildx-
 | |
| 
 | |
|       - name: Log in to GitHub Container Registry
 | |
|         uses: docker/login-action@v2
 | |
|         with:
 | |
|           registry: ghcr.io
 | |
|           username: ${{ github.repository_owner }}
 | |
|           password: ${{ secrets.GITHUB_TOKEN }}
 | |
| 
 | |
| ################################################
 | |
| # build/
 | |
| # └── docker
 | |
| #     ├── openim-api
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-cmdutils
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-crontask
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-msggateway
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-msgtransfer
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-push
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-rpc-auth
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-rpc-conversation
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-rpc-friend
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-rpc-group
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-rpc-msg
 | |
| #     │   └── Dockerfile
 | |
| #     ├── openim-rpc-third
 | |
| #     │   └── Dockerfile
 | |
| #     └── openim-rpc-user
 | |
| #         └── Dockerfile
 | |
| #############################################
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-api
 | |
|         id: meta1
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-api
 | |
| 
 | |
|       - name: Build and push Docker image for openim-api
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-api/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta1.outputs.tags }}
 | |
|           labels: ${{ steps.meta1.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-cmdutils
 | |
|         id: meta2
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-cmdutils
 | |
| 
 | |
|       - name: Build and push Docker image for openim-cmdutils
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-cmdutils/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta2.outputs.tags }}
 | |
|           labels: ${{ steps.meta2.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-crontask
 | |
|         id: meta3
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-crontask
 | |
| 
 | |
|       - name: Build and push Docker image for openim-crontask
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-crontask/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta3.outputs.tags }}
 | |
|           labels: ${{ steps.meta3.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-msggateway
 | |
|         id: meta4
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-msggateway
 | |
| 
 | |
|       - name: Build and push Docker image for openim-msggateway
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-msggateway/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta4.outputs.tags }}
 | |
|           labels: ${{ steps.meta4.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-msgtransfer
 | |
|         id: meta5
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-msgtransfer
 | |
| 
 | |
|       - name: Build and push Docker image for openim-msgtransfer
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-msgtransfer/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta5.outputs.tags }}
 | |
|           labels: ${{ steps.meta5.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
|           
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-push
 | |
|         id: meta6
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-push
 | |
| 
 | |
|       - name: Build and push Docker image for openim-push
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-push/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta6.outputs.tags }}
 | |
|           labels: ${{ steps.meta6.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-rpc-auth
 | |
|         id: meta7
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-rpc-auth
 | |
| 
 | |
|       - name: Build and push Docker image for openim-rpc-auth
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-rpc-auth/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta7.outputs.tags }}
 | |
|           labels: ${{ steps.meta7.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-rpc-conversation
 | |
|         id: meta8
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-rpc-conversation
 | |
| 
 | |
|       - name: Build and push Docker image for openim-rpc-conversation
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-rpc-conversation/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta8.outputs.tags }}
 | |
|           labels: ${{ steps.meta8.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-rpc-friend
 | |
|         id: meta9
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-rpc-friend
 | |
| 
 | |
|       - name: Build and push Docker image for openim-rpc-friend
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-rpc-friend/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta9.outputs.tags }}
 | |
|           labels: ${{ steps.meta9.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-rpc-group
 | |
|         id: meta10
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-rpc-group
 | |
| 
 | |
|       - name: Build and push Docker image for openim-rpc-group
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-rpc-group/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta10.outputs.tags }}
 | |
|           labels: ${{ steps.meta10.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-rpc-msg
 | |
|         id: meta11
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-rpc-msg
 | |
| 
 | |
|       - name: Build and push Docker image for openim-rpc-msg
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-rpc-msg/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta11.outputs.tags }}
 | |
|           labels: ${{ steps.meta11.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-rpc-third
 | |
|         id: meta12
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-rpc-third
 | |
| 
 | |
|       - name: Build and push Docker image for openim-rpc-third
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-rpc-third/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta12.outputs.tags }}
 | |
|           labels: ${{ steps.meta12.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 | |
|       - name: Extract metadata (tags, labels) for Docker openim-rpc-user
 | |
|         id: meta13
 | |
|         uses: docker/metadata-action@v4.6.0
 | |
|         with:
 | |
|           images: ghcr.io/openimsdk/openim-rpc-user
 | |
| 
 | |
|       - name: Build and push Docker image for openim-rpc-user
 | |
|         uses: docker/build-push-action@v4
 | |
|         with:
 | |
|           context: .
 | |
|           file: ./build/images/openim-rpc-user/Dockerfile
 | |
|           platforms: linux/amd64,linux/arm64
 | |
|           push: ${{ github.event_name != 'pull_request' }}
 | |
|           tags: ${{ steps.meta13.outputs.tags }}
 | |
|           labels: ${{ steps.meta13.outputs.labels }}
 | |
|           cache-from: type=local,src=/tmp/.buildx-cache
 | |
|           cache-to: type=local,dest=/tmp/.buildx-cache
 | |
| 
 |