Skip to main content
Glama
build-docker-image.yml4.58 kB
# This is a basic workflow to help you get started with Actions name: build docker image # Controls when the action will run. on: push: branches: - main release: types: [ created, published ] # 表示在创建新的 Release 时触发 # Allows you to run this workflow manually from the Actions tab # 可以手动触发 workflow_dispatch: inputs: logLevel: description: "Log level" required: true default: "warning" tags: description: "Test scenario tags" env: DOCKERHUB_USERNAME: weibh ALIHUB_URL: registry.cn-hangzhou.aliyuncs.com ALIHUB_USERNAME: weibh ALIHUB_IMAGE_REPONAME: minik8m IMAGE_REPONAME: k8m OPENAI_API_MODEL: Qwen/Qwen2.5-7B-Instruct OPENAI_API_URL: https://public.chatgpt.k8m.site/v1 jobs: build-docker-image: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: pnpm/action-setup@v4 with: version: latest - name: 使用 Node.js uses: actions/setup-node@v5 with: node-version: 18 cache: "pnpm" cache-dependency-path: "ui/pnpm-lock.yaml" - name: 编译前端 run: | cd ui pnpm install pnpm build - name: 设置go环境 uses: actions/setup-go@v6 with: go-version-file: "go.mod" cache-dependency-path: "go.sum" - name: 安装 UPX uses: crazy-max/ghaction-upx@v3 with: install-only: true - name: Set build time variable run: echo "BUILD_TIME=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_ENV - name: 编译后端 run: | make build-linux GIT_COMMIT=${{ github.sha }} GIT_TAG=${{ github.ref_name }} GIT_REPOSITORY=${{ github.repository }} BUILD_DATE=${{ env.BUILD_TIME }} VERSION=${{ github.ref_name }} MODEL=${{ env.OPENAI_API_MODEL }} API_KEY=${{ secrets.OPENAI_API_KEY }} API_URL=${{ env.OPENAI_API_URL }} - name: Inject slug/short variables uses: rlespinasse/github-slug-action@v4 - name: Get current date id: date run: echo "::set-output name=today::$(date +'%Y%m%d-%H%M')" - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@v3 - name: Available platforms run: echo ${{ steps.buildx.outputs.platforms }} - name: Login to DockerHub uses: docker/login-action@v3 with: username: ${{ env.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} # 镜像推送到 ghcr 仓库 - name: Login to the ghcr Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GHCR_TOKEN }} # 镜像推送到 阿里云仓库 - name: Login to the Ali Registry uses: docker/login-action@v3 with: registry: ${{ env.ALIHUB_URL }} username: ${{ env.ALIHUB_USERNAME }} password: ${{ secrets.ALIHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v6 with: context: . file: ./Dockerfile.action push: ${{ github.event_name != 'pull_request' }} cache-from: type=registry,ref=${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:buildcache cache-to: type=registry,ref=${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:buildcache,mode=max platforms: linux/amd64,linux/arm64 # 给清单打上多个标签 tags: | ${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:latest ${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:${{ steps.date.outputs.today }} ${{ env.DOCKERHUB_USERNAME }}/${{ env.IMAGE_REPONAME }}:${{ env.GITHUB_REF_NAME }} ${{ env.ALIHUB_URL }}/${{ env.ALIHUB_IMAGE_REPONAME }}/${{ env.IMAGE_REPONAME }}:${{ env.GITHUB_REF_NAME }} ${{ env.ALIHUB_URL }}/${{ env.ALIHUB_IMAGE_REPONAME }}/${{ env.IMAGE_REPONAME }}:latest ${{ env.ALIHUB_URL }}/${{ env.ALIHUB_IMAGE_REPONAME }}/${{ env.IMAGE_REPONAME }}:${{ steps.date.outputs.today }} ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_REPONAME }}:latest ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_REPONAME }}:${{ steps.date.outputs.today }} ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_REPONAME }}:${{ env.GITHUB_REF_NAME }}

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/weibaohui/k8m'

If you have feedback or need assistance with the MCP directory API, please join our Discord server