我试图在藏匿处的两个分支之间获得差异.特别是在发送拉取请求之前,想要验证更改.
一直在阅读许多试图找出解决方案但尚未成功的文章.
以下是我研究过的文章:
有没有人有办法解决吗?
我有一个相当令人担忧的 git 问题。
几天前,当服务器 git 蓝屏时,我正在提交一些更改。(我们认为它实际上是由 git 引起的。)
从那以后,我无法向存储库提交任何更改,而其他人可以。当服务器崩溃时,我无法再提交对我正在提交的文件的更改,但是我可以提交对其他文件的更改。
我尝试创建一个新目录并克隆到其中。以及git stash, git pull --rebase, git stash apply.
无论如何,当我现在尝试提交服务器蓝屏时提交的文件时,服务器返回错误:
$ git push -v
Pushing to http://bjury1@server:7990/scm/project.get
Counting objects: 13, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 745 bytes | 0 bytes/s, done.
Total 7 (delta 6), reused 0 (delta 0)
POST git-receive-pack (881 bytes)
To http://bjury1@server:7990/scm/project.get
! [remote rejected] master -> master (missing necessary objects)
error: …Run Code Online (Sandbox Code Playgroud) 我在 git 分支上。有没有办法查看该分支是否有拉取请求?
在这种特殊情况下,Atlassian-Stash 用于管理拉取请求。当然我可以使用Stash的Web界面来搜索拉取请求;但我也可以仅使用 git 命令行工具从脚本执行此操作吗?
我试图看看我是否可以在评论员批准Pull-request之前在Bitbucket中执行调查问卷.我想要使用的示例问题是......
这些只是一些示例问题,其中一些当然可以在构建过程中或在Sonar等中使用各种插件进行监控,但总有一些事情我们没有直接的自动化方法,就像上面的第一个示例问题一样.因此,在他们可以实现自动化之前,我至少要确保在提出请求之前解决这些问题.
问题:有没有人想到类似的情况,并在Bitbucket或使用任何插件直接找到任何支持?我的快速谷歌搜索没有产生任何有用的结果
我使用工作站开发和两个遥控器来存储:本地(LAN)git服务器[origin]和托管(例如bitbucket/github)git服务器[云]进行额外备份.
我目前正在使用git lfs来跟踪png文件,我的可用在线存储空间已经用完.作为解决方案,我想将png文件专门存储在origin远程.为此,我尝试将我的云端点的lfsurl配置为与原点相同.这样,我希望将png推送到git端点会导致图像进入同一位置(并在云端推送中被忽略?).
对于给定的repo,这里是我的git配置文件的示例:
的.git /配置
[remote"origin"]
url = ssh://git@git.myserver.com:7999/project/repo-data.git
[remote"cloud"]
url = git@bitbucket.org:user/repo-data.git
.lfsconfig
[remote"cloud"]
lfsurl = https://git.myserver.com/project/repo-data.git/info/lfs
git lfs env的输出
$ git lfs env
Endpoint=https://git.myserver.com/project/repo-data.git/info/lfs (auth=none)
Endpoint (cloud)=https://git.myserver.com/project/repo-data.git/info/lfs (auth=none)
Run Code Online (Sandbox Code Playgroud)
上面的配置是有效的,因为图像被推送到git lfs.不幸的是,图像继续被推送到两个遥控器(原点+云).我希望云上的指针文件是远程的,但没有png.
我怀疑我的lfsurl不正确,git lfs正在回落到每个遥控器的默认网址,但我看不到任何错误或警告.是否有工具/日志进行故障排除?
如何将多个遥控器的git lfs流量引导到单个端点?
谢谢.
我们看到Jenkins multibranch管道项目触发了重复构建.构建通常使用来自Bitbucket的推送通知使用此插件触发:https://marketplace.atlassian.com/plugins/com.nerdwin15.stash-stash-webhook-jenkins/server/overview
但是,由于某种原因,我们现在看到"双重"构建.如果查看触发的2个构建,一个由"提交通知"触发,另一个由"分支索引"触发.
是什么导致分支索引,为什么它会触发构建?我们不是添加或删除分支,它只是一个正常的提交/推送.
为了使它更复杂,它不会一直发生.有一次,我认为这只是在合并之后才发生,但事实并非如此.另外,阻止它的一种方法似乎是删除作业的构建历史(这显然不是理想的).
我们在管道脚本中设置作业属性,但仅丢弃旧构建:
properties([buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', numToKeepStr: '20'))])
Run Code Online (Sandbox Code Playgroud)
混淆的另一个原因似乎是,如果一个人应该启用轮询(没有间隔),以便推送通知适用于Git插件.Git插件的文档表明这是必需的,实际上似乎是"普通"管道构建,但似乎不需要多分支管道构建. 它是否正确? 来自Jenkins Git插件维基:
这将扫描以下所有作业:
具有构建触发器>已启用轮询SCM.不需要投票时间表.配置为在指定的URL上构建存储库配置为构建可选指定的分支或提交ID对于满足这些条件的作业,将立即触发轮询.如果轮询发现值得构建的更改,则会依次触发构建.
我们正在使用Bitbucket 4.8.4和Jenkins 2.30(以及所有最新的管道插件).
我们看到 Jenkins 多分支管道的多个构建由 Bitbucket 中的相同合并提交触发。
一个构建被标记为触发:“Branch event at”
另一个由:“提交通知”
我们在插件中设置了 Jenkins 网址
Bitbucket 服务器 Webhook 到 Jenkins
并在 Jenkinsfile 设置中有一个我们的触发器,如下所示:
triggers {
pollSCM ""
cron "H 0 * * *"
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,似乎有几个老问题没有具体的答案。
我正在使用带有 bitbucket 的 Jenkins 多分支管道,我看到一个问题,即为 PR 创建的自动构建失败,因为我依赖 env.BRANCH_NAME。问题是这个 env 现在没有按预期保存功能分支名称,而是保存 PR 是(例如 PR-2 而不是功能/测试分支)。
我的工作中有代码根据 BRANCH_NAME 推送到分支。这段代码现在显然失败了,因为没有名为 PR-2 的分支。
有没有人以前看过这个并且有解决方法?
昨天,当我尝试将提交提交回购时,我开始收到错误,该如何解决?我不是这个仓库的管理员。
remote: You can only push your own commits in this repository
remote: Commit commitName was committed by <myName> <my@users.noreply.github.com>
To ssh://bitbucket.awg.ru/repo
! [remote rejected] branchName -> branchName (pre-receive hook declined)
error: failed to push some refs to 'ssh://git@bitbucket.awg.ru/repo'
Run Code Online (Sandbox Code Playgroud)
谢谢大家,问题解决了。问题出在Bitbucket方面,管理员更改了一些选项。现在一切正常。
似乎是一个基本问题,但到目前为止找不到任何答案..
在Dockerfile中使用ADD / COPY并在linux上运行镜像时,镜像中复制的文件的默认文件权限是644。这个文件的所有者似乎是'root'
但是,在运行映像时,非 root 用户启动容器,因此以 644 权限复制的任何文件都无法执行此复制/添加的文件,并且如果该文件在 ENTRYPOINT 处执行,则它无法启动并出现权限被拒绝错误。
我在其中一篇文章中读到 Docker 1.17.0+ 之后的 COPY/ADD 允许 chown 但在我的情况下,我不知道谁将成为非 root 用户,因此我无法将权限设置为该用户。
我还看到了另一种将文件添加/复制到不同位置并使用 RUN 将它们从临时位置复制到实际文件夹的方法,如下所示。但是这种方法不起作用,因为最终图像在 /otp/scm 中没有文件
#Installing Bitbucket and setting variables
WORKDIR /tmp
ADD atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz .
COPY bbconfigupdater.sh .
#Copying Entrypoint script which will get executed when container starts
WORKDIR /tmp
COPY entrypoint.sh .
RUN ls -lrth /tmp
WORKDIR /opt/scm
RUN pwd && cp /tmp/bbconfigupdater.sh /opt/scm \
&& cp /tmp/entrypoint.sh /opt/scm \
&& cp -r /tmp/atlassian-bitbucket-${BITBUCKET_VERSION} /opt/scm \
&& chgrp …Run Code Online (Sandbox Code Playgroud) bitbucket-server ×10
git ×7
bitbucket ×4
jenkins ×3
pull-request ×2
commit ×1
containers ×1
diff ×1
docker ×1
dockerfile ×1
git-branch ×1
git-lfs ×1