← ClaudeAtlas

generate-cicd-workflowlisted

為 Bukkit/Paper 插件 Maven 專案產生 GitHub Actions CI/CD workflow,包含 build、test、release 三個 job,支援自動版本打標籤、上傳 JAR 至 Release。當使用者說「幫我建立 CI/CD」、「GitHub Actions workflow」、「自動化部署插件」、「自動發布 JAR」時自動應用。
MrPippi/MJP-Claude-Skills · ★ 1 · DevOps & Infrastructure · score 70
Install: claude install-skill MrPippi/MJP-Claude-Skills
# Generate CI/CD Workflow Skill ## 目標 為 Minecraft 插件 Maven 專案產生完整的 GitHub Actions workflow,涵蓋: - **CI**:每次 push/PR 自動編譯 + 測試 - **Release**:推送版本 tag 時自動打包並發布至 GitHub Releases --- ## 使用流程 1. **詢問專案資訊**:Java 版本、是否有單元測試、Release JAR 命名規則 2. **產生 CI workflow**:`ci.yml`(build + test) 3. **產生 Release workflow**:`release.yml`(tag → GitHub Release) 4. **說明如何觸發 Release**:`git tag v1.0.0 && git push --tags` --- ## 代碼��本 ### .github/workflows/ci.yml(Build + Test) ```yaml name: CI on: push: branches: [main, develop] pull_request: branches: [main] jobs: build: runs-on: ubuntu-latest name: Build & Test steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Java 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'temurin' cache: maven - name: Build with Maven run: mvn clean package -DskipTests - name: Run Tests run: mvn test - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: plugin-jar path: target/*.jar retention-days: 7 ``` --- ### .github/workflows/release.yml(Tag → GitHub Release) ```yaml name: Release on: push: tags: - 'v*.*.*' jobs: release: runs-on: ubuntu-latest name: Build & Release permissions: contents: write steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Java 21