Github 发布操作 - 推送失败
Posted
技术标签:
【中文标题】Github 发布操作 - 推送失败【英文标题】:Github action on release - push fails 【发布时间】:2021-11-22 05:14:29 【问题描述】:我正在尝试使用 GitHub(发布)操作更新我的 Maven 项目中 pom.xml
中的版本,并使用 UI / 创建发布标签中提供的值。
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 checkout 会给我一个带有默认 (main
) 分支的本地 git repo,我提交然后推送(如果没有其他更改应该可以工作?)。另外,对于这个答案:https://***.com/a/58257219/461499,唯一的区别似乎是on
配置?
我做错了什么? (我应该怎么做呢?)
【问题讨论】:
【参考方案1】:默认情况下,checkout
操作将检查触发工作流的引用。
来自documentation:
签出触发工作流的存储库时,默认为该事件的引用或 SHA。
在您的情况下,事件是发布版本的创建,它不属于 Git 存储库。
如果你想签出一个特定的分支,你可以通过指定ref
option:
steps:
- name: Check out Git repository
uses: actions/checkout@v2
with:
ref: main
fetch-depth: '0'
【讨论】:
啊。谢谢!明确引用分支是解决方案:)以上是关于Github 发布操作 - 推送失败的主要内容,如果未能解决你的问题,请参考以下文章
GitHub 身份验证通过 https 失败,返回错误的电子邮件地址