Feat/develop test (#687)

* docs: add readme docs

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add script yaml

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add script yaml

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add test

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* Update config.yaml

* Update config.yaml

---------

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
This commit is contained in:
Xinwei Xiong 2023-07-27 16:44:02 +08:00 committed by GitHub
parent df71049533
commit 0b9ac4bd87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 138 additions and 110 deletions

View File

@ -29,30 +29,31 @@ jobs:
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v3 uses: actions/checkout@v3
# docker.io/openim/openim-server:latest
- name: Log in to Docker Hub - name: Log in to Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 uses: docker/login-action@v2
with: with:
username: ${{ secrets.DOCKER_USERNAME }} username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker - name: Extract metadata (tags, labels) for Docker
id: meta id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 uses: docker/metadata-action@v4.6.0
with: with:
images: openim/openim-server images: openim/openim-server
tags: latest tags: latest
- name: Build and push Docker image - name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc uses: docker/build-push-action@v4
with: with:
context: . context: .
push: true push: true
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
# registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-server:latest
- name: Log in to AliYun Docker Hub - name: Log in to AliYun Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 uses: docker/login-action@v2
with: with:
registry: registry.cn-hangzhou.aliyuncs.com registry: registry.cn-hangzhou.aliyuncs.com
username: ${{ secrets.ALIREGISTRY_USERNAME }} username: ${{ secrets.ALIREGISTRY_USERNAME }}
@ -60,19 +61,42 @@ jobs:
- name: Extract metadata (tags, labels) for Docker - name: Extract metadata (tags, labels) for Docker
id: meta2 id: meta2
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 uses: docker/metadata-action@v4.6.0
with: with:
images: registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-server images: registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-server
tags: latest tags: latest
- name: Build and push Docker image - name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc uses: docker/build-push-action@v4
with: with:
context: . context: .
push: true push: true
tags: ${{ steps.meta2.outputs.tags }} tags: ${{ steps.meta2.outputs.tags }}
labels: ${{ steps.meta2.outputs.labels }} labels: ${{ steps.meta2.outputs.labels }}
# ghcr.io/openim/openim-server:latest
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta3
uses: docker/metadata-action@v4.6.0
with:
images: openim/openim-server
tags: latest
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: ${{ steps.meta3.outputs.tags }}
labels: ${{ steps.meta3.outputs.labels }}
# name: OpenIM Build Docker Images # name: OpenIM Build Docker Images
# on: # on:
# push: # push:

View File

@ -12,48 +12,52 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
name: deploy for dev name: OpenIM Deploy for dev
on: on:
push: push:
branches: branches:
- 'devops' # Only for the dev branch - 'devops' # Only for the dev branch
paths: paths:
- '.github/workflows/*' - '.github/workflows/*'
# - '__test__/**' # dev No immediate testing is required # - '__test__/**' # dev No immediate testing is required
- 'src/**' - 'src/**'
- 'Dockerfile' - 'Dockerfile'
- 'docker-compose.yml' - 'docker-compose.yml'
- 'bin/*' - 'bin/*'
env:
SERVER_PRIVATE_KEY: ${{ secrets.SERVER_PRIVATE_KEY }} # server private key
SERVER_HOST: ${{ secrets.SERVER_HOST }} # server ip address
USER_NAME: ${{ secrets.USER_NAME }} # server username
cache-name: note
jobs: jobs:
deploy-dev: deploy-dev:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps:
steps: - uses: actions/checkout@v2
- uses: actions/checkout@v2 - name: set ssh key # Temporarily set up ssh key
- name: set ssh key # Temporarily set up ssh key run: |
run: | mkdir -p ~/.ssh/
mkdir -p ~/.ssh/ # secrets.WFP_ID_RSA set in GitHub
# secrets.WFP_ID_RSA set in GitHub echo "${{secrets.WFP_ID_RSA}}" > ~/.ssh/id_rsa
echo "${{secrets.WFP_ID_RSA}}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa ssh-keyscan "182.92.xxx.xxx" >> ~/.ssh/known_hosts
ssh-keyscan "182.92.xxx.xxx" >> ~/.ssh/known_hosts - name: deploy # Deployment
- name: deploy # Deployment run: |
run: | ssh work@182.92.xxx.xxx "
ssh work@182.92.xxx.xxx " # 【Attention】Log in with the 'work' account, manually create /home/work/imooc-lego directory
# 【Attention】Log in with the 'work' account, manually create /home/work/imooc-lego directory # Then git clone https://username:password@github.com/imooc-lego/biz-editor-server.git -b dev (private repository, use GitHub username and password)
# Then git clone https://username:password@github.com/imooc-lego/biz-editor-server.git -b dev (private repository, use GitHub username and password) # Remember to delete origin to avoid exposing GitHub password
# Remember to delete origin to avoid exposing GitHub password cd /home/work/imooc-lego/biz-editor-server;
git remote add origin https://openimbot:${{secrets.WFP_PASSWORD}}@github.com/OpenIMSDK/open-im-server.git;
cd /home/work/imooc-lego/biz-editor-server; git checkout dev;
git remote add origin https://openimbot:${{secrets.WFP_PASSWORD}}@github.com/OpenIMSDK/open-im-server.git; git pull origin dev; # Download the latest code again
git checkout dev; git remote remove origin; # Remove origin to avoid exposing GitHub password
git pull origin dev; # Download the latest code again # Start docker
git remote remove origin; # Remove origin to avoid exposing GitHub password docker-compose build editor-server; # Same as the service name in docker-compose.yml
# Start docker docker-compose up -d;
docker-compose build editor-server; # Same as the service name in docker-compose.yml "
docker-compose up -d; - name: delete ssh key # Delete ssh key
" run: rm -rf ~/.ssh/id_rsa
- name: delete ssh key # Delete ssh key
run: rm -rf ~/.ssh/id_rsa

View File

@ -335,66 +335,66 @@ changelog:
- title: Other work - title: Other work
order: 9999 order: 9999
dockers: # dockers:
- image_templates: # - image_templates:
- "openimsdk/open-im-server:{{ .Tag }}-amd64" # - "openimsdk/open-im-server:{{ .Tag }}-amd64"
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64" # - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64"
dockerfile: Dockerfile # dockerfile: Dockerfile
use: buildx # use: buildx
build_flag_templates: # build_flag_templates:
- "--pull" # - "--pull"
- "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/OpenIMSDK/Open-IM-Server/main/README.md" # - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/OpenIMSDK/Open-IM-Server/main/README.md"
- "--label=io.artifacthub.package.logo-url=hhttps://github.com/OpenIMSDK/Open-IM-Server/blob/main/assets/logo/openim-logo-green.png" # - "--label=io.artifacthub.package.logo-url=hhttps://github.com/OpenIMSDK/Open-IM-Server/blob/main/assets/logo/openim-logo-green.png"
- '--label=io.artifacthub.package.maintainers=[{"name":"Xinwei Xiong","email":"3293172751nss@gmail.com"}]' # - '--label=io.artifacthub.package.maintainers=[{"name":"Xinwei Xiong","email":"3293172751nss@gmail.com"}]'
- "--label=io.artifacthub.package.license=Apace-2.0" # - "--label=io.artifacthub.package.license=Apace-2.0"
- "--label=org.opencontainers.image.description=OpenIM Open source top instant messaging system" # - "--label=org.opencontainers.image.description=OpenIM Open source top instant messaging system"
- "--label=org.opencontainers.image.created={{.Date}}" # - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.name={{.ProjectName}}" # - "--label=org.opencontainers.image.name={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" # - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}" # - "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.source={{.GitURL}}" # - "--label=org.opencontainers.image.source={{.GitURL}}"
- "--platform=linux/amd64" # - "--platform=linux/amd64"
extra_files: # extra_files:
- scripts/entrypoint.sh # - scripts/entrypoint.sh
- image_templates: # - image_templates:
- "goreleaser/goreleaser:{{ .Tag }}-arm64" # - "goreleaser/goreleaser:{{ .Tag }}-arm64"
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64" # - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64"
dockerfile: Dockerfile # dockerfile: Dockerfile
use: buildx # use: buildx
build_flag_templates: # build_flag_templates:
- "--pull" # - "--pull"
- "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/OpenIMSDK/Open-IM-Server/main/README.md" # - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/OpenIMSDK/Open-IM-Server/main/README.md"
- "--label=io.artifacthub.package.logo-url=hhttps://github.com/OpenIMSDK/Open-IM-Server/blob/main/assets/logo/openim-logo-green.png" # - "--label=io.artifacthub.package.logo-url=hhttps://github.com/OpenIMSDK/Open-IM-Server/blob/main/assets/logo/openim-logo-green.png"
- '--label=io.artifacthub.package.maintainers=[{"name":"Xinwei Xiong","email":"3293172751nss@gmail.com"}]' # - '--label=io.artifacthub.package.maintainers=[{"name":"Xinwei Xiong","email":"3293172751nss@gmail.com"}]'
- "--label=io.artifacthub.package.license=Apace-2.0" # - "--label=io.artifacthub.package.license=Apace-2.0"
- "--label=org.opencontainers.image.description=OpenIM Open source top instant messaging system" # - "--label=org.opencontainers.image.description=OpenIM Open source top instant messaging system"
- "--label=org.opencontainers.image.created={{.Date}}" # - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.name={{.ProjectName}}" # - "--label=org.opencontainers.image.name={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" # - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}" # - "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.source={{.GitURL}}" # - "--label=org.opencontainers.image.source={{.GitURL}}"
- "--platform=linux/arm64" # - "--platform=linux/arm64"
goarch: arm64 # goarch: arm64
extra_files: # extra_files:
- scripts/entrypoint.sh # - scripts/entrypoint.sh
docker_manifests: # docker_manifests:
- name_template: "goreleaser/goreleaser:{{ .Tag }}" # - name_template: "goreleaser/goreleaser:{{ .Tag }}"
image_templates: # image_templates:
- "goreleaser/goreleaser:{{ .Tag }}-amd64" # - "goreleaser/goreleaser:{{ .Tag }}-amd64"
- "goreleaser/goreleaser:{{ .Tag }}-arm64" # - "goreleaser/goreleaser:{{ .Tag }}-arm64"
- name_template: "ghcr.io/goreleaser/goreleaser:{{ .Tag }}" # - name_template: "ghcr.io/goreleaser/goreleaser:{{ .Tag }}"
image_templates: # image_templates:
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64" # - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64"
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64" # - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64"
- name_template: "goreleaser/goreleaser:latest" # - name_template: "goreleaser/goreleaser:latest"
image_templates: # image_templates:
- "goreleaser/goreleaser:{{ .Tag }}-amd64" # - "goreleaser/goreleaser:{{ .Tag }}-amd64"
- "goreleaser/goreleaser:{{ .Tag }}-arm64" # - "goreleaser/goreleaser:{{ .Tag }}-arm64"
- name_template: "ghcr.io/goreleaser/goreleaser:latest" # - name_template: "ghcr.io/goreleaser/goreleaser:latest"
image_templates: # image_templates:
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64" # - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64"
- "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64" # - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64"
nfpms: nfpms:
- id: packages - id: packages

View File

@ -126,10 +126,10 @@ api:
# Configuration for Aliyun OSS # Configuration for Aliyun OSS
object: object:
enable: "minio" enable: "minio"
apiURL: "http://127.0.0.1:10002/object/" apiURL: http://127.0.0.1:10002/object/
minio: minio:
bucket: "openim" bucket: "openim"
endpoint: http://127.0.0.1:10005 endpoint: http://127.0.0.1:10005
accessKeyID: root accessKeyID: root
secretAccessKey: openIM123 secretAccessKey: openIM123
sessionToken: "" sessionToken: ""
@ -371,4 +371,4 @@ prometheus:
conversationPrometheusPort: [ 20230 ] conversationPrometheusPort: [ 20230 ]
rtcPrometheusPort: [ 21300 ] rtcPrometheusPort: [ 21300 ]
thirdPrometheusPort: [ 21301 ] thirdPrometheusPort: [ 21301 ]
messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ]