Maven 构建、发布使用 Gitlab 版本进行部署

问题描述 投票:0回答:1

我想构建一个简单的 Maven 项目,我想使用 Gitlab CI 和 TBC 模板创建一个版本。

使用 Maven 模板,它就像一个魅力:

# included templates
include:
  # Maven template
  - remote: "https://gitlab.com/to-be-continuous/maven/-/raw/3.11/templates/gitlab-ci-maven.yml"

variables:
    MAVEN_SETTINGS_FILE: $MAVEN_SETTINGS
    GIT_PRIVATE_KEY: $GITLAB_CICD_DEPLOY_PRIVATE_KEY
    MAVEN_DEPENDENCY_CHECK_ARGS: org.owasp:dependency-check-maven:aggregate -DretireJsAnalyzerEnabled=false -DassemblyAnalyzerEnabled=false -Dformats=HTML,JSON,XML -DnvdApiKey=$NVD_API_KEY
    MAVEN_DEPLOY_ENABLED: "true"
    MAVEN_DEPLOY_SNAPSHOT_WITH_SLUG_ENABLED: "true"
    MAVEN_BUILD_ARGS: org.jacoco:jacoco-maven-plugin:prepare-agent verify site org.jacoco:jacoco-maven-plugin:report
    MAVEN_DEPLOY_ARGS: deploy site:deploy -Dmaven.test.skip=true

部署会将工件上传到我们的 Nexus Maven 存储库。现在我想创建一个 Gitlab 版本。据我了解,这可以通过语义发布模板实现。但是maven模板的文档中是这么写的:

注意:mvn-release 作业将执行发布,因此您只需要语义发布信息作业。设置 SEMREL_RELEASE_DISABLED 变量,如下所示。”

要走什么路?使用语义发布和添加的 Maven 插件并使用语义发布进行发布,或者我可以结合 Maven 和语义发布模板来获取 Gitlab 发布吗?

此外,我不知道如何使用 Semantic-Release 模板配置 Gitlab 版本的资产。有人可以帮助我吗?

gitlab-ci to-be-continuous
1个回答
0
投票

您是否询问 gitlab 项目页面上的发布条目?这不是由maven执行的。您需要专门的发布工作,例如:

publish release:
  stage: release
  image: registry.gitlab.com/gitlab-org/release-cli:latest
  only:
    - tags
  script:
    - echo "Publishing release."
  needs:
    - build
  release:
    tag_name: $CI_COMMIT_TAG
    name: 'Release $CI_COMMIT_TAG'
    description: 'Release $CI_COMMIT_TAG.'
    assets:
      links:
        - name: 'jar'
          url: '$DOWNLOAD_URL'

DOWNLOAD_URL
应指向所需位置,例如 Maven 中央或本地包。

© www.soinside.com 2019 - 2024. All rights reserved.