我正在尝试更新pom中的版本。在我的maven项目中,使用GitHub(release)操作,使用UI/Create-release标记中提供的值。
name: Publish package to GitHub Repository
on:
release:
types: [created]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v2
with:
fetch-depth: '0'
- name: Install Java and Maven
uses: actions/setup-java@v1
with:
java-version: 11
- name: Update version in pom.xml (Release only)
run: mvn -B versions:set -DnewVersion=${{ github.event.release.tag_name }} -DgenerateBackupPoms=false
- name: Commit and push changes to pom.
run: |
git config --global user.name "GitHub Actions"
git config --global user.email "no-reply@example.com"
git add pom.xml
git commit -m "Bumped version to ${{ github.event.release.tag_name }}"
git push
- name: Deploy to Github Package Registry
env:
GITHUB_USERNAME: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: mvn --settings settings.xml --file pom.xml deploy
然而,我得到了一个错误:
Run git config --global user.name "GitHub Actions"
[detached HEAD 5ec5465] Bumped version to 1.0.4
1 file changed, 1 insertion(+), 1 deletion(-)
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use
git push origin HEAD:<name-of-remote-branch>
我真的不明白为什么会这样。我认为git签出会给我一个带有默认(main)分支的本地git回购,我向其提交,然后推送(如果没有其他更改,这应该可以工作?)。此外,根据这个答案:https://stackoverflow.com/a/58257219/461499,唯一的区别似乎是配置上的?
我做错了什么?(我应该做什么?)
默认情况下,签出操作将签出触发工作流的引用。
根据文件:
签出触发工作流的存储库时,默认为该事件的引用或SHA。
在您的情况下,事件是创建一个版本,它不是Git存储库的一部分。
如果要签出特定分支,可以通过指定ref选项来实现:
steps:
- name: Check out Git repository
uses: actions/checkout@v2
with:
ref: main
fetch-depth: '0'
我有一个Github repo项目,使用Github操作和一个docker文件来构建SpringBoot Java项目 我想从Github repo下载来自Github repo的定制工件包,并能够将工件上传到其中。 所以我按照配置Apache Maven用于GitHub包的链接,将该部分添加到settings.xml文件中: 为了从dockerfile构建中发布包,我在pom.xml中添加了以下
我将GitHub操作用于CI/CD,并从中编写了一些cypress测试和YAML文件。但是当我推存储库时,我得到了一个错误。 失败的错误 我如何解决这个问题。当我在本地运行cypress时,它工作正常。
在提交之前,我创建工作流来测试我的Python应用程序。问题是,如果测试失败,无论如何都会推送提交。如果测试不成功,我如何添加一个条件来避免推送? 下面是工作流文件. yml的结构。 `名称:Python应用程序on:push:branchs:[master]pull\u请求:branchs:[master] 工作:建造: 测试失败截图
在本文章教程中,我们将演示如何查看 Git 存储库的文件和提交文件记录,并对存储库中的文件作修改和提交。 注意:在开始学习本教程之前,先克隆一个存储库,有关如何克隆存储库,请参考: http://www.yiibai.com/git/git_clone_operation.html 在前面的文章中,都在要本地编写文件代码和提交,维护管制自己的文件版本,然后这种“自娱自乐”的方式,意义不是很大,在这
我想设置我的工作流程来执行以下操作: 在任何事件上(拉请求,在任何分支上推送) 结账码 构建项目 运行测试 为其他作业上传工件 从以前的工作下载工件 推送页面 从以前的工作下载工件 创建发行版 将工件上传到发行版 在我的中,指令适用于所有作业,因此在我的情况下不起作用。另一方面,仅在同一工作流中工作。 实现所述工作流程的正确方法是什么?
我想使用GitHub操作自动化我的构建过程,这个过程有以下步骤: 签出 构建 打包 标记 增量版本 提交更改 推送标记和新提交 将包推送到repo