为 Quarkus 项目执行发布前验证闭环,涵盖构建、测试、扫描与差异审查。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "quarkus-verification" 技能: 1. 下载 https://raw.githubusercontent.com/affaan-m/ECC/main/skills/quarkus-verification/SKILL.md 2. 保存为 ~/.claude/skills/quarkus-verification/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为这个 Quarkus 项目执行完整验证流程:先构建,再做静态分析、运行带覆盖率的测试、安全扫描、原生编译,并总结所有失败项与发布风险。
一份发布前验证报告,包含各步骤结果、覆盖率、风险项与是否建议发布。
针对当前分支与主分支的差异执行 Quarkus 验证:检查受影响模块,运行相关测试与静态分析,审查变更风险,并给出 PR 前修复建议。
一份面向 PR 的检查结果,说明变更影响、失败原因、风险等级和修复建议。
请重点验证这个 Quarkus 服务是否满足上线门槛:执行原生编译、安全漏洞扫描和关键测试,如果有阻塞问题请按严重级别排序输出。
一份上线门槛检查结果,突出原生构建状态、安全问题和阻塞项优先级。
Run before PRs, after major changes, and pre-deploy.
# Maven
mvn clean verify -DskipTests
# Gradle
./gradlew clean assemble -x test
If build fails, stop and fix compilation errors.
mvn checkstyle:check pmd:check spotbugs:check
mvn sonar:sonar \
-Dsonar.projectKey=my-quarkus-project \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=${SONAR_TOKEN}
# Run all tests
mvn clean test
# Generate coverage report
mvn jacoco:report
# Enforce coverage threshold (80%)
mvn jacoco:check
# Or with Gradle
./gradlew test jacocoTestReport jacocoTestCoverageVerification
Test service logic with mocked dependencies:
@ExtendWith(MockitoExtension.class)
class UserServiceTest {
@Mock UserRepository userRepository;
@InjectMocks UserService userService;
@Test
void createUser_validInput_returnsUser() {
var dto = new CreateUserDto("Alice", "[email protected]");
// Panache persist() is void — use doNothing + verify
doNothing().when(userRepository).persist(any(User.class));
User result = userService.create(dto);
assertThat(result.name).isEqualTo("Alice");
verify(userRepository).persist(any(User.class));
}
}
Test with real database (Testcontainers):
@QuarkusTest
@QuarkusTestResource(PostgresTestResource.class)
class UserRepositoryIntegrationTest {
@Inject
UserRepository userRepository;
@Test
@Transactional
void findByEmail_existingUser_returnsUser() {
User user = new User();
user.name = "Alice";
user.email = "[email protected]";
userRepository.persist(user);
Optional<User> found = userRepository.findByEmail("[email protected]");
assertThat(found).isPresent();
assertThat(found.get().name).isEqualTo("Alice");
}
}
Test REST endpoints with REST Assured:
@QuarkusTest
class UserResourceTest {
@Test
void createUser_validInput_returns201() {
given()
.contentType(ContentType.JSON)
.body("""
{"name": "Alice", "email": "[email protected]"}
""")
.when().post("/api/users")
.then()
.statusCode(201)
.body("name", equalTo("Alice"));
}
@Test
void createUser_invalidEmail_returns400() {
given()
.contentType(ContentType.JSON)
.body("""
{"name": "Alice", "email": "invalid"}
""")
.when().post("/api/users")
.then()
.statusCode(400);
}
}
Check target/site/jacoco/index.html for detailed coverage:
mvn org.owasp:dependency-check-maven:check
Review target/dependency-check-report.html for CVEs.
# Check vulnerable extensions
mvn quarkus:audit
# List all extensions
mvn quarkus:list-extensions
docker run -t owasp/zap2docker-stable zap-api-scan.py \
-t http://localhost:8080/q/openapi \
-f openapi
…
帮助开发者为代码代理配置性能优化、安全防护与研究优先工作流。
提供数据库迁移、回滚与零停机发布的最佳实践指导,适用于多种 ORM 与 SQL 数据库。
通过双评审智能体对结果进行对抗式校验,提升输出发布前的可靠性
帮助你掌握地道 Rust 模式、所有权与并发实践,编写安全高性能应用。
基于 C++ Core Guidelines 编写、审查并重构更安全现代的 C++ 代码。
为 Claude Code 会话提供系统化校验流程,帮助检查结果正确性与质量。
为 Quarkus 项目执行构建、测试、安全扫描与发布前验证闭环
帮助你完成 Quarkus 项目的构建、测试、安全扫描与发布前验证闭环
为 Spring Boot 项目执行构建、测试、扫描与变更复核的发布前验证流程
为 Spring Boot 项目执行构建、测试、安全扫描与变更审查的发布前校验流程
为 Django 项目执行发布前校验流程,涵盖迁移、测试、安全与部署检查。
用于 Laravel 项目的环境检查、测试、安全扫描与发布验收