name: build-image on: push: branches: ['v2'] paths: - "build.trigger" # schedule: # - # 国际时间 19:17 执行,北京时间3:17 ↙↙↙ 改成你想要每天自动执行的时间 # - cron: '17 19 * * *' permissions: contents: read jobs: build-certd-image: runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v4 - name: get_certd_version id: get_certd_version uses: actions/github-script@v6 with: result-encoding: string script: | const fs = require('fs'); const path = require('path'); const pnpmWorkspace = "./pnpm-workspace.yaml"; fs.unlinkSync(pnpmWorkspace) const jsonFilePath = "./packages/ui/certd-server/package.json"; const jsonContent = fs.readFileSync(jsonFilePath, 'utf-8'); const pkg = JSON.parse(jsonContent) console.log("certd_version:",pkg.version); return pkg.version # - name: Use Node.js # uses: actions/setup-node@v4 # with: # node-version: 18 # cache: 'npm' # working-directory: ./packages/ui/certd-client - run: | npm install -g pnpm pnpm install npm run build working-directory: ./packages/ui/certd-client - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to aliyun container Registry uses: docker/login-action@v3 with: registry: registry.cn-shenzhen.aliyuncs.com username: ${{ secrets.aliyun_cs_username }} password: ${{ secrets.aliyun_cs_password }} - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.dockerhub_username }} password: ${{ secrets.dockerhub_password }} - name: Build and push uses: docker/build-push-action@v6 with: platforms: linux/amd64,linux/arm64 push: true context: ./packages/ui/ tags: | registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest registry.cn-shenzhen.aliyuncs.com/handsfree/certd:${{steps.get_certd_version.outputs.result}} greper/certd:latest greper/certd:${{steps.get_certd_version.outputs.result}}