使用 Travis CI 将 Maven 版本部署到 Github

2024-01-17

我成功地使用标签将 JAR 从 Maven 项目部署到了​​ Github。但是,当前配置假设 JAR 的文件名始终保持不变,但事实并非如此。当我发布新版本时,这将相应更改,因此部署将失败。

有没有办法在 YAML 文件中使用通配符?根据我在 Stackoverflow 和网络上发现的情况,YAML 不支持通配符。在不操作 .travis.yml 文件本身的情况下,我找不到其他方法来执行此操作,我想避免这种情况。

版本字符串可在pom.xml.

当前.travis.yml:

language: java
jdk:
- openjdk7

deploy:
  provider: releases
  api_key:
    secure: asfdsdflkjsdflkj...
  file: target/helloci-1.0-SNAPSHOT.jar
  on:
    repo: ktk/helloci
    all_branches: true
    tags: true

我当然可以以某种方式编写脚本,但是 Travis CI 会更改它自己的配置文件,我不确定这 a) 是否有效,b) 是否是一个好主意。

我正在玩的回购协议:https://github.com/ktk/helloci https://github.com/ktk/helloci


解决方法是让 Maven 使用固定名称生成文件,这可以通过

<build>
    <finalName>helloci</finalName>
</build>

但是,如果您不是在 travis-ci 上构建,您可能希望按照 Maven 约定保留名称。您可以通过将以下内容添加到 pom 来实现此目的:

<properties>
    <finalName>${project.artifactId}-${project.version}</finalName>
</properties>
<build>
    <finalName>${finalName}</finalName>

并且路过-DfinalName=helloci执行maven时,将以下两行添加到您的.travis.yml file:

before_install: mvn install -DskipTests=true -DfinalName=helloci
install: mvn test

您可能还想将标签名称添加到生成的文件的名称中。这可以通过以下方式实现:

before_install: mvn install -DskipTests=true -DfinalName=helloci-$TRAVIS_TAG
deploy:
  file: target/helloci-$TRAVIS_TAG.jar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Travis CI 将 Maven 版本部署到 Github 的相关文章

  • 部署在github中的Jekyll显示index.html文件的原始文本

    我正在尝试使用来自的分叉存储库来部署 Jekyll 网站https github com cotes2020 jekyll theme chirpy https github com cotes2020 jekyll theme chirp
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo
  • Java Logger 未记录到 Netbeans 中的输出

    我正在 Netbeans 中使用 Maven 启动一个 Java 项目 我编写了一些代码来使用 Logger 类进行日志记录 但是 日志记录似乎不起作用 在程序开始时 我运行 Logger getLogger ProjectMainClas
  • PHP的部署工具

    大家好 我有一个 PHP 项目 我需要一个进行部署的工具 我找到了 Deployer 一个 PHP 的部署工具 您对此有何看法和经验 Regards Deployer 是一个不错的选择 它有简单的 api 有很多流行框架和应用程序的配方 并
  • 在 github 上下载 ZIP 时没有 .xcodeproj 文件

    我正在尝试将我的 GitHub 项目放入 Xcode 中 当我从 GitHub 下载时 zip 文件不包含任何 xcodeproj 文件 另外 即使我在 xcode 上登录 GitHub 克隆 下载时也没有 在 Xcode 中打开 选项 如
  • Maven 版本插件跳过更新检查

    当我尝试使用versions use releases我的发布存储库被标记为 已禁用 这意味着快照依赖项不会解析为发布 我不明白为什么存储库被认为是禁用的 以下是构建的简短调试输出 DEBUG f remoteArtifactReposit
  • 自动将所有 GitHub 存储库镜像到 gitlab

    对于 GitLab 必须手动为每个存储库设置拉 推镜像 我想知道那里有any way可以自动将所有 Github 存储库同步到 GitLab 这样 当您在 GitHub 中创建新的存储库时 GitLab 中的存储库将自动创建 并充当拉取镜像
  • 更改 Jenkins 云构建的 gradle 本地存储库缓存位置

    我需要更改存储库下载的保存位置 我无法使用用户主目录 因为我的构建是在云服务上运行的 该服务不保留此内容 这导致我的依赖项被一遍又一遍地下载 并消耗了大量的云存储时间 我正在使用 gradle 1 0 里程碑 5 我的构建文件具有以下存储库
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • maven 构建错误:创建阴影 jar 时出错(访问被拒绝)

    我尝试使用 Maven 制作 uberjar 时遇到以下错误 您知道可能发生什么情况吗 INFO ERROR BUILD ERROR INFO INFO Error creating shaded jar C Projects info b
  • 如何查看 Maven pom.xml 文件的传递依赖关系?

    有没有一个 CLI 工具可以用来快速查看 Maven 的传递依赖关系pom xml file 在 CLI 上 使用mvn dependency tree http maven apache org plugins maven depende
  • Composer 无法获取 github

    今天 我尝试通过运行来安装 Laravelcomposer create project laravel laravel 5 1 myproject prefer dist我收到此错误 Could not fetch https api g
  • 使当前提交成为 Git 存储库中唯一(初始)提交?

    我目前有一个本地 Git 存储库 我将其推送到 Github 存储库 本地存储库有约 10 次提交 Github 存储库是其同步副本 我想要做的是从本地 Git 存储库中删除所有版本历史记录 以便存储库的当前内容显示为唯一提交 因此存储库中
  • 无需访问 Internet 即可部署 Django 的简单方法?

    我拥有的是使用 Django 开发的 Intranet 站点的开发版本以及放置在 virtualenv 中的一些外部库 它运行良好 我可以在任何具有互联网连接的计算机上使用相同的参数 使用 pip 轻松设置 virtualenv 但是 不幸
  • 编译致命错误:目标版本无效:1.8 -> [帮助 1]

    与发布的问题类似的问题无效目标版本 1 7 https stackoverflow com questions 19891423 invalid target release 1 7但关注博客后我的问题仍然没有解决 无法在项目 hm app
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 如何保持 Subversion 和远程服务器(通过 FTP)同步?

    我们很难保持 Subversion 和 FTP 同步 有时我们忘记提交更改并只是将它们推送到 Web 服务器 我们的 svn 文件夹分散在整个 Web 服务器中 有些东西存在于一个地方而不存在于另一个地方 等等 今天我想花点时间解决这个问题
  • 部分共享git仓库

    我是 git 新手 我想知道是否支持以下场景 如果支持的话如何支持 即用于设置和更新的 git 命令 可以从三个不同的地方获取存储库 本地 镜像 和 github mirror 完全镜像 local github 镜像 local 但 受版
  • BRISK 特征检测器检测零个关键点

    下面显示的 Brisk 探测器没有给我任何关键点 有人可以提出一个问题吗 我将尝试用一些代码解释我在下面所做的事情 include opencv2 features2d features2d hpp using namespace cv u

随机推荐

  • 我错过了什么? HTML > 正文 - 调整大小事件

    添加调整大小事件 监听窗口大小更改 的常用方法是 works just fine window addEventListener resize function console log w true 但我想添加这个事件处理程序documen
  • Python 舍入问题

    我在 python 中遇到了一个非常奇怪的问题 使用Python 2 4 x 在窗口中 gt gt gt a 2292 5 gt gt gt print 0f a 2293 但在 Solaris 中 gt gt gt a 2292 5 gt
  • jquery AJAX请求不更新php变量

    我有一个漫画网站用棍棒打树 http HittingTreesWithSticks com 允许用户通过按下一个或简单地按箭头键来获取下一个 上一个或随机漫画 ID 由于图像存储在数据库中 因此我在客户端循环访问这些图像的唯一方法是将它们存
  • 列表元素与 pandas 列的关键字匹配

    我的元素列表如下 A loans s class veyron trump rihana drake election 我还有另一个 pandas 数据框B有柱子category and words这是逗号分隔的字符串 category w
  • 为什么 Module.method_define?(:method) 不能正常工作?

    我正在尝试检查模块中是否定义了方法Module method defined method 它返回 false 它应该返回 true module Something def self another 1 end end Something
  • 如何在 Chakra UI 元素中添加 ::-webkit-scrollbar 伪元素? (反应)

    我正在使用 Chakra UI 我需要使用 css 伪元素自定义滚动条样式 webkit scrollbar 但是 Chakra UI 没有看到这个伪元素 并且我不知道在哪里可以在不创建全局 css 类的情况下设置这个特定组件的样式 这是我
  • HTTP 与 HTTPS 性能

    http 和 https 之间的性能有什么重大差异吗 我似乎记得读到过 HTTPS 的速度是 HTTP 的五分之一 这对于当前一代网络服务器 浏览器有效吗 如果是的话 有任何白皮书支持吗 对此有一个非常简单的答案 分析您的 Web 服务器的
  • 如何从文本中提取命名实体+动词

    嗯 我的目标是从文本中提取 NE 人 和与其相关的动词 例如 我有这样的文字 邓布利多转身沿着街道走回去 哈利 波特在毯子里翻了个身 没有醒来 作为理想的结果我应该得到 邓布利多转身走了 哈利 波特卷起 我使用斯坦福 NER 来查找和标记人
  • Angular 5 与 Canvas drawImage 未显示

    尝试使用drawImage 将背景图像添加到画布 但它没有显示 我知道图像的路径是正确的 因为我可以 img src 那行得通 其他一切在 JavaScript 中都可以正常工作 但不能很好地转换为 Angular HTML
  • 使用 Jquery 删除 CSS 属性

    我发现的所有其他答案仅删除属性的设置 而不是完全删除属性 我正在将元素从绝对定位更改为固定定位 我需要删除 right 定位属性并将其替换为 margin right 以便该元素位于其父 DIV 内的右侧 如果没有删除 right 属性 该
  • 加盐和哈希,为什么不使用用户名?

    我必须承认我对大多数与 Web 应用程序相关的高科技安全问题一无所知 但我至少认为我可以问一件事 因为这是一个直接的问题 并且 希望 有具体的答案 以这个网站为例 http www 15seconds com issue 000217 ht
  • 如何在 macOS 上使用终端重新启动 android adb?

    我一直遇到 Android Studio ADB 无法识别我的设备的问题 到目前为止 我找到的唯一解决方案是完全重新启动整个计算机 但这是不切实际的 我希望能够从终端重新启动 ADB 因为我在这里看到了其他帖子 声称它将解决该问题 但是 我
  • 无法在 HTC One M8 Lollipop 上进行 systrace

    我正在尝试使用systrace来自 Android Studio 的默认设置systrace选项设置 我还没有root手机 HTC Sense v6 0 Android 5 0 1 HTC SDK API 级别 6 55 当我这样做时 我得
  • 如何在Java中生成随机JSON字符串?

    我想测试apache kafka的一个功能 所以我需要用Java生成随机JSON字符串 我的生产数据是JSON格式 我用谷歌搜索 找到了这些网站 如何生成随机字母数字字符串 https stackoverflow com questions
  • 根据滚动隐藏和显示工具栏

    这个问题仅涉及代号一 我需要使 Codename One Form 的工具栏移动 如该视频所示 https www informatica libera net videoLavoro hideShowToolbarOnScrolling
  • 排序日期和时间

    我正在尝试编写一个控制台应用程序来根据开始日期按升序对我的日期和时间进行排序 这是我正在尝试做的一个示例 我的输入 break Start1 15 02 12 12 30PM break End1 15 02 12 01 30PM brea
  • 如何利用 FileReader 的异步特性实现进度条和回调

    我在 for 循环中调用了 FileReader API 以迭代多个文件对象 我使用 FileReader 本质上显示图像的预览 function for var i in Files var fileReader new FileRead
  • 在 .NET 中,如何在不重新压缩 JPEG 的情况下编写 Exif 标头?

    我有一个JPEG http en wikipedia org wiki JPEG我想要设置的图像Exif http en wikipedia org wiki Exchangeable image file format标题 特别是作者 在
  • 限制Spring Boot中的Tomcat只能访问某些IP地址

    我需要将基于 Spring Boot 的应用程序的嵌入式 tomcat 限制为某些 IP 地址 我只想允许来自两个 IP 地址的传入连接 而不是全部 我知道如何在未运行嵌入式的 Tomcat 中执行此操作 但不知道在 Spring Boot
  • 使用 Travis CI 将 Maven 版本部署到 Github

    我成功地使用标签将 JAR 从 Maven 项目部署到了 Github 但是 当前配置假设 JAR 的文件名始终保持不变 但事实并非如此 当我发布新版本时 这将相应更改 因此部署将失败 有没有办法在 YAML 文件中使用通配符 根据我在 S